534523 发表于 2016-12-7 08:52:05

LVS调度方法及NAT模型

LVS:
类型:
   NAT:地址转换
   DR:直接路由
   TUN:隧道

   NAT:
   集群节点跟director必须在同一个IP网络中
   RIP通常是私有地址,仅用于各集群节点间的通信
   director位于client和real server之间,并负责处理进出的所有通信
   支持端口映射
   realserver可以使用任意OS
   较大规模应用场景中,director易成为系统瓶颈
   DR:
   集群节点跟director必须在同一个物理网络中
   RIP可以使用公网地址,实现便捷的远程管理和监控
   director仅负责处理入站请求,响应报文则由director直接发往客户端
   realserver不能将网关指向DIP
   不支持端口映射
   TUN:
   集群节点可以跨越互联网
   RIP必须是公网地址
   director仅处理入站请求,响应报文直接发往客户端;
   realserver网关不能指向director;
   只有支持隧道功能的IS才能用于realserver;
   不支持端口映射;
四种静态:
rr:
wrr:
dh:
sh:
动态调度方法:
lc:最少连接
    activr*256+inactive
wlc:加权最少连接
    (active*256+inactive)/weight
sed:最短期望延迟
    (active+1)*256/weight
nq:never queue
LBLC:基于本地最少连接

    DH:
LBLCR:基于本地的带复制功能的最少连接

默认方法:wlc

grep -i 'vs' /boot/config-2.6....

调度器:设置好内网和外网IP
yum -y install ipvsadm 安装命令行工具

ipvsadm:
   管理集群服务
      添加 -A-t|-u|-f service-address [-s scheduler调度方法] 省略不谢则使用wlc
               -t:TCP协议的集群
               -u:UDP协议的集群
                  service-address:IP:PORT
               -f:防火墙标记(FWM)
                  service-address: Mark Number
      修改 -E
      删除 -D -t|u|f service-address
ipvsadm -A -t 172.16.100.1:80 -s rr      
   管理集群服务中的RS
      添加 -a -t|u|f service-address(集群服务的地址) -r server-address(RS服务器的地址)[-g|i|m] [-w weight] [-x upper] [-y lower]
         -t|u|f service-address:事先定义好的某集群服务
         -r server-address:某RS的地址,在NAT模型中,可以使用IP:PORT实现端口映射
         [-g|i|m] LVS类型:-g表示DR模型,
                     -i表示:TUN模型 ,
                     -m表示:NAT模型
         [-w weight]:定义服务器权重      
      修改 -e
      删除 -d -t|u|f service-address -r server-address
   #ipvsadm -a -t 172.16.100.1:80 -r 192.168.1.2 -m

   #ipvsadm -a -t 172.16.100.1:80 -r 192.168.1.3 -m
   查看
   -L或者-l
   #ipvsadm -L
            -n:数字格式显示主机地址和端口
            --stats 统计数据,除以时长可得出速率
            --rate 统计速率,每秒位单位
            --timeout 显示tcp,tcpfin和udp的会话超时时长

            --daemon 显示进程状态
            --sort 排序,默认是升序
            -c 显示当前有多少个客户端连接
      -C:清空规则,删除所有集群服务

service ipvsadm save 保存规则
   -S:也可以保存规则
    #ipvsadm -S > /path/to/somefile
   载入此前的规则
    #ipvsadm -R < /path/to/somefile

各节点之间时间偏差不能超过1秒钟
NTP:network time protocol
ntpdate同步时间

#service ntpd stop
#ntpdate 172.16.0.1 根据172.16.0.1这台服务器来同步时间,作为提供ntp服务的服务器必须开启ntpd服务service ntpd start
# vim /etc/ntp.conf
restrict default ignore

restrict 127.0.0.1
restrict 172.16.0.1
server 172.16.0.1
driftfile /var/lib/ntp/drift
broadcastdelay 0.008

RS服务器装上wbeserver
yum -y install httpd telnet-server
ntpdate 192.168.1.10 同步时间(hwclock -w)
#echo "RS1.mylinux.com" > /var/www/html/index.html

#service httpd restart
# echo "RS2.mylinux.com" > /var/www/html/index.html
# service httpd restart
curl -I 响应首部
# curl http://localhost
RS1.mylinux.com
(虚拟机模拟网卡模式调为仅主机模式)
ipvsadm -A -t 172.16.100.1:80-s rr
ipvsadm -a -t 172.16.100.1:80 -r 192.168.1.11 -m (-m表示NAT模型所谓不用再设置权重了)
ipvsadm -a -t 172.16.100.1:80 -r 192.168.1.12 -m

iptables -L -n查看


调整模型
ipvsadm -E -t 172.16.100.1:80 -s wrr
ipvsadm -e -t 172.16.100.1:80 -r 192.168.1.11 -m -w 9
ipvsadm -e -t 172.16.100.1:80 -r 192.168.1.12 -m -w 1

yum -y install httpd 安装测试工具
#ab -n 10000 -c 100http://172.16.100.1/index.html

ipvsadm -L -n --stats

service ipvsadm save

页: [1]
查看完整版本: LVS调度方法及NAT模型