规划与需求
IP | 主机名 | 节点类型 |
---|---|---|
192.168.100.61 | keepalived-master | 主keepalived节点 |
192.168.100.62 | keepalived-slaver | 从keepalived节点 |
192.168.100.65 | web-server1 | web服务器 |
192.168.100.66 | web-server2 | web服务器 |
VIP:192.168.100.16
两台keepalived节点需要安装keepalived和ipvsadm
(如果没有安装请使用 “ yum -y install keepalived ipvsadm ” 安装)
两台web服务器需要有不同的访问页用于区分
相关内容
(1)keepalived的部署和告警系统的配置
(2)NET模式LVS搭建
(3)搭建DR模式的LVS(下面用的LVS模式为DR模式)
搭建
一、在两台keepalived节点上编辑keepalived配置文件。(下面以主keepalived节点为例,新增内容一样)
[root@keepalived-master ~]# vim /etc/keepalived/keepalived.conf
global_defs {
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/usr/local/sbin/chk_httpd.sh"
inverval 3
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.16
}
track_script {
chk_httpd
}
notify_master "/bin/bash /etc/keepalived/notify.sh master"
notify_backup "/bin/bash /etc/keepalived/notify.sh backup"
notify_fault "/bin/bash /etc/keepalived/notify.sh fault"
}
##以下为新增内容
virtual_server 192.168.100.16 80 {
delay_loop 5 ##每隔5秒查询realserver的状态
lb_algo wrr ##LVS算法
lb_kind DR ##DR模式
persistence_timeout 60 ##同一IP60秒内分配到同一台realserver上
protocol TCP
real_server 192.168.100.65 80 {
weight 100 ##权重
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.100.66 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
由于之前部署DR模式的LVS时执行过脚本,所以现在在需要清空ipvsadm规则
# ipvsadm -C
然后重启网络
# systemctl restart network
二、在两台web服务器上执行脚本(详情参考往期内容:搭建DR模式的LVS)
[root@web-server1 ~]# bash /usr/local/sbin/lv_dr_rs1.sh
[root@web-server2 ~]# bash /usr/local/sbin/lv_dr_rs2.sh
三、重启两台keepalived服务器的keepalived生效配置
[root@keepalived-master ~]# systemctl restart keepalived
测试
缩短链接超时时间,方便之后的测试
# ipvsadm --set 1 2 1
使用windows浏览器访问VIP
点击刷新按钮(浏览器可能有缓存,可以使用ctrl+F5强制刷新)
成功后,关闭主keepalived节点,测试VIP是否能跳转到从keepalived节点,然后用浏览器再次进行测试,看看能不能访问到两台web服务器