知识储备:
ipvsadm:
管理集群服务
添加:-A -t|u|f service-address [-s scheduler]
-t: TCP协议的集群
-u: UDP协议的集群
-f: FWM: 防火墙标记
service-address: IP:PORT
修改:-E
删除:-D -t|u|f service-address
管理集群服务中的RS
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
-t|u|f service-address:事先定义好的某集群服务
-r server-address: 某RS的地址,在NAT模型中,可使用IP:PORT实现端口映射;
[-g|i|m]: LVS类型
-g: DR
-i: TUN
-m: NAT
[-w weight]: 定义服务器权重
修改:-e
删除:-d -t|u|f service-address -r server-address
查看
-L|l
-n: 数字格式显示主机地址和端口
--stats:统计数据
--rate: 速率
--timeout: 显示tcp、tcpfin和udp的会话超时时长
-c: 显示当前的ipvs连接状况
删除所有集群服务
-C:清空ipvs规则
保存规则
service ipvsadm save
或:
-S
# ipvsadm -S > /path/to/somefile
载入此前的规则:
-R
# ipvsadm -R < /path/form/somefile
准备:
三台linux虚拟机:RS1,RS2,DR,可以上互联网并配置好yun源,RS1和RS2安装web服务(yum install -y httpd),DR 安装ipvsadm 这一管理集群服务的命令行工具
(yum install -y ipvsadm)。
IP地址规划:RS1:192.168.10.8 255.255.255.0 网关 192.168.10.7
RS2:192.168.10.9 255.255.255.0 网关 192.168.10.7
DR:eth0:192.168.10.7 255.255.255.0
eth1:192.168.0.2 255.255.255.0 192.168.0.1
做法:
1.将三台主机的eth0网卡连接模式改为仅主机模式,DR的eth1改为桥接模式,根据地址规划配置对应IP, 使三台虚机网络互通
2.为了显示效果,我们在两个RS上分别提供不同的web页面
RS1:echo “fsy.RS1” > /var/www/html/index.html
RS1:echo “fsy.RS2” > /var/www/html/index.html
3.在RS1和RS2上启动web服务并测试(在做的过程中遇到问题可以尝试将防火墙和SELinux关闭)
RS1:#service httpd start
#curl http://192.168.10.8
#curl http://192.168.10.9
RS2:#service httpd start
#curl http://192.168.10.8
#curl http://192.168.10.9
4.在DR上进行测试
#curl http://192.168.10.8
#curl http://192.168.10.9
5.待测试一切正常后在DR上进行配置(写ipvs规则)
# ipvsadm -A -t 192.168.0.2:80 -s rr
# ipvsadm -a -t 192.168.0.2:80 -r 192.168.10.8 -m
# ipvsadm -a -t 192.168.0.2:80 -r 192.168.10.9 -m
# ipvsadm -L -n查看
6.打开网卡间转发并关闭防火墙
# echo 1 > /proc/sys/net/ipv4/ip_forward
#service iptables stop
7.打开浏览器进行访问测试。
如我所料,一切正常!
转载于:https://blog.51cto.com/10927734/1826932