Linux中级之keepalived配置

hacmp:
ibm的高可用集群软件,并且是商业的(收费),一般用于非x86架构机器当中
AIX,Unix
去IOE:ibm,oracle,emc
keepalived:
一款高可用集群软件,利用vrrp协议实现vip地址的漂移;
  keepalived+lvs
  keepalived+nginx
  keepalived+haproxy
配置文件主要分为三类分别是:
(1)全局配置
(2)VRRP配置
(3)LVS配置

keepalived配置

 1 vrrp部分
 2 vim /etc/keepalived/keepalived.conf
 3 ! Configuration File for keepalived
 4 #全局配置
 5 global_defs {
 6    notification_email {
 7         #收件人地址
 8    }
 9         #邮件服务器
10 }
11 #VRRP配置DS1
12 vrrp_instance VI_1 {
13     state MASTER                    #角色类型MASTER|BACKUP
14     interface ens33                 #网卡名称
15     virtual_router_id 51            #虚拟路由id(需要与BACKUP一致)
16     priority 100                    #优先级
17     advert_int 1                    #没1秒检查一次
18     #nopreempt                      #非抢占模式,默认为抢占模式
19     authentication {
20         auth_type PASS              #认证类型  主备之间必须一样
21         auth_pass 1111              #认证密码  主备之间必须一样
22     }
23     virtual_ipaddress {
24         192.168.11.100              #虚拟ip(vip)
25     }
26 }

 1 #利用脚本实现httpd服务的高可用
 2 vrrp_script chk_httpd {
 3     script "/root/sh/check_httpd.sh"
 4     interval 2
 5 }
 6 
 7 vrrp_instance VI_1 {
 8     state MASTER  
 9     interface ens33
10     virtual_router_id 11
11     priority 100
12     advert_int 1
13     authentication {
14         auth_type PASS
15         auth_pass 1111
16     }
17     virtual_ipaddress {
18         192.168.11.100/24
19     }
20     track_script {
21         chk_httpd
22     }
23     notify_master "/root/notify.sh master"
24     notify_backup "/root/notify.sh backup"
25     notify_fault "/root/notify.sh fault"
26 }
27 
28 vrrp_instance VI_2 {
29     state MASTER
30     interface ens33
31     virtual_router_id 22
32     priority 100
33     advert_int 1
34     authentication {
35         auth_type PASS
36         auth_pass 2222
37     }
38     virtual_ipaddress {
39         192.168.11.200/24
40     }
41 }
1 #check_httpd.sh内容:
2 #!/bin/bash
3 service httpd status
4 if [[ $? -eq 0 ]];then
5     echo 'httpd is up...'
6 else
7     pkill keepalived  #或者service keepalived stop
8 fi
#shell发送邮件的内容
#!/bin/bash
contact='[email protected]'
notify() {
    mailsubject="$HOSTNAME to be $1, vip转移"
    mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
    echo "$mailbody" | mail -s "$mailsubject" $contact
}
case $1 in
master)
    notify master
    ;;
backup)
    notify backup
    ;;
fault)
    notify fault
    ;;
*)
    echo "Usage: $(basename $0) {master|backup|fault}"
    exit 1
    ;;
esac
 1 #配置邮件服务器
 2 yum install -y mailx
 3 vim /etc/mail.rc
 4 在后面增加:
 5     set from=2367880638@qq.com
 6     set smtp=smtp.qq.com
 7     set smtp-auth-user=2367880638@qq.com
 8     set smtp-auth-password=jrhncbzpcthoecdd
 9     set smtp-auth=login
10 
11     set from:设置发件人
12     set smtp:设置外部STMP服务器
13     set smtp-auth-user:设置STMP用户名(一般为完整邮箱地址)
14     set smtp-auth-password:设置SMTP密码

lvs部分:
#LVS配置
virtual_server 192.168.11.100 80 {    
    delay_loop 3                    #健康检查时间间隔
    lb_algo rr                        #负载均衡调度算法  
    lb_kind DR                        #负载均衡转发规则 
    protocol TCP                    #协议

    real_server 192.168.11.11 80 {    #要监控的real_server的ip和端口号
            weight 1                 #权重
        TCP_CHECK {                    #基于tcp协议的检查
            connect_timeout 3          #连接时间超时
            retry 3                    #重连次数
            delay_before_retry 3    #重连间隔时间
        }
    }
    real_server 192.168.11.12 80 {    #要监控的real_server的ip和端口号
            weight 1                 #权重
        TCP_CHECK {                    #基于tcp协议的检查
            connect_timeout 3          #连接时间超时
            retry 3                    #重连次数
            delay_before_retry 3    #重连间隔时间
        }
    }
}

#在回环地址的子网口上配置服务ip(vip)

ifconfig lo:0 192.168.11.100 broadcast 192.168.11.100 netmask 255.255.255.255 up

#添加路由

route add -host 192.168.11.100 dev lo:0

echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

猜你喜欢

转载自www.cnblogs.com/renyz/p/11396172.html