四台虚拟机
node1:128
node2:135
RS端:
node3:130
node4:132
[root@node2 ~]# yum install -y ipvsadm
#配置LVS虚拟IP,没有ifconfig命令则先安装
[root@node2 ~]# yum install net-tools -y
#配置VIP
[root@node2 ~]# ifconfig ens33:200 192.168.40.200/24
配置web服务器
[root@node3 ~]# yum install httpd -y
[root@node4 ~]# yum install httpd -y
[root@node3 ~]# echo "web test page,ip is `hostname -I`." > /var/www/html/index.html
[root@node4 ~]# echo "web test page,ip is `hostname -I`." > /var/www/html/index.html
[root@node3 ~]# systemctl start httpd
[root@node4 ~]# systemctl start httpd
#node2去访问
[root@node2 ~]# curl 192.168.40.130
web test page,ip is 192.168.40.130 .
[root@node2 ~]# curl 192.168.40.132
web test page,ip is 192.168.40.132 .
#手工在RS端绑定VIP
#每台real server端执行
[root@node3 ~]# ifconfig lo:200 192.168.40.200/32
[root@node4 ~]# ifconfig lo:200 192.168.40.200/32
#添加本机访问VIP的路由
[root@node3 ~]# route add -host 192.168.40.200 dev lo
[root@node4 ~]# route add -host 192.168.40.200 dev lo
#手工在RS端抑制ARP响应
#每台real server端执行
#调整内核参数,关闭arp响应
[root@node3 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node3 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@node3 ~]# echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@node3 ~]# echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce
[root@node4 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node4 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@node4 ~]# echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@node4 ~]# echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce
#手工执行配置添加LVS服务并增加两台RS
ipvsadm工具常用的参数选项有:
-A --add-service 添加一条新的虚拟服务
-E --edit-service 编辑虚拟服务
-D --delete-service 删除虚拟服务
-C --clear 清除所有的虚拟服务规则
-R --restore 恢复虚拟服务规则
-a --add-server 在一个虚拟服务中添加一个新的真实服务器
-e --edit-server 编辑某个真实服务器
-d --delete-server 删除某个真实服务器
-L | -l --list 显示内核中的虚拟服务规则
-n --numeric 以数字形式显示IP端口
-c --connection 显示ipvs中目前存在的连接,也可以用于分析调度情况
-Z --zero 将转发消息的统计清零
-p --persistent 配置持久化时间
--set tcp tcpfin udp 配置三个超时时间(tcp/tcpfin/udp)
-t | -u TCP/UDP协议的虚拟服务
-g | -m | -i LVS模式为:DR | NAT | TUN
-w 配置真实服务器的权重
-s 配置负载均衡算法,如:rr, wrr, lc等
--timeout 显示配置的tcp/tcpfin/udp超时时间
--stats 显示历史转发消息统计(累加值)
--rate 显示转发速率信息(瞬时值)
[root@node2~]# ipvsadm -C #清除原有配置,没有可不执行
[root@node2 ~]# ipvsadm -A -t 192.168.40.200:80 -s rr
[root@node2 ~]# ipvsadm -a -t 192.168.40.200:80 -r 192.168.40.130:80 -g
[root@node2 ~]# ipvsadm -a -t 192.168.40.200:80 -r 192.168.40.132:80 -g
[root@node2 ~]# 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.40.200:80 rr
-> 192.168.40.130:80 Route 1 0 0
-> 192.168.40.132:80 Route 1 0 0
[root@node1 ~]# for ((i=1;i<=6;i++)); do curl 192.168.40.200; done
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .
web test page,ip is 192.168.40.132 .
web test page,ip is 192.168.40.130 .