基础知识全面整理详解(11)

一. LVS集群服务管理类举例
1) 添加:-A
# ipvsadm -A -t|u|f service-address [-s scheduler]
 
举例1: 添加集群
[root@lvs ~]# ipvsadm -A -t 172.16.60.111:80 -s wlc
 
2) 修改:-E
# ipvsadm -E -t|u|f service-address [-s scheduler]
 
举例2: 修改集群 (修改集群的调度算法)
[root@lvs ~]# ipvsadm -E -t 172.16.60.111:80 -s wrr
 
3) 删除:-D
# ipvsadm -D -t|u|f service-address
 
举例3: 删除集群
[root@lvs ~]# ipvsadm -D -t 172.16.60.111:80
 
 
二. 管理LVS集群中的RealServer举例
1) 添加RS : -a
# ipvsadm -a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
 
举例1: 往VIP资源为172.16.60.111的集群服务里添加两个realserver
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.120 –g -w 5
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.130 –g -w 10
 
2) 修改RS : -e
# ipvsadm -e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
 
举例2: 修改172.16.60.111集群服务里172.16.60.120这个realserver的权重为3
[root@lvs ~]# ipvsadm -e -t 172.16.60.111:80 -r 172.16.60.120 –g -w 3
 
3) 删除RS : -d
# ipvsadm -d -t|u|f service-address -r server-address
 
举例3: 删除172.16.60.111集群服务里172.16.60.120这个realserver
[root@lvs ~]# ipvsadm -d -t 172.16.60.111:80 -r 172.16.60.120
 
 
三. 管理LVS集群服务的查看
# ipvsadm -L|l [options]
  options可以为:
  -n:数字格式显示
  --stats 统计信息
  --rate:统计速率
  --timeout:显示tcp、tcpinfo、udp的会话超时时长
  -c:连接客户端数量
 
举例1: 查看lvs集群转发情况
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port        Forward Weight ActiveConn InActConn
TCP  172.16.60.111:80 wlc persistent 600
  -> 172.16.60.205:80            Route  1      0          0       
  -> 172.16.60.206:80            Route  1      0          0
 
举例2: 查看lvs集群的连接状态
[root@lvs ~]# ipvsadm -l --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port              Conns  InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  172.16.60.111                    4          6        0            308        0
  -> 172.16.60.205:80                  0          0        0            0          0
  -> 172.16.60.206:80                  4          6        0            308        0
 
说明:
Conns    (connections scheduled)  已经转发过的连接数
InPkts  (incoming packets)      入包个数
OutPkts  (outgoing packets)      出包个数
InBytes  (incoming bytes)        入流量(字节)
OutBytes (outgoing bytes)        出流量(字节)
 
举例3: 查看lvs集群的速率
[root@lvs ~]# ipvsadm -l --rate
Prot LocalAddress:Port              CPS    InPPS  OutPPS    InBPS  OutBPS
  -> RemoteAddress:Port
TCP  172.16.60.111                    0        0          0            0        0
  -> 172.16.60.205:80                0        0          0            0        0
  -> 172.16.60.206:80                0        0          0            0        0
 
说明:
CPS      (current connection rate)  每秒连接数
InPPS    (current in packet rate)    每秒的入包个数
OutPPS  (current out packet rate)  每秒的出包个数
InBPS    (current in byte rate)      每秒入流量(字节)
OutBPS  (current out byte rate)      每秒入流量(字节)
 
4) 清除计数器:
# ipvsadm -Z [-t|u|f service-address]
 
5) 清除规则 (删除所有集群服务), 该命令与iptables的-F功能类似,执行后会清除所有规则:
# ipvsadm -C
 
6) 保存规则:
# ipvsadm -S > /path/to/somefile
# ipvsadm-save > /path/to/somefile
# ipvsadm-restore < /path/to/somefile
 
========================================================================================
一.  使用NAT模式
1) 添加vip地址: 172.16.60.111
[root@lvs ~]# /sbin/ifconfig eth0:0 172.16.60.111 broadcast 172.16.60.111 netmask 255.255.255.255 up
[root@lvs ~]# /sbin/route add -host 172.16.60.111 dev eth0:0
[root@lvs ~]# /sbin/arping -I eth0 -c 5 -s 172.16.60.111 172.16.60.1 >/dev/null 2>&1
 
2) 比如添加地址为172.16.60.111:80的lvs集群服务,指定调度算法为轮转。
[root@lvs ~]# ipvsadm -A -t 172.16.60.111:80 -s rr
 
1) 添加真实服务器,指定传输模式为NAT
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.180:80 -m
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.181:80 -m
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.182:80 -m
 
NAT模式是lvs的三种模式中最简单的一种。此种模式下只需要保证调度服务器与真实服务器互通就可以运行。
 
二. 使用DR模式
1) 对于DR模式首先要配置真实服务器:
[root@rs-01 ~]# vim /etc/init.d/realserver
#!/bin/sh
VIP=172.16.60.111
. /etc/rc.d/init.d/functions
       
case "$1" in
# 禁用本地的ARP请求、绑定本地回环地址
start)
    /sbin/ifconfig lo down
    /sbin/ifconfig lo up
    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
    /sbin/sysctl -p >/dev/null 2>&1
    /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up
    /sbin/route add -host $VIP dev lo:0
    echo "LVS-DR real server starts successfully.\n"
    ;;
stop)
    /sbin/ifconfig lo:0 down
    /sbin/route del $VIP >/dev/null 2>&1
    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "LVS-DR real server stopped.\n"
    ;;
status)
    isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"`
    isRoOn=`/bin/netstat -rn | grep "$VIP"`
    if [ "$isLoON" == "" -a "$isRoOn" == "" ]; then
        echo "LVS-DR real server has run yet."
    else
        echo "LVS-DR real server is running."
    fi
    exit 3
    ;;
*)
    echo "Usage: $0 {start|stop|status}"
    exit 1
esac
exit 0
 
 
在真实服务器上执行上面的脚本
[root@rs-01 ~]# chmod 755 /etc/init.d/realserver
[root@rs-01 ~]# /etc/init.d/realserver  start
 
上面脚本执行后, 真实服务器上就在lo:0设备上配置了vip地址, 可以使用"ifconfig"命令查看
 
2) 在LVS机器上接着添加ipvs规则:
 
先添加vip地址: 172.16.60.111
[root@lvs ~]# /sbin/ifconfig eth0:0 172.16.60.111 broadcast 172.16.60.111 netmask 255.255.255.255 up
[root@lvs ~]# /sbin/route add -host 172.16.60.111 dev eth0:0
[root@lvs ~]# /sbin/arping -I eth0 -c 5 -s 172.16.60.111 172.16.60.1 >/dev/null 2>&1
 
添加地址为172.16.60.111:80的lvs集群服务,指定调度算法为轮转。
[root@lvs ~]# ipvsadm -A -t 172.16.60.111:80 -s rr
 
添加真实服务器,指定传输模式为DR
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.180:80 -g
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.181:80 -g
[root@lvs ~]# ipvsadm -a -t 172.16.60.111:80 -r 172.16.60.182:80 -g
 
注意:此处的例子中客户、调度服务器、真实服务器都是位于同一网段的

4) 小案例分析
172.168.60.208 作为LVS负载代理层, 代理后端两个web节点172.16.60.205和172.16.60.206的80端口.
VIP资源为172.16.60.119

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7dc54369596ed0ebfe0c3328d9d44772.html