LVS-DR+Keepalived 配置步骤
- 准备工作
- 调度器上安装Keepalived
- 调度主机上做lvs策略
- 在调度器上配置Keepalived
- 配置真实服务器
- 测试
准备工作
详细步骤和配置解释可以参考:LVS-DR+Keepalived 高可用集群
之前写的主要是先做lvs-dr再做keepalived 因此步骤显得比较麻烦 今天再写一个简要步骤
调度器上安装Keepalived
yum install -y ipvsadm
yum install -y keepalived
调度主机上做lvs策略
配置负载分配策略
首先清除原有策略
ipvsadm -C添加虚拟服务器
ipvsadm -A -t 192.168.188.188:80 -s rr添加真实服务器 工作模式为DR
ipvsadm -a -t 192.168.188.188:80 -r 192.168.188.100:80 -g
ipvsadm -a -t 192.168.188.188:80 -r 192.168.188.101:80 -g保存
ipvsadm-save > /etc/sysconfig/ipvsadm查看
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.188.188:80 rr-> 192.168.188.100:80 Route 1 0 0 -> 192.168.188.101:80 Route 1 0 0
从机不需要配置策略 因为keepalived会自动解析策略
在调度器上配置Keepalived
主机
vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {router_id LVS1
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 66priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.188.188}
}virtual_server 192.168.188.188 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 192.168.188.100 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}real_server 192.168.188.101 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
}
从机
! Configuration File for keepalivedglobal_defs {router_id LVS2
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 66priority 80advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.188.188}
}virtual_server 192.168.188.188 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 192.168.188.100 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}real_server 192.168.188.101 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
}
重启服务
systemctl restart ipvsadm
systemctl restart keepalived查看keepalived配置完成后 ens33是否有了VIP
ip addr从机查看策略
ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.188.188:80 rr-> 192.168.188.100:80 Route 1 0 0 -> 192.168.188.101:80 Route 1 0 0
配置真实服务器
添加虚拟接口lo:0 配置VIP地址
cp -a ifcfg-lo ifcfg-lo:0vim ifcfg-lo:0DEVICE=lo:0
IPADDR=192.168.188.188
NETMASK=255.255.255.255
NETWORK=127.0.0.0
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback然后将网卡传给另一台web服务器
scp ./ifcfg-lo:0 root@192.168.188.101:/root开启虚拟接口
ifup lo:0添加一条到VIP的本地路由
route add -host 192.168.188.188 dev lo:0查看路由
route -nKernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.188.2 0.0.0.0 UG 100 0 0 ens33
192.168.79.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37
192.168.188.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.188.188 0.0.0.0 255.255.255.255 UH 0 0 0 lo
测试
浏览器输入VIP
![在这里插入图片描述](https://img8.php1.cn/3cdc5/fe07/ae9/7dfcb7d41a76474b.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NhbnRldmVubA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img8.php1.cn/3cdc5/fe07/ae9/89a6f0207ed44270.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NhbnRldmVubA==,size_16,color_FFFFFF,t_70)
关闭主调度器 浏览器仍然可以访问 查看从机信息
![在这里插入图片描述](https://img8.php1.cn/3cdc5/fe07/ae9/972f366aabcc87eb.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NhbnRldmVubA==,size_16,color_FFFFFF,t_70)