1.使用yum安装keepalived
[root@centos803 ~]# yum -y install keepalived
2.开启服务
[root@centos803 ~]# systemctl enable --now keepalived
3.查看keepalived的所有相关文件
[root@centos803 ~]# rpm -ql keepalived
4.查看service文件
[root@centos803 ~]# vim /usr/lib/systemd/system/keepalived.service
5.查看有没有生成虚拟IP和iptables规则
[root@centos803 ~]# ip a
[root@centos803 ~]# iptables -vnL
6.复制一个备份文件
[root@centos803 ~]# cp /etc/keepalived/keepalived.conf{,.bak}
7.修改配置文件
[root@centos803 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
# acassen@firewall.loc
2196568650@qq.com
# sysadmin@firewall.loc
}
notification_email_from 17852516051@163.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id centos803
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
include /etc/keepalived/conf.d/*.conf
#需要创建说需要的目录及文件,来创建子配置文件来存放vrrp_instance
8.创建子配置文件,因为生产环境中会有许多机器加入,也方便管理
[root@centos803 ~]# mkdir /etc/keepalived/conf.d
9.创建并修改子配置文件
[root@centos803 ~]# vim /etc/keepalived/conf.d/m44.conf
vrrp_instance m44 { #可以将名字修改一下改成自己想要的名字
state MASTER
interface eth0
virtual_router_id 66
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
10.0.0.10/24 dev eth0 label eth0:1
}
}
10.另一台备用节点,进行安装keepalived
[root@centos8 ~]# yum -y install keepalived
11.创建子配置文件
[root@centos8 ~]# mkdir /etc/keepalived/conf.d
12.将子配置文件拷贝到另一台机器
[root@centos8 ~]# scp /etc/keepalived/conf.d/m44.conf 10.0.0.16:/etc/keepalived/conf.d/
vrrp_instance m44 { #可以将名字修改一下改成自己想要的名字
state BACKUP
interface eth0
virtual_router_id 66
priority 80
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
10.0.0.10/24 dev eth0 label eth0:1
}
}
13.将主配置文件拷贝到另一台机器
[root@centos8 ~]# scp /etc/keepalived/keepalived.conf 10.0.0.16:/etc/keepalived/
global_defs {
notification_email_from 17852516051@163.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id centos8
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
include /etc/keepalived/conf.d/*.conf
14.检查服务,然后进行重启(两台主节点都要去查看)
[root@centos803 ~]# systemctl restart keepalived
15. 进行检测看是否可以实现vip跳转 #默认组播IP地址:224.0.0.18
[root@centos803 ~]# tcpdump -i eth0 -nn host 224.0.0.18
09:38:20.782951 IP 10.0.0.15 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 100,
authtype simple, intvl 1s, length 20
16.停止主节点 客户机进行查看
[root@centos803 conf.d]# systemctl stop keepalived.service
09:38:25.139990 IP 10.0.0.16 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 80,
authtype simple, intvl 1s, length 20
17.开启主节点 (默认是抢占模式,主节点开启后会立马抢回VIP)
[root@centos803 conf.d]# systemctl start keepalived.service
09:38:38.800809 IP 10.0.0.15 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 100,
authtype simple, intvl 1s, length 20
18.观察此模式的方法 扩展
ip a
arp -n
tcpdump -i eth0 -nn host 224.0.0.18
扩展知识
19. 更改模式成非抢占模式
vip模式下:vrrp_instance
主节点 添加:nopreempt 修改: MASTER为BACKUP
从节点 添加:nopreempt
关闭主节点,vip会到从节点,开启主节点vip不会被抢去,当从节点挂掉后主机点将会抢回vip
20.修改为抢占延迟模式
vip模式下:vrrp_instance
主节点上添加:preempt_delay 60 #以秒为单位
主节点和从节点都为:BACKUP
注意主节点的优先级比较搞,从节点比较低
21.自定义多播地址
全局模式下:global_defs
指定组播IP地址范围:224.0.0.0到239
vrrp_mcast_group4 224.6.6.6 :生产要规划部署,根据网络要求去规定
tcpdump -i eth0 -nn host 224.6.6.6 :抓包时要修改多播地址
22.修改为单播地址 启用vrrp_strict时不能启用单播模式
vip模式下:vrrp_instance 放在最后面
①主节点
unicast_src_ip 10.0.0.15 #本机IP
unicast_peer{
10.0.0.16 #指向对方主机IP
#10.0.0.28 #如果有多个keepalived,再加其它节点的IP
}
②备节点 放在最后面
unicast_src_ip 10.0.0.16 #本机IP
unicast_peer{
10.0.0.15 #指向对方主机IP
#10.0.0.28 #如果有多个keepalived,再加其它节点的IP
}
keepalived简单功能实现
最新推荐文章于 2024-03-01 16:27:55 发布