上篇文章我们介绍了LVS的基础概念等;接下来我们就来使用ipvsadm集群管理命令进行集群管理。
ipvsadm命令的用法:
管理集群服务:创建、修改、删除
管理集群服务的RS:添加、修改、移除
查看:
统计数据
速率
管理集群服务:
创建或修改:
ipvsadm -A|E -t|u|f service-address [-s scheduler]
-A: 添加
-E:修改
-t: 承载的应用层协议为基于TCP协议提供服务的协议;其service-address的格式为“VIP:PORT”,如“172.16.100.6:80”;
-u: 承载的应用层协议为基于UDP协议提供服务的协议;其service-address的格式为“VIP:PORT”,如“172.16.100.6:53”;
-f:承载的应用层协议为基于TCP或UDP协议提供服务的协议,但此类报文会经由iptables/netfilter打标记,即为防火墙标记;其service-address的格式为“FWM”,例如“10”;
-s scheduler: 指明调度方法;默认为wlc;
删除:
ipvsadm -D -t|u|f service-address
清空所有集群服务的定义:
ipvsadm -C
保存及恢复集群服务及RS的定义:
ipvsadm -S > /etc/sysconfig/ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm
service ipvsadm save
ipvsadm -R < /etc/sysconfig/ipvsadm
ipvsadm-restore < /etc/sysconfig/ipvsadm
service ipvsadm restart
查看规则:
ipvsadm -L|l [options]
-c: 列出当前所有connection;
--stats: 列出统计数据
--rate: 列出速率
-n, --numeric: 数字格式显示IP及端口;
--exact: 精确值;
清空计数器:
ipvsadm -Z [-t|u|f service-address]
案例:lvs-nat类型的web服务器集群
tcpdump -i eth0 -nn host IP and tcp port 80 #抓包命令
首先准备三台机器,一台DS,两台RS,分别配置IP地址。DS准备两个网卡:
测试环境: DS:ip 192.168.163.128 172.16.10.1 RS1:ip 172.16.10.2 RS2:ip 172.16.10.3 DS不启动web服务,RS启动web服务。 DS: [root@dirctor ~]# yum install ipvsadm #安装ipvs [root@dirctor ~]# service ipvsadm start #启动ipvs服务 [root@dirctor ~]# ipvsadm -A -t 192.168.163.128:80 -s rr #设置DS添加ipvs管理规则 [root@dirctor ~]# ipvsadm -a -t 192.168.163.128:80 -r 172.16.10.3 -m -w 1 #设置RS管理 [root@dirctor ~]# ipvsadm -a -t 192.168.163.128:80 -r 172.16.10.2 -m -w 3 [root@dirctor ~]# curl 192.168.163.128 #进行80web服务测试,一比一调度。 node1 [root@dirctor ~]# curl 192.168.163.128 node2 [root@dirctor ~]# service ipvsadm save #保存ipvs服务设置 RS: [root@node1 ~]# vim /var/www/html/index.html #编辑RSweb服务主页,设置利于分辨的测试页面 [root@node1 ~]# service httpd start #启动web服务 Starting httpd: [ OK ] [root@node1 ~]# curl 172.16.10.2 #测试web服务是否正常 node1 [root@node1 ~]# route add default gw 172.16.10.1 #添加路由,两台RS都要添加。 [root@node1 ~]# iptables -F #清空iptables规则,以免影响操作。