首页 > 数据库 > 数据库开发技术 > 高可用自动化部署脚本
先放个链接,万一有人关注呢
↓ ↓ ↓ ↓ ↓
# 定义变量vip=192.168.1.100 # 虚拟IP地址interface=eth0 # 网卡接口state=MASTER # 集群状态,MASTER或BACKUPpriority=100 # 优先级,越大越优先check_interval=2 # 检测间隔,单位秒notify_script=/etc/keepalived/notify.sh # 通知脚本# 检查是否为root用户if [ $(id -u) -ne 0 ]; thenecho "请使用root用户运行此脚本"exit 1fi# 安装keepalived软件包yum install -y keepalived# 配置keepalived.conf文件cat > /etc/keepalived/keepalived.conf << EOFglobal_defs {router_id LVS_DEVEL}vrrp_instance VI_1 {state $stateinterface $interfacevirtual_router_id 51priority $priorityadvert_int $check_intervalauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {$vip}notify $notify_script}EOF# 配置notify.sh文件,用于发送邮件通知故障转移情况cat > /etc/keepalived/notify.sh << EOFTYPE=\$1NAME=\$2STATE=\$3case \$STATE in"MASTER") echo "The server is MASTER" | mail -s "State changed to MASTER" admin@example.com;;"BACKUP") echo "The server is BACKUP" | mail -s "State changed to BACKUP" admin@example.com;;"FAULT") echo "The server is FAULT" | mail -s "State changed to FAULT" admin@example.com;;*) echo "Unknown state";;esacEOF# 设置notify.sh文件的执行权限chmod +x /etc/keepalived/notify.sh# 启动keepalived服务并设置开机自启动service keepalived startchkconfig keepalived on# 显示keepalived状态service keepalived status
这个脚本实现了以下功能:
定义了一些变量,如虚拟IP地址,网卡接口,集群状态,优先级,检测间隔,通知脚本等,方便后续使用。
检查是否为root用户,因为keepalived需要root权限才能运行。
安装keepalived软件包,这是一个用于实现高可用集群的工具。
配置keepalived.conf文件,这是用于定义虚拟路由器和虚拟IP地址的文件。
配置notify.sh文件,这是用于发送邮件通知故障转移情况的脚本。
设置notify.sh文件的执行权限,让它可以被keepalived调用。
启动keepalived服务并设置开机自启动,这是用于让高可用集群生效和持久化的。
显示keepalived状态,这是用于查看和验证集群是否正常运行的。
如有不足之处,欢迎指正!
谢谢你这么好看还关注我

原文作者:运维book思议;如有侵权,请联系管理员删除。