LVS部署¶
1. 环境准备¶
lvs服务器:192.168.178.181
web01:192.168.178.151
web02:192.168.178.152
关闭防火墙
2. 两台rs服务器配置¶
2.1 安装nginx¶
yum install nginx -y
2.2 修改网站根文件¶
echo "192.168.178.151">/usr/share/nginx/html/index.html
echo "192.168.178.152">/usr/share/nginx/html/index.html
2.3 启动nginx后,浏览器访问测试¶
nginx
3. lvs服务器配置¶
3.1 查看本机是否支持lvs¶
[root@lvs ~]# lsmod |grep ip_vs
[root@lvs ~]#
3.2 安装ipvsadm工具¶
yum install ipvsadm -y
3.3 激活ip_vs模块¶
[root@lvs ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
再次查看
[root@lvs ~]# lsmod |grep ip_vs
ip_vs 145497 0
nf_conntrack 133095 1 ip_vs
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
3.4 查看本机IP¶
[root@lvs ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ca:2b:33 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.181/24 brd 192.168.178.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
inet6 fe80::2b7e:3c1f:c7b1:b23c/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3.5 绑定虚拟IP(假设VIP为192.168.178.182)¶
[root@lvs ~]# ip addr add 192.168.178.182 dev ens32
[root@lvs ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ca:2b:33 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.181/24 brd 192.168.178.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
inet 192.168.178.182/32 scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::2b7e:3c1f:c7b1:b23c/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3.6 清空当前的ip_vs规则¶
ipvsadm -C
3.7 设置lvs超时时间¶
查看帮助
ipvsadm -h |grep set
ipvsadm --set 30 5 60
3.8 打开dr转发模式¶
ipvsadm -A -t 192.168.178.182:80 -s wrr -p 20
3.9 将VIP关联到两台rs服务器¶
ipvsadm -a -t 192.168.178.182:80 -r 192.168.178.151:80 -g -w 1
ipvsadm -a -t 192.168.178.182:80 -r 192.168.178.152:80 -g -w 1
3.10 检查lvs配置情况¶
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.178.182:80 wrr persistent 20
-> 192.168.178.151:80 Route 1 0 0
-> 192.168.178.152:80 Route 1 0 0
4. 再次配置两台rs服务器¶
4.1 将VIP绑定到本地回环地址¶
ip addr add 192.168.178.182/32 dev lo
ip addr add 192.168.178.182/32 dev lo
[root@web01 nginx]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:71:38:92 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.151/24 brd 192.168.178.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe71:3892/64 scope link
valid_lft forever preferred_lft forever
[root@web01 nginx]#
[root@web01 nginx]#
[root@web01 nginx]# ip addr add 192.168.178.182/32 dev lo
[root@web01 nginx]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.178.182/32 scope global lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:71:38:92 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.151/24 brd 192.168.178.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe71:3892/64 scope link
valid_lft forever preferred_lft forever
[root@web02 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ce:1f:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.178.152/24 brd 192.168.178.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::7ce7:88bf:e8ce:fbaf/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@web02 ~]#
[root@web02 ~]# ip addr add 192.168.178.182/32 dev lo
[root@web02 ~]#
[root@web02 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.178.182/32 scope global lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ce:1f:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.178.152/24 brd 192.168.178.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::7ce7:88bf:e8ce:fbaf/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4.2 抑制arp解析¶
cat >> /etc/sysctl.conf <<EOF
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
EOF
4.3 让内核参数生效¶
sysctl -p
5. 浏览器访问VIP:192.168.178.182 测试¶
最后更新:
2022-02-20 13:32:53