KeepAlived主备模型高可用LVS

时间:2021-02-04 03:33:50

部署前准备:

  1.至少4台主机:两个Director(HA1,HA2),两个Real Server(RS1,RS2)

  2.Director之间时间必须同步,且关闭各主机的防火墙和Selinux

  3.出于实验目的,各主机均使用一个网卡(桥接模式),且使用的是CentOS 7主机

部署流程:

  1.分别在Director上执行:

yum -y install ipvsadm keepalived

  2.分别在Real Server上执行:并自行创建Web服务测试页

yum -y install httpd
bash lvs.sh #lvs-dr模型自定义脚本

  3.自行测试RS1和RS2的Web服务能否顺利运行,没问题的话配置HA1的keepalived:

 ! Configuration File for keepalived
/*全局配置段*/
global_defs {
notification_email {
root@localhost //邮件接收方地址
}
notification_email_from admin@ka.com //邮件发送方地址
smtp_server 127.0.0.1 //邮件服务器地址
smtp_connect_timeout 30 //邮件服务器连接超时时长
router_id node1 //当前路由的ID
vrrp_mcast_group4 224.0.0.18 //默认组播域地址
} /*虚拟路由(实例)配置段*/
vrrp_instance VI_1 {
state MASTER //主备状态
interface eno16777736 //实例使用的接口名称
virtual_router_id 51 //虚拟实例的路由ID,使用默认51就好
priority 100 //优先级
advert_int 1 //广播通告时间间隔,默认为1s/次
authentication {
auth_type PASS //认证方式:简单字符串认证,推荐使用
auth_pass 1111 //认证密码:可自行定义
}
virtual_ipaddress { //虚拟地址,可定义多个
192.168.1.100 dev enol6777736 label eno16777736:0
}
} /*LVS配置段*/
virtual_server 192.168.1.100 80 {
delay_loop 6 //服务轮询时间间隔
lb_algo rr //定义调度算法
lb_kind DR //LVS集群类型
nat_mask 255.255.255.0
persistence_timeout 50 //持久连接时长,测试时最好删除或注释此项,否则会一直调度某RS,影响实验效果
protocol TCP //keepalived仅支持TCP协议
sorry_server 192.168.1.100 80 //错误提示页面 real_server 192.168.1.103 80 { //RS1配置
weight 1 //权重
HTTP_GET { //健康状态检测方法
url {
path /
status_code 200 //基于状态码检测
}
connect_timeout 3 //连接超时时长
nb_get_retry 3 //超时后重试连接次数
delay_before_retry 3 //超时3s后再次请求
}
}
real_server 192.168.1.104 80 { //RS2配置同RS1
weight 2
HTTP_GET {
url {
path /
status_code
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}

  4.将HA1的配置文件发给HA2,做适当修改,即可开启keepalived进行测试,效果如下:

KeepAlived主备模型高可用LVS