DS端配置步骤
操作步骤
- 配置DS虚拟IP地址。
1
ifconfig lo:0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 up
- 配置内核参数,打开DS转发功能。
1
echo "1" > /proc/sys/net/ipv4/ip_forward
- DS添加LVS集群IP地址及端口,并配置调度算法。
1
ipvsadm -A -t 192.168.1.100:80 -s rr
-A:添加一个集群服务(virtual server)。
-t :允许集群服务使用的传输协议为TCP。
-s :指定集群服务使用的调度算法。包括:rr(轮叫调度)、wrr(加权轮叫)、lc(最少链接)wlc(加权最少链接)等。
- DS添加LVS集群主机,即负载的所有RIP及RIP所在应用绑定的端口(DR模式下,集群端口与RS端口要一致),并设置权重。
1
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g -w 1
1
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.3:80 -g -w 1
-a :添加一个真实服务器。
-t :允许集群服务使用的传输协议为TCP。
-r :指定真实服务器的主机IP地址与端口。
-g :指定真实服务器转发工作模式,默认使用DR模式。
-w :指定真实服务器的权重值。
- 关闭DS的LVS功能(关闭时使用)。
1
ipvsadm -C
1
ifconfig lo:0 down
-C :删除所有集群服务,包括真实服务器转发策略规则。
配置脚本示例
上述步骤可写入脚本中在服务器任意一个目录直接执行,脚本内容示例如下:
#!/bin/bash #description:Start LVS of Director Server if [ $# -eq 0 ];then echo "usage: $0 start/stop" exit 1 fi cnt=5 port=10000; RIPlist=('192.168.3.101' '192.168.3.102' '192.168.3.103' '192.168.3.104' '192.168.3.105') net='255.255.255.255' VIP=192.168.3.150 case $1 in start) echo "start LVS of Director Server" #set virtual IP address and sysctl ip_forward ifconfig lo:0 $VIP broadcast $VIP netmask $net up echo "1" > /proc/sys/net/ipv4/ip_forward #set LVS #ipvsadm -A -t $VIP:$port -s rr -p ipvsadm -A -t $VIP:$port -s rr i=0 while(($i<$cnt)) do ipvsadm -a -t $VIP:$port -r ${RIPlist[$i]}:$port -g let "i++" done ipvsadm ;; stop) echo "stop LVS of ALL Director Server" echo "0" > /proc/sys/net/ipv4/ip_forward ipvsadm -C ifconfig lo:0 down ;; esac
父主题: 配置LVS