ipvsadm: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] ipvsadm -D -t|uf service-address ipvsadm -C ipvsadm -R ipvsadm -S [-n] ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] [-x upper] [-y lower] ipvsadm -d server-address ipvsadm -Z 集群相关 -A:添加集群服务 -t:tcp服务 -u:udp服务 -f:firewall mark,通常用于将连个或以上的服务绑定为一个服务进行处理时使用(http与https) service-address: -t IP:port -u IP:port -f firewall_mark -s 调度方法,默认wlc -p timeout:持久连接 -E:修改定义过的集群服务,用法与—A一样 与提供服务的服务器相关(real server) -a:向指定的集群中添加服务器(rs) -t|u|f service-address:指明将rss添加到那个集群中 -r:指定rs,可包含ip:port,只有支持端口映射的lvs类型才允许此处使用跟集群服务不同的端口 -g|i|m lvs类型 -g:DR -i:ipip,tun -m:nat -e:修改集群中服务器(与-a用法相同) -D:删除集群服务 -d:从指定集群服务中删除一个rs -C:清空所有集群服务 保存规则:ipvsadm-save | ipvsadm -S 载入指定的规则 ipvsadm-restore | ipvsadm -R -L [option]: 查看ipvs规则 -n:数字格式显示IP地址 -c:显示连接数相关信息 --stats:显示统计数据 -Z 清空统计信息 nat配置 dip 192.168.1.1 vip 1.1.1.1(公网/访问地址) rip 192.168.1.3 192.168.1.4 1、设置ds的dip,vip,静态地址(双网卡) 2、ds打开ip转发功能/etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p 3、设置rs的rip,网关为dip地址,静态地址 4、ds安装ipvsadm,添加集群(加权最少连接数调度) yum -y install ipvsadm ipvsadm -A -t 1.1.1.1:80 -s wlc 5、把rs添加入集群 (192.168.1.3加入集群,lvs模式为nat权值为10)ipvsadm -a -t 1.1.1.1:80 -r 192.168.1.3 -m -w 10 (192.168.1.4加入集群,lvs模式为nat权值为1)ipvsadm -a -t 1.1.1.1:80 -r 192.168.1.4 -m -w 1 6、访问vip测试 7、修改集群调度算法(或其他)(轮询) ipvsadm -E -t 1.1.1.1:80 -s rr 8、修改集群中服务的配置 ipvsadm -e -t 1.1.1.1:80 -r 192.168.1.3 -m ipvsadm -e -t 1.1.1.1:80 -r 192.168.1.4 -m dr配置 rs与ds在同一网段,服务器只需要一个网卡 集群服务器(director)dip:192.168.0.7 vip:192.168.1.2 realserver1 rip:192.168.0.8 vip:192.168.1.2 realserver2 rip:192.168.0.9 vip:192.168.1.2 拓扑说明 rs[rip静态,vip lo别名] | | client[客户端]-->router[路由器]-->-->director[dip静态,vip别名] | | rs[rip静态,vip lo别名] 1、ds安装ipvsadm yum -y install ipvsadm 2、ds设置ip 1)dip设置为静态地址 2)vip设置在网卡别名上 ifconfig eth0:0 192.168.1.2/24 3、rs上rip配置静态地址,vip配置在lo别名上,配置内核参数,禁止响应arp广播请求(先配置内核参数,再添加vip) 1)配置rip(静态) 2)修改报文源ip的设置,调整内核参数 echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 3)rs上,把vip设置在lo别名上,绑定的网口不进行对外通信 ifconfig lo:0 192.168.1.2 netmask 255.255.255.255 broadcast 192.168.1.2[故意这么配置,无法对外通信] 4)rs上,添加路由,确保若请求的目标为vip,那么响应的源ip为vip route add -host 192.168.1.2 dev lo:0 4、ds上添加路由 route add -host 192.168.1.2 dev eth0:0 5、ds上使用ipvsadm添加集群服务 1)添加集群服务(加权最少连接数) ipvsadm -A -t 192.168.1.2:80 -s wlc 2)把rs添加入集群 ipvsadm -a -t 192.168.1.2:80 -r 192.168.0.8 -g -w 10 ipvsadm -a -t 192.168.1.2:80 -r 192.168.0.9 -g -w 1 6、使用vip访问