keepalived环境准备
1.各节点时间必须同步
2.关闭selinux和防火墙
[root@localhost keepalived1]#yum install ipvsadm keepalived -y #安装软件主机1
[root@localhost keepalived1]# cat keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1 #SMTP邮件服务
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_iptables #启用参数不生成防火墙规则
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VIP1 {
state MASTER #主服务器
interface ens192 #网卡接口
virtual_router_id 51 #路由id
priority 100 #优先级
advert_int 1 #检测时间1s
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.16.116.99 dev ens192 label ens192:0 #vip设置
}
}
[root@localhost keepalived2]# yum install ipvsadm keepalived -y #安装主机2
[root@localhost keepalived]# cat keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_iptables #启用参数不生成防火墙规则
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VIP1 {
state BACKUP #备用模式
interface ens192
virtual_router_id 51 #路由id
priority 90 #优先级90
advert_int 1 #检测时间1s
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.16.116.99 dev ens192 label ens192:0
}
}
#注意配置完成后验证配置信息
#systemctl stop keepalived #停服务,确认两台主机之间vip会发生漂移吗?
#ip add
[root@localhost keepalived]# ip add #确认vip信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:95:c0:20 brd ff:ff:ff:ff:ff:ff
inet 172.16.116.91/24 brd 172.16.116.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet 172.16.116.99/32 scope global ens192:0
valid_lft forever preferred_lft forever
inet6 fe80::8f54:3d46:7596:9ff2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost2 ~]# tail -f /var/log/messages #查看日志信息,确认
Jan 17 22:21:28 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:21:28 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:21:28 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:21:28 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:22:12 localhost systemd-logind: New session 13 of user root.
Jan 17 22:22:12 localhost systemd: Started Session 13 of user root.
Jan 17 22:22:34 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Received advert with higher priority 100, ours 90
Jan 17 22:22:34 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Entering BACKUP STATE
Jan 17 22:22:34 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) removing protocol VIPs.
Jan 17 22:22:34 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) removing protocol iptable drop rule
Jan 17 22:23:06 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Transition to MASTER STATE
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Entering MASTER STATE
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) setting protocol iptable drop rule
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) setting protocol VIPs.
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Sending/queueing gratuitous ARPs on ens192 for 172.16.116.99
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:07 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:12 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:12 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Sending/queueing gratuitous ARPs on ens192 for 172.16.116.99
Jan 17 22:23:12 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:12 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:12 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:23:12 localhost Keepalived_vrrp[30326]: Sending gratuitous ARP on ens192 for 172.16.116.99
Jan 17 22:24:04 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Received advert with higher priority 100, ours 90
Jan 17 22:24:04 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) Entering BACKUP STATE
Jan 17 22:24:04 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) removing protocol VIPs.
Jan 17 22:24:04 localhost Keepalived_vrrp[30326]: VRRP_Instance(VIP1) removing protocol iptable drop rule
#root@localhost keepalived]# iptables -nvL INPUT #如果生成iptables规则,需要删除它
Chain INPUT (policy ACCEPT 822 packets, 59631 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set keepalived dst
[root@localhost keepalived]# iptables -t filter -D INPUT 5 #删除生成INPUT规则 ,不然到vip的所有包都会丢掉
[root@localhost keepalived]# iptables -nvL INPUT
Chain INPUT (policy ACCEPT 6 packets, 396 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67