yanglgzh 发表于 2018-12-29 10:59:11

LVS + Keepalived 高可用群集部署

  简介:
keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(HealthChecking)功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机修复后将其重新加入群集。
Keepalived采用VRRP(VirtualRouterRedundancyProtocl,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。
  实验拓扑:
http://i2.运维网.com/images/blog/201808/27/abfdf60c0e1bd9f8b0449f108fb60c2a.png
  实验环境:




序号
名称
类型
IP地址




1
keepalived 主
centos7
192.168.10.10


2
keepalived 从
centos7
192.168.10.20


3
节点服务器 web1
centos7
192.168.10.100


4
节点服务器 web2
centos7
192.168.10.200


5
客户机 client
centos7
192.168.10.15


  实验过程:
一、调度服务器
1、安装环境部署、关闭防火墙、安全功能,两台调度服务器相同操作

#yum install keepalived ipvsadm -y
#systemctl stop firewalld.service
#setenforce 0
  2、修改网卡为仅主机模式,配置静态IP,两台调度服务器相同操作,DR 1:192.168.10.10             DR 2:192.168.10.20

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#service network restart
http://i2.运维网.com/images/blog/201808/27/54e28162fd64b32912915122564cdd5e.png
3、开启路由功能、关闭重定向功能,两台调度服务器相同操作

#vi /etc/sysctl.conf
#sysctl -p
http://i2.运维网.com/images/blog/201808/27/11886fbc757f4fdcfb903b5662297d05.png
4、配置虚拟IP,并开启。注意:如果DR开启虚拟网卡时报错,可用 service network restart 重启网卡,再次开启即可成功。

# cd /etc/sysconfig/network-scripts/
#cp ifcfg-ens33 ifcfg-ens33:0
#vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.10.2
NETMASK=255.255.255.0
#ifup ens33:0
  DR 1:
http://i2.运维网.com/images/blog/201808/27/ab4c562f6a3ec886d266411b6da56bf8.png
DR 2:
http://i2.运维网.com/images/blog/201808/27/bf7b09011d19fcff52a2a71e5f8f0798.png
5、编辑服务脚本,并执行,两台调度服务器相同操作

# cd /etc/init.d/
#vim dr.sh
http://i2.运维网.com/images/blog/201808/27/39eea606d80a16fc50870ceda2181a3a.png

#chmod +x dr.sh
#service dr.sh start
  二、节点服务器
1、安装环境部署,关闭防火墙、安全功能,两台节点服务器同样操作

#yum install httpd -y
#systemctl stop firewalld.service
#setenforce 0
  2、开启网页服务,并设置测试页面,web1和web2测试页面加以区分

#systemctl start httpd.service
#cd /var/www/html/
#echo "this is aaa" > index.html      #web1
#echo "this is bbb" > index.htm       #web2
  3、修改网卡为仅主机模式,web1配置静态IP为192.168.10.100,web2:192.168.10.200,并配置回环网卡的虚拟IP

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#service network restart
#cd /etc/sysconfig/network-scripts
#cp ifcfg-lo ifcfg-lo:0
#vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.2
NETMASK=255.255.255.0
ONBOOT=yes
  web1:
http://i2.运维网.com/images/blog/201808/27/d8288d6c6b6ee520d872872e9833e72f.png
web2:
http://i2.运维网.com/images/blog/201808/27/22aeb284e260303addf93a1b8f1b55ae.png
  4、编辑服务脚本,并执行,两台节点服务器相同操作

#cd /etc/init.d/
#vim web.sh
http://i2.运维网.com/images/blog/201808/27/ac7d0cc56f61b4814e7bfdc17e19cccf.png

#chmod +x web.sh
#service web.sh start
#ifup lo:0
  5、用火狐浏览器进行自测:firefox "http://127.0.0.1/" & ,访问后重启脚本服务
web1:
http://i2.运维网.com/images/blog/201808/27/74a6d43d29d7955adf011eeec67df9b2.png
web2:
http://i2.运维网.com/images/blog/201808/27/710702458c6543401e6cf84783a545df.png
*到此部分,节点服务器服务部署完成,DR调度服务器配置完成,便可用客户机检测:通过访问调度服务器虚拟IP,可以访问到web1、web2的测试页面
http://i2.运维网.com/images/blog/201808/27/fccd0e8077718d8025455cd5e44d0807.png
http://i2.运维网.com/images/blog/201808/27/8109570356a6a89487f49923febc5b41.png
三、在两台调度服务器上配置keepalived服务
1、在192.168.10.10上配置主服务器

#cd /etc/keepalived/
#vim keepalived.conf
http://i2.运维网.com/images/blog/201808/27/47dcf0037fa65285a774ad6a6f4c9d1d.png
2、开启服务,并查看状态

#systemctl start keepalived
#systemctl status keepalived
http://i2.运维网.com/images/blog/201808/27/8c07bba44b5c21b098014b91285fbf3a.png
3、在192.168.10.20上配置备用服务器

#cd /etc/keepalived/
#vim keepalived.conf
http://i2.运维网.com/images/blog/201808/27/c70bab2b460b2e24f09617d7a7cec2c6.png
4、开启服务,并查看状态
http://i2.运维网.com/images/blog/201808/27/1fd3301594a1e7fce4b96b90dc52a81a.png
5、测试,如果客户机无法访问,此时只需要将其防火墙重新关闭,并重启相关服务即可。
http://i2.运维网.com/images/blog/201808/27/8c36077999c848396bc112bcaa9e0bf6.png
访问到网页后,down掉keepalived的主服务器,再次访问,如果成功,说明热备冗余设置成功。
http://i2.运维网.com/images/blog/201808/27/8036e2b581ebd2d7382f27ac47a70b64.png
  到此实验已全部完成,其中报错较多,可以试着用重启服务等方式进行调整,并注意是否是虚拟网卡的问题!



页: [1]
查看完整版本: LVS + Keepalived 高可用群集部署