keepalived:vrrp协议 主备模型
第一步配置出始环境: 准备两节点: 主节点:172.18.57.7 long1 备节点:172.18.57.8 long2 (1) 各节点时间必须同步; 同步时间: ~]# yum -y install chrony ~]# vim /etc/chrony.conf ~]# systemctl start chronyd ~]# chronyc sources ~]# chronyc sourcestats (2) 确保iptables及selinux不会成为阻碍; 清空防火墙: ~]# iptables -F 关闭SELinux ~]# setenforce 0 清空规则: ~]# ipvsadm -C 重新启动网络: ~]#systemctl restart network (3) 各节点之间可通过主机名互相通信(对KA并非必须); 修改域名解析使用/etc/hosts文件实现; ~]#vim /etc/hosts 172.18.57.7 long1 172.18.57.8 long2
第二步:keepalived安装 long1 ~]#yum -y install keepalived long2 ~]#yum -y install keepalived
第三步:修改配置文件 long1 ~]# cp /etc/keepalived/keepalived.conf{,.bak} long1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id long1 vrrp_mcast_group4 224.0.101.57 } vrrp_instance myr { state MASTER interface ens33 virtual_router_id 57 priority 100 advert_int 1 authentication { auth_type PASS auth_pass dAcLuTSt } virtual_ipaddress { 172.18.57.57/16 dev ens33 } } [root@long1 ~]# scp /etc/keepalived/keepalived.conf long2:/etc/keepalived/ [root@long2 ~]#vim /etc/keepalived/keepalived.conf router_id long2 state BACKUP priority 98
第四步:启动服务 先启动备节点: [root@long2 ~]#systemctl start keepalived.service [root@long2 ~]#systemctl status keepalived.service [29820]: Using LinkWatch kernel netlink reflector... [29820]: VRRP_Instance(myr) Entering BACKUP STATE [29820]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)] [29820]: Started LVS and VRRP High Availability Monitor. [29820]: VRRP_Instance(myr) Transition to MASTER STATE [29820]: VRRP_Instance(myr) Entering MASTER STATE [29820]: VRRP_Instance(myr) setting protocol VIPs. [29820]: VRRP_Instance(myr) Sending gratuitous ARPs on ens33 for 172.18.57.57 [29820]: Netlink reflector reports IP 172.18.57.57 added [29820]: VRRP_Instance(myr) Sending gratuitous ARPs on ens33 for 172.18.57.57 [root@long2 ~]#ip a inet 172.18.57.57/16 scope global secondary ens33 启用主节点: [root@long1 ~]#systemctl start keepalived.service [root@long1 ~]#systemctl status keepalived.service [15994]: VRRP_Instance(myr) Entering MASTER STATE [15994]: VRRP_Instance(myr) setting protocol VIPs. [15994]: VRRP_Instance(myr) Sending gratuitous ARPs on ens33 for 172.18.57.57 [15993]: Netlink reflector reports IP 172.18.57.57 added [15994]: VRRP_Instance(myr) Sending gratuitous ARPs on ens33 for 172.18.57.57 [root@long1 ~]#ip a inet 172.18.57.57/16 scope global secondary ens33 [root@long2 ~]#systemctl status keepalived.service [29820]: VRRP_Instance(myr) Received higher prio advert [29820]: VRRP_Instance(myr) Entering BACKUP STATE [29820]: VRRP_Instance(myr) removing protocol VIPs. [29819]: Netlink reflector reports IP 172.18.57.57 removed [root@long2 ~]#ip a 无地址 [root@long1 ~]# tcpdump -i ens33 host 224.0.101.57 00:35:51.123982 IP long1 > 224.0.101.57: VRRPv2, Advertisement, vrid 57, prio 100, authtype simple, intvl 1s, length 20 [root@long2 ~]#tcpdump -i ens33 -nn host 224.0.101.57 00:39:26.811819 IP 172.18.57.7 > 224.0.101.57: VRRPv2, Advertisement, vrid 57, prio 100, authtype simple, intvl 1s, length 20
原创文章,作者:CL80516000,如若转载,请注明出处:http://www.178linux.com/75752