LVS+KEEPALIVE安装部署

Lvs+keepalived安装部署

  1. Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器、管理服务器池,而不仅仅是双机热备。优点:keepalived对lvs负载调度器实现热备切换,提高可用性,对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。
  2. 基于lvs+keepalived实现的lvs群集结构中,至少包含两台热备的负载调度器。使用keepalived构建lvs群集时,也需要用到ipvsadm管理工具,但是大部分工作会由keepalived自动完成,不需要手动执行ipvsadm(除了查看和监控群集以外)。
  3. LVS群集是针对Linux内核开发的一个负载均衡项目,基于IP地址虚拟化应用VIP,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决办法。可使用ipvsadm管理工具。通过整合多台相对廉价的普通服务器,以同一个地址对外提供相同的服务。
  4. 负载均衡的直接路由工作模式。简称DR工作模式,负载调度器仅作为客户机的访问入口,各节点服务器与调度器位于同一个物理网络,节点服务器直接回应客户机的请求,而不再经过负载调度器。
  5. Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能–判断LVS负载调度器,节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入集群。

LVS(DR—RR)+KEEPALIVE配置

配置信息:

角色 IP 操作系统
LVS-DR-MASTER 192.168.153.140 centos6.5_x64
LVS-DR-BACKUP 192.168.153.131 centos6.5_x64
LVS-DR-VIP 192.168.153.100 centos6.5_x64
WEB1-Realserver 192.168.153.139 centos6.5_x64
WEB2-Realserver 192.168.153.133 centos6.5_x64

注意:请忽略IP地址,以自己环境中的为主。
切记:关闭防火墙和selinux

操作开始:

LVS-DR操作:

分别在LVS主和从上安装如下:

[root@DB ~]# yum -y install keepalived ipvsadm

配置主keepalived:
进入指定目录并修改配置文件

[root@DB ~]# cd /etc/keepalived/
[root@DB keepalived]# vim keepalived.conf

修改前完整图示:1-56行:56行之后的不用管,也可以直接删除

在这里插入图片描述
修改前后对比图—行号可能会出现混乱,所以大家主要参考修改前结合自身理解去操作:
1、

在这里插入图片描述

操作:第四行起删除8行

在这里插入图片描述
————————————————————————————————
2、

在这里插入图片描述

操作:第18行起删除两行,然后更改唯一一行,此处为VIP地址

在这里插入图片描述
————————————————————————————————
3、

在这里插入图片描述

操作:
22行:更改VIP的IP与端口
25行:修改lvs模式为DR
27行:删除掉
30行:更改真实服务器IP和端口
修改31行后,从32行起删除8行
之后在TCP_CHECK后面的花括号里添加一行内容
最后复制real_server9行内容,在最后一个花括号上粘贴,最后修改IP即可
在这里插入图片描述
修改后完整图示:

在这里插入图片描述
主keepalived配置文件完成修改
启动并检查VIP是否成功

[root@DB keepalived]# service keepalived start
[root@DB keepalived]# ip a

在这里插入图片描述

配置备keepalived
直接使用scp把主keepalived配置文件传输到备,修改一二即可

[root@DB2 keepalived]# scp 192.168.153.140:/etc/keepalived/keepalived.conf ./

在这里插入图片描述
在这里插入图片描述
最后启动keepalived即可

节点web服务器配置

注:WEB1与WEB2操作除测试页面不同外完全一样
测试页面不同是为了直观展现负载效果

  • 使用DR模式的时候,节点服务器也需要配置vip地址,并且调整内核的ARP响应参数以阻止更新VIP的MAC地址,避免发生冲突。
[root@THREE ~]# cd /etc/sysconfig/network-scripts/
[root@THREE network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@THREE network-scripts]# vim ifcfg-lo:0

在这里插入图片描述
在这里插入图片描述
启动并检查

[root@THREE network-scripts]# ifup lo:0
[root@THREE network-scripts]# ifconfig lo:0

如图下即为成功
在这里插入图片描述

  • 添加VIP本地访问路由(将访问VIP的数据限制正在本地,避免通信紊乱)
[root@THREE ~]# vim /etc/rc.local 

在这里插入图片描述
在这里插入图片描述
命令行操作

[root@THREE ~]# route add -host 192.168.153.100 dev lo:0
  • 修改内核参数
[root@THREE ~]# vim /etc/sysctl.conf

进入配置文件后,末行添加6行内容
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

注意:

  • arp_announce为2时:只向该网卡回应与该网段匹配的ARP报文。
  • arp_ignore为1:只响应目的IP地址为接收网卡上的本地地址的arp请求 其主要是实现禁止响应ARP的请求。
[root@THREE ~]# sysctl -p
  • 安装httpd,创建网页测试lvs集群
[root@THREE ~]# yum -y install httpd
[root@THREE ~]# echo web1 > /var/www/html/index.html
[root@THREE ~]# service httpd start

测试:

网页访问VIP地址可以直观看到负载均衡效果,如下图

在这里插入图片描述
在外面直接访问虚拟ip地址,则可以访问到对应节点上的网站信息,当主调度器坏掉的时候,会自动切换到备用的调度器上面,网站访问量根据权重和算法来计算。
查看负载分配情况可以执行下面命令(在主keeoalived上查询)

[root@DB ~]# ipvsadm -lnc
IPVS connection entries
pro expire state       source             virtual            destination
TCP 01:57  FIN_WAIT    192.168.153.1:64206 192.168.153.100:80 192.168.153.139:80
TCP 01:56  FIN_WAIT    192.168.153.1:64199 192.168.153.100:80 192.168.153.139:80
TCP 01:57  FIN_WAIT    192.168.153.1:64204 192.168.153.100:80 192.168.153.139:80
TCP 01:56  FIN_WAIT    192.168.153.1:64201 192.168.153.100:80 192.168.153.133:80
TCP 14:59  ESTABLISHED 192.168.153.1:64209 192.168.153.100:80 192.168.153.139:80
TCP 01:54  FIN_WAIT    192.168.153.1:64195 192.168.153.100:80 192.168.153.133:80
TCP 01:57  FIN_WAIT    192.168.153.1:64205 192.168.153.100:80 192.168.153.133:80
TCP 01:56  FIN_WAIT    192.168.153.1:64202 192.168.153.100:80 192.168.153.139:80
TCP 01:57  FIN_WAIT    192.168.153.1:64203 192.168.153.100:80 192.168.153.133:80
TCP 01:57  FIN_WAIT    192.168.153.1:64207 192.168.153.100:80 192.168.153.133:80

测试调度器:
将主keepalived停掉之后,继续访问http://192.168.20.100
页面不受影响为成功

查看VIP是否转移

 [root@DB2 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:c7:ce:80 brd ff:ff:ff:ff:ff:ff
    inet 192.168.153.131/24 brd 192.168.153.255 scope global eth0
    inet 192.168.153.100/32 scope global eth0
    inet6 fe80::20c:29ff:fec7:ce80/64 scope link 
       valid_lft forever preferred_lft forever

到这里,我们的LVS-DR+KEEPALIVED配置就到此结束

(* ̄︶ ̄)

猜你喜欢

转载自blog.csdn.net/qq_49296785/article/details/108476658