準備3臺主機linux
server | hostname | ip |
---|---|---|
keepalived | s1 | 172.20.27.10 |
keepalived | s2 | 172.20.27.11 |
keepalived | s3 | 172.20.27.12 |
1.修改配置文件vim
[root@s1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@mylinuxops.com } notification_email_from root@mylinuxops.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id s1.mylinuxops.com vrrp_skip_check_adv_addr #vrrp_strict vrrp_iptables #須要關閉讓keepalived產生iptables規則 vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state Master interface ens33 virtual_router_id 27 priority 100 #須要注意各個節點的優先級,當主機點掛了以後,其他的節點會根據,優先級的高低選舉出,新的主機點。 advert_int 2 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 172.20.27.10 unicast_peer { 172.20.27.11 #單播配置時須要將全部的節點都加入 172.20.27.12 } virtual_ipaddress { 172.20.27.100 dev ens33 label ens33:0 } }
2.啓動服務bash
[root@s1 ~]# systemctl start keepalived
1.修改配置文件ide
[root@s2 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@mylinuxops.com } notification_email_from root@mylinuxops.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id s2.mylinuxops.com vrrp_skip_check_adv_addr #vrrp_strict vrrp_iptables vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 27 priority 80 advert_int 2 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 172.20.27.11 unicast_peer { 172.20.27.10 172.20.27.12 } virtual_ipaddress { 172.20.27.100 dev ens33 label ens33:0 } }
2.啓動服務oop
[root@s2 ~]# systemctl start keepalived
1.修改配置文件測試
[root@s3 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@mylinuxops.com } notification_email_from root@mylinuxops.com smtp_server 172.0.0.1 smtp_connect_timeout 30 router_id s3.mylinuxops.com vrrp_skip_check_adv_addr #vrrp_strict vrrp_iptables vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 27 priority 50 advert_int 2 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 172.20.27.12 unicast_peer { 172.20.27.10 172.20.27.11 } virtual_ipaddress { 172.20.27.100 dev ens33 label ens33:0 } }
2.啓動服務code
[root@s3 ~]# systemctl start keepalived
查看當前VIP所在主機router
[root@s1 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.27.10 netmask 255.255.0.0 broadcast 172.20.255.255 inet6 fe80::20c:29ff:fec5:123c prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c5:12:3c txqueuelen 1000 (Ethernet) RX packets 283462 bytes 22421914 (21.3 MiB) RX errors 0 dropped 12 overruns 0 frame 0 TX packets 50515 bytes 9459257 (9.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.27.100 netmask 255.255.255.255 broadcast 0.0.0.0 ether 00:0c:29:c5:12:3c txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 2 bytes 140 (140.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 140 (140.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vip在s1主機上,當s1節點掛了以後,因爲s2節點的優先級高於s3,因此s2得到了vipserver
[root@s2 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.27.11 netmask 255.255.0.0 broadcast 172.20.255.255 inet6 fe80::20c:29ff:fe4d:1ce3 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4d:1c:e3 txqueuelen 1000 (Ethernet) RX packets 271011 bytes 21681786 (20.6 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16217 bytes 1380138 (1.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.27.100 netmask 255.255.255.255 broadcast 0.0.0.0 ether 00:0c:29:4d:1c:e3 txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 6 bytes 482 (482.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6 bytes 482 (482.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
當s2節點也掛了以後,s3節點得到vipip
[root@s3 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.27.12 netmask 255.255.0.0 broadcast 172.20.255.255 inet6 fe80::20c:29ff:fe99:608a prefixlen 64 scopeid 0x20<link> ether 00:0c:29:99:60:8a txqueuelen 1000 (Ethernet) RX packets 20519 bytes 1491603 (1.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1775 bytes 215565 (210.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.27.100 netmask 255.255.255.255 broadcast 0.0.0.0 ether 00:0c:29:99:60:8a txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 106 bytes 8744 (8.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 106 bytes 8744 (8.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0