蓝晶灵 发表于 2018-12-30 15:05:54

LVS DR + Keepalived 负载均衡配置详解(测试篇)

  一、启动服务
  1、在每台RS(真实服务器)上绑定LVS的虚拟IP及抑制ERP


[*]# /etc/rc.d/init.d/lvs_dr.sh start
[*]RealServer Start OK
[*]# /etc/rc.d/init.d/lvs_dr.sh start
[*]RealServer Start OK

  2、启动LVS主的Keepalived服务 并查看日志 /var/log/messages


[*]# /etc/rc.d/init.d/keepalived start
[*]正在启动 keepalived:                                    [确定]
[*]# tail -f/var/log/messages
[*]Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Using MII-BMSR NIC polling thread...
[*]Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.101 added
[*]Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Registering Kernel netlink reflector
[*]Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Registering Kernel netlink command channel
[*]Jan 22 04:06:29 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
[*]Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
[*]Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
[*]Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.181
[*]Jan 22 04:06:30 centos1 Keepalived_vrrp: Netlink: skipping nl_cmd msg...
[*]Jan 22 04:06:30 centos1 avahi-daemon: Registering new address record for 192.168.1.181 on eth0.IPv4.

  3、启动备的Keeplived服务,并查看日志


[*]# /etc/rc.d/init.d/keepalived start
[*]正在启动 keepalived:                                    [确定]
[*]# cat /var/log/messages
[*]Jan 22 04:17:29 test Keepalived: Starting Keepalived v1.1.17 (01/13,2013)
[*]Jan 22 04:17:29 test Keepalived: Starting Healthcheck child process, pid=1528
[*]Jan 22 04:17:29 test Keepalived: Starting VRRP child process, pid=1529
[*]Jan 22 04:17:29 test Keepalived_vrrp: Using MII-BMSR NIC polling thread...
[*]Jan 22 04:17:29 test Keepalived_healthcheckers: Using MII-BMSR NIC polling thread...
[*]Jan 22 04:17:29 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.114 added
[*]Jan 22 04:17:29 test Keepalived_vrrp: Netlink reflector reports IP 192.168.1.114 added
[*]Jan 22 04:17:29 test Keepalived_healthcheckers: Registering Kernel netlink reflector
[*]Jan 22 04:17:29 test Keepalived_healthcheckers: Registering Kernel netlink command channel
[*]Jan 22 04:17:29 test Keepalived_vrrp: Registering Kernel netlink reflector
[*]Jan 22 04:17:29 test Keepalived_vrrp: Registering Kernel netlink command channel
[*]Jan 22 04:17:29 test Keepalived_vrrp: Registering gratutious ARP shared channel
[*]Jan 22 04:17:29 test Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.#打开Keepalived的主配置文件
[*]Jan 22 04:17:29 test Keepalived_vrrp: Configuration is using : 62711 Bytes
[*]Jan 22 04:17:29 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE#进入备 角色
[*]Jan 22 04:17:29 test Keepalived_vrrp: VRRP sockpool:

  4、使用ipvsadm -Ln查看状态


[*]# ipvsadm
[*]IP Virtual Server version 1.2.1 (size=4096)
[*]Prot LocalAddress:Port Scheduler Flags
[*]-> RemoteAddress:Port         Forward Weight ActiveConn InActConn
[*]TCP192.168.1.181:http rr persistent 50
[*]-> 192.168.1.104:http         Route   1      0          0         
[*]-> 192.168.1.103:http         Route   1      0          0   

  如果输出和上面的一致表明 LVS + Keepalived安装配置成功。接下来测试负载均衡和高可用。
  二、测试负载均衡
  1、在192.168.1.103和192.168.1.104上分别执行如下命令(在这里放不同的内容是为了方便测试,在生产环境中内容应该是相同的):


[*]在192.168.1.103上执行下面命令
[*]# echo "The is server 103" >/var/www/html/index.html
[*]在192.168.1.104上执行下面命令
[*]# echo "The is server 104" >/var/www/html/index.html


  2、用两个不同的浏览器访问 http://192.168.1.181
http://blog.运维网.com/attachment/201301/203200977.png
http://blog.运维网.com/attachment/201301/203417992.png
  我们看到上面两个浏览器访问到的是不同的RS服务器,负载均衡测试完成。
  三、测试高可用:
  1、关闭主LVS的Keepalived服务,查看备LVS的日志
  # /etc/rc.d/init.d/keepalived stop
  停止 keepalived:                                          [确定]


[*]# cat /dev/null >/var/log/messages
[*]# tail -f /var/log/messages
[*]Jan 22 04:41:09 test Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE#在没收到主LVS的心跳检测后过度到主
[*]Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE#进入主的角色
[*]Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs. #设置虚VIP协议
[*]Jan 22 04:41:10 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.181 added#添加192.168.1.181IP地址
[*]Jan 22 04:41:10 test avahi-daemon: Registering new address record for 192.168.1.181 on eth0.IPv4.#将192.168.1.181绑定到eth0上
[*]Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.181#
[*]Jan 22 04:41:10 test Keepalived_vrrp: Netlink: skipping nl_cmd msg...

  2、启动主LVS的Keepalived服务,查看备节点的日志
  # /etc/rc.d/init.d/keepalived start
  正在启动 keepalived:                                    [确定]
  查看备的日志如下
  # tail -f /var/log/messages
  Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert
  Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE
  Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs.
  Jan 22 04:47:42 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.181 removed
  Jan 22 04:47:42 test avahi-daemon: Withdrawing address record for 192.168.1.181 on eth0.
  Jan 22 04:47:42 test Keepalived_vrrp: Netlink: skipping nl_cmd msg...
  在主LVS挂掉以后,备LVS会接替主节点的工作,主LVS起来以后,备LVS会把工作交给主节点



页: [1]
查看完整版本: LVS DR + Keepalived 负载均衡配置详解(测试篇)