版权声明:请随意转载 https://blog.csdn.net/cheng1804/article/details/81987414
一、keepalived原理
keepalived基于VRRP(虚拟路由冗余协议)实现的
将多台相同功能的服务器组成一个服务器组,这个组里面有一个master和多个backup,
master上面有一个对外提供服务的vip(该服务器所在局域网内其他机器的默认路由为该vip),
master会发组播,当backup收不到vrrp包时就认为master宕掉了,
这时就需要根据VRRP的优先级来选举一个backup当master。
二、keepalived主要有三个模块
core核心模块,负责主进程启动、维护及文件加载;check模块,负责健康检查;vrrp模块,实现VRRP协议。
三、实现过程
1、首先测试两个dr能实现lvs功能,
2、在每个dr上安装keepalived,yum install keepalived -y
3、修改keepalived配置文件,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 Director1 //两边是一样的
}
vrrp_instance VI_1 {
state MASTER //另外一台机器是BACKUP
interface eth0 //心跳网卡 DIP那一块网卡
virtual_router_id 51
priority 50 //优先级
advert_int 1 //检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.122.254/24 dev eth0 //VIP随便自己定义 只要是同一个网段就可以
}
}
virtual_server 192.168.122.254 80 { //LVS 配置,VIP
delay_loop 3 //服务论询的时间间隔
lb_algo rr //LVS 调度算法
lb_kind DR // LVS 集群模式
protocol TCP
real_server 192.168.122.30 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
real_server 192.168.122.40 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
4、在另一台dr上安装keepalived
5、拷贝上一台写好的keepalived配置文件
6、拷贝完成后修改
state BACKUP
priority 100
7、两台dr都启动keepalived
8、测试,观察vip是否已配置,访问vip看服务是否能通,断掉有vip的keepalived服务观察vip是否会漂移至另一台。