torlee 发表于 2019-1-5 09:44:21

ipvsadm命令及lvs

  1、管理集群服务
  (1)创建或修改
  ipvsadm -A|E -t|u|f service-address [-s scheduler]
  -A 添加
  -E 修改
  -t 承载的应用层协议为基于TCP协议提供服务的协议,其server-address的格式为”VIP:PORT“,如172.16.100.6:80
  -u 承载的应用层协议为基于UDP协议提供服务的协议,其server-address的格式为”VIP:PORT“,172.16.100.6:53
  -f 承载的应用层协议为基于TCP或UDP协议提供服务的协议,但此类报文会经由iptables/netfilter打标记,即为防火墙标记其server-address格式为”FWM“,例如”10“
  -s scheduler 指明调度方法,默认为WLC
  (2)删除
  ipvsadm -D -t|u|f service-address
  2、管理集群服务上的RS
  (1)添加或修改
  ipvsadm -a|e -t|u|f service-address -r server-address
  [-g|i|m] [-w weight] [-x upper] [-y lower]
  -r server-address:指明RS,server-address格式一般为”IP[:PORT]“,只有支持端口映射的lvs才定义此处端口
  例如 -r 192.168.10.7:80
  [-g|i|m]:指明lvs类型
  -g:gateway,意为dr类型
  -i:ipip,意为tun类型
  -m:masquerade 意为nat判刑
  [-w weight]:RS的权重
  注意:仅对于支持加权调度的scheduler,权重才有意义
  (2)删除:
  ipvsadm -d -t|u|f service-address -r server-address
  (3)清空所有集群服务的定义
  ipvsadm -C
  (4)保存与恢复规则
  1)保存:
  ipvsadm -S > /etc/sysconfig/ipvsadm
  ipvsadm -save > /etc/sysconfig/ipvsadm
  server ipvsadm save
  2)恢复
  ipvsadm -R < /etc/sysconfig/ipvsadm
  ipvsadm -restore < /etc/sysconfig/ipvsadm
  server ipvsadm restart
  3、查看规则
  ipvsadm -L|l
  -c:列出所有连接
  #ipvsadm -Ln -c //查看状态信息
  --stats:列出统计数据
  --rate:速率统计
  #ipvsadm -Ln --stats
  -n,--numeric:数字显示IP及端口
  --exact:列出精确值
  4、清空计数器
  ipvsadm -Z [-t|u|f service-address]
  案例:lvs-nat类型web服务器集群
  架构环境:
  系统:centos 6.6 X86_64
  工具:vmware workstation 11
  要求:有三台服务器,分别作为Director(调度器) 、real server1、real server2。要求集群类型为lvs-nat,并通过外部访问VIP时,能以调度的方法访问真正的服务器
  拓扑图如下所示:
http://s3.运维网.com/wyfs02/M00/6D/55/wKiom1VhM3KCNOdtAAEmhqqZkwY961.jpg
  思路:
  1、新建三个虚拟主机,主机名分别为node1(作为Director),node2(real server1),node3(real server2)
  2、把Director设定两个网卡,一个为桥接,一个为仅主机,VIP设为172.16.21.110,DIP设为192.168.91.70
  3、real server1网卡设为仅主机,RIP设为192.168.91.80
  4、real server2网卡设为仅主机,RIP设为192.168.91.90
  5、real server在/var/www/html在设置主页,把网关都指向DIP
  6、在物理机上测试
  说明:为保证测试效果,需要关闭iptables和selinux,并且本机已经配置yum源OK
#yum info ipvsadm//查看ipvsadm信息
#grep -i "ipvs" -A 5 /boot/config-2.6.32-504.e16.x86_64//查看ipvs是否支持各种协议(TCP,UDP等)
#yum install ipvsadm -y//安装ipvsadm
node1
#ipconfig eth0 172.16.21.110/16 up //本机只是测试用,设定IP为临时IP,重启后会更改
#ipconfig eht1 192.168.91.70/24 up
node2
#ipconfig eth0 192.168.91.80/24 up
node3
#ipconfig eth0 192.168.91.90/24 up
node1
#ping 192.168.91.80 //在Director上测试能否ping能real server
#ping 192.168.91.90
node2
#vim /var/www/html/index.html
node2.king.com
#service httpd start
node3
#vim /var/www/html/index.html
node3.king.com
#service httpd start
node1
#curl http://192.168.91.80//在Director上测试能否正常访问real server网页
#curl http://192.168.91.90
node2
#route add default gw 192.168.91.70//添加DIP为默认网关
#route -n//查看网关是否添加成功
node3
#route add default gw 192.168.91.70
#route -n
#ping 172.16.21.110   //测试是否ping通外网接口
node1
#ipvsadm -A -t 172.16.21.110:80 -s rr//创建集群
#ipvsadm -a -t 172.16.21.110:80 -r 192.168.91.80 -m -w 1//在集群上为RS添加规则,因为是轮询,所以设定权重没有效果
#ipvsadm -a -t 172.16.21.110:80 -r 192.168.91.90 -m -w 3
#ipvsadm -L -n
#cat /proc/sys/net/ipv4/ip_forward//查看是否打开核心转发,如果为0,则要更改为1
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1   //修改0为1
#sysctl -p//使更改立即生效
在浏览器中输入http://172.16.21.110测试
#ipvsadm -L -n --stats//测看状态
扩展:修改调度方法RR为WRR,再次测试,发现各功能不同之处
node1
#ipvsadm -E -t 172.16.21.110:80 -s wrr//修改算法再次测试
#ab -n 10000 -c 100 http://172.16.21.110/index.html
#ipvsadm -L -n --stats//再次查看状态,发现算法WRR的不同处  




页: [1]
查看完整版本: ipvsadm命令及lvs