标签:ali star 一个 执行命令 nopreempt shel 80端口 not vip
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { # 设置接收邮件报警的地址,即指明邮件的接收人 notification_email { 425531910@qq.com } # 设置通知邮件从哪个地址发出,即指明邮件的发件人 notification_email_from yj_dtf@163.com # 通知邮件的SMTP地址 smtp_server 192.168.200.1 # 连接SMTP服务器的超时时间 smtp_connect_timeout 30 # 标识本节点的字条串,通常为hostname,但不一定非得是hostname。故障发生时,邮件通知会用到 router_id LVS_DEVEL } # 用来做健康检查的,当检查失败时会将vrrp_instance的priority减少响应的值 vrrp_script chk_http_port { # 调用shell命令或脚本(ss命令实现功能类似netstat,但是效率更高,该命令检测80端口状态,命令执行成功返回0,失败返回1) script "/sbin/ss -4lnt|grep -q ‘:80 ‘ ; exit $?" # 定义执行命令或脚本的时间间隔,单位秒 interval 2 # 定义检测失败的最大次数,如设置为2表示当请求失败两次时就认为节点资源故障 fall 3 # 定义请求成功的次数,如设置为1表示当进行一次请求成功后就人为节点资源恢复正常 rise 3 } # 用来定义对外提供服务的VIP区域及其相关属性 vrrp_instance VI_1 { # 监听的实际网口 interface eth0 # 如果不指定master或backup,那priority最高的就是master,非抢占模式要求都为backup state BACKUP ## master high priority and enable ‘nopreempt‘ # 权重为100,如果是两个节点的话,其中一个节点的优先级必须要高于另外一个节点的优先级,master的权重设置为100,backup的权重设置为50 priority 100 # 当master挂掉,backup接替原来的master作为master后,如果原master恢复正常,因为设置了nopreempt,原来的backup不会自动切换回backup状态,而是继续作为master nopreempt # 组播ID virtual_router_id 60 # 发送组播包的间隔时间,默认为1秒 advert_int 1 # 验证类型为PASS(明文),密码为980。验证类型也可以选择IPSEC,但是官方是不推荐的 authentication { auth_type PASS auth_pass 980 } # 调用vrrp_script使之生效 track_script { chk_http_port } # VIP virtual_ipaddress { 192.168.6.150 label eth0:vip } ## NO switch script: notify_master / notify_backup / notify_stop... # 当当前节点成为master时,通知脚本执行任务(一般用于启动某服务,比如nginx,haproxy等) #notify_master "/home/work/haproxy/load.sh restart" # 当当前节点成为backup时,通知脚本执行任务(一般用于关闭某服务,比如nginx,haproxy等) #notify_backup "/home/work/haproxy/load.sh restart" }
标签:ali star 一个 执行命令 nopreempt shel 80端口 not vip
原文地址:https://www.cnblogs.com/tengfei520/p/11457948.html