一键完成keepalived离线安装部署

张开发
2026/6/26 11:18:22 15 分钟阅读
一键完成keepalived离线安装部署
#!/bin/bash# 麒麟V10 Keepalived 完全离线一键安装脚本# 依赖包/opt/keepalived-deps.tar.gz# 源码包/opt/keepalived-2.3.4.tar.gzset-e# 颜色GREEN\033[32mRED\033[31mNC\033[0mecho-e${GREEN}${NC}echo-e${GREEN}Keepalived 完全离线一键安装脚本(麒麟V10)${NC}echo-e${GREEN}${NC}# 1. 检查文件是否存在cd/optif[!-fkeepalived-deps.tar.gz];thenecho-e${RED}错误/opt/keepalived-deps.tar.gz 不存在${NC}exit1fiif[!-fkeepalived-2.3.4.tar.gz];thenecho-e${RED}错误/opt/keepalived-2.3.4.tar.gz 不存在${NC}exit1fi# 2. 解压并安装离线依赖echo-e\n${GREEN} 解压依赖包...${NC}tar-xfkeepalived-deps.tar.gz-C/opt/echo-e\n${GREEN} 安装所有依赖 RPM...${NC}cd/opt/keepalived-depsrpm-ivh*.rpm--nodeps--force# 3. 解压并编译 keepalivedecho-e\n${GREEN} 解压 keepalived 源码...${NC}cd/opttar-xfkeepalived-2.3.4.tar.gz-C/usr/local/src/cd/usr/local/src/keepalived-2.3.4/echo-e\n${GREEN} 配置编译...${NC}./configure\--prefix/usr/local/keepalived\--sysconfdir/etc/keepalived\--with-initsystemdecho-e\n${GREEN} 编译安装...${NC}make-j$(nproc)makeinstall# 4. 创建命令软链接ln-sf/usr/local/keepalived/sbin/keepalived /usr/sbin/# 5. 自动获取网卡ETH$(iproute get1.2.3.4|awk{print $5}|head-1)if[-z$ETH];thenETHens33fi# 6. 生成配置文件自动网卡mkdir-p/etc/keepalivedcat/etc/keepalived/keepalived.confEOF global_defs { router_id node1 } vrrp_instance VI_1 { state MASTER interface$ETHvirtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 111111 } virtual_ipaddress { 192.168.1.100/24 } } EOF# 7. 配置 systemd 服务cat/usr/lib/systemd/system/keepalived.serviceEOF [Unit] DescriptionKeepalived Afternetwork.target [Service] Typeforking PIDFile/run/keepalived.pid ExecStart/usr/local/keepalived/sbin/keepalived -D -f /etc/keepalived/keepalived.conf ExecReload/bin/kill -HUP $MAINPID Restarton-failure [Install] WantedBymulti-user.target EOF# 8. 系统优化必做setenforce0sed-is/^SELINUXenforcing/SELINUXdisabled//etc/selinux/configifcommand-vfirewall-cmd/dev/null;thenfirewall-cmd --add-protocolvrrp--permanentfirewall-cmd--reloadfi# 9. 启动服务systemctl daemon-reload systemctlenablekeepalived systemctl restart keepalived# 10. 结果echo-e\n${GREEN}${NC}echo-e${GREEN}✅ Keepalived 离线安装完成${NC}echo-e${GREEN}✅ 状态$(systemctl is-active keepalived)${NC}echo-e${GREEN}✅ 网卡$ETH${NC}echo-e${GREEN}✅ 配置文件/etc/keepalived/keepalived.conf${NC}echo-e${GREEN}${NC}systemctl status keepalived

更多文章