在centos 6.4的系统中,ipvs的代码已被收录进行内核,所以只需要安装用户空间的管理工具即可,如何查看系统内核是否支持ipvs及如何安装用户空间的配置工具,请看下边。
[root@HAPROXY ~]# grep -i "ip_vs" /boot/config-2.6.32-358.el6.x86_64 #查看内核中是否编译进了ipvs的代码
[root@HAPROXY ~]# yum -y install ipvsadm #安装用户空间的配置管理工具
利用ipvs的用户空间配置管理工具ipvsadm配置一个负载均衡集群服务系统大致分成两步,第一步定义一个集群服务,第二步为这个集群服务添加各个real server节点。
下边简单介绍利用ipvsadm配置、管理一个负载均衡集群服务系统的基本语法:
1、定义一个集群服务
ipvsadm -A|E -t|u|f service-address [-s scheduler]
--add-service -A 添加一个虚拟集群服务
--edit-service -E 修改一个已存在的虚拟集群服务
--tcp-service -t service-address service-address is host[:port] (定义一个基于tcp的虚拟服务)
--udp-service -u service-address service-address is host[:port] (定义一个基于ucp的虚拟服务)
--fwmark-service -f fwmark fwmark is an integer greater than zero(定义防火墙的标记码)
--scheduler -s scheduler one of rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,the default scheduler is wlc.(定义调度算法)
2、删除集群服务
ipvsadm -D -t|u|f service-address
-D, --delete-service (删除集群服务)
Delete a virtual service, along with any associated real servers.
3、向集群服务添加real server
ipvsadm -a|e -t|u|f service-address -r server-address [options]
-a, --add-server
Add a real server to a virtual service.(向集群添加一个RS地址)
-e, --edit-server
Edit a real server in a virtual service.(在集群中编辑一个RS)
-r, --real-server server-address(指定RS,host[:port]这样的格式)
4、删除集群服务中的real server
ipvsadm -d -t|u|f service-address -r server-address
-d, --delete-server
Remove a real server from a virtual service.(从虚拟服务中删除指定的real server)
5、清空所有的集群服务
ipvsadm -C
-C, --clear
Clear the virtual server table.(清空集群服务)
6、保存及重新加载规则
ipvsadm -S > /path/to/some_rule_file (保存时用输出重定向把规则保存在一个文件中,默认保存在/etc/sysconfig/ipvsadm中)
-S, --save
Dump the Linux Virtual Server rules to stdout in a format that can be read by
ipvsadm -R < /path/from/some_rule_file (默认是从标准输入中读取规则,一般用输入重定向读取已保存了规则的文件)
-R, --restore
7、查看定义的集群服务及real server的信息
ipvsadm -L -n
-c:查看各连接情况,可查看由哪个客户端访问了哪个虚拟服务,被director调度到了后端哪个real server的信息
--stats:显示统计数据,可查看客户端访问的次数,接收和发送的字节数
--rate:显示速率
--exact:显示精确值