依然饭跑跑 发表于 2019-1-5 07:14:18

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模型