Board logo

标题: CentOS8_Keepalived双机热备+Apache [打印本页]

作者: admin    时间: 2020-5-7 13:55     标题: CentOS8_Keepalived双机热备+Apache

Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能——判断调度服务器、节点服务器的可用性,及时隔离故障主机并替换为新的服务器,当故障主机恢复后将其重新加入群集。 Keepalived采用VRRP(虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备份功能。 VRRP是针对调度器的一种备份解决方案——由多台调度器组成一个热备组,通过共用的虚拟IP 地址对外提供服务; 每个热备组内同一时刻只有一台调度器提供服务,其他调度器则处于冗余状态,若当前的调度器失效了,其他调度器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。 热备组内的每台调度器都可能成为主调度器,虚拟IP地址可以在热备组内的路由器之间进行转移,所以也称之为漂移IP地址。 图片1.png 主调度器master:192.168.168.154/24 备用调度器 slave::192.168.168.155/24 实验中,设置了一个(VIP)虚拟IP地址:(可以有多个的) VIP:192.168.168.180 master [root@centos8 ~]# yum -y install keepalived [root@centos8 ~]# yum -y install net-tools [root@centos8 ~]# keepalived -v Keepalived v2.0.10 (11/12,2018) 修改master的keepalived的配置文件: cat >/etc/keepalived/keepalived.conf<< EOF ! Configuration File for keepalived global_defs { router_id Master ## 每个参与热备的调度器都要指定不同的名字 } vrrp_instance VI_1 { state MASTER ## 热备状态,MASTER表示主调度器 interface ens160 ## 承载VIP地址的物理接口 virtual_router_id 1 ## 虚拟路由器的ID,每个热备组保持一致 priority 100 ## 优先级,数值越大,优先级越高 advert_int 1 authentication { auth_type PASS auth_pass 888 ## 自定义密码,密码要一致 } virtual_ipaddress { 192.168.168.180 ## 指定漂移IP地址 } } EOF [root@centos8 ~]# systemctl start keepalived [root@centos8 ~]# systemctl enable keepalived 验证: [root@centos8 ~]# ip addr show dev ens160 2: ens160: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:46:79:df brd ff:ff:ff:ff:ff:ff inet 192.168.168.154/24 brd 192.168.168.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet 192.168.168.180/32 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::fa3a:4c71:c52e:a740/64 scope link noprefixroute valid_lft forever preferred_lft forever slave [root@python ~]# dnf -y install keepalived net-tools [root@python ~]# keepalived -v Keepalived v2.0.10 (11/12,2018) 修改slave的keepalived的配置文件: cat >/etc/keepalived/keepalived.conf<< EOF ! Configuration File for keepalived global_defs { router_id Slave1 ## 每个参与热备的调度器都要指定不同的名字 } vrrp_instance VI_1 { state SLAVE ## 热备状态,SLAVE表示备用调度器 interface ens160 ## 承载VIP地址的物理接口 virtual_router_id 1 ## 虚拟路由器的ID,每个热备组保持一致 priority 99 ## 优先级,要低于主调度器 advert_int 1 authentication { auth_type PASS auth_pass 888 ## 自定义密码,密码要一致 } virtual_ipaddress { 192.168.168.180 ## 指定漂移IP地址 } } EOF [root@python ~]# systemctl start keepalived [root@python ~]# systemctl enable keepalived 验证: [root@python ~]# ip addr show dev ens160 2: ens160: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:e4:fe:ec brd ff:ff:ff:ff:ff:ff inet 192.168.168.155/24 brd 192.168.168.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet 192.168.168.180/32 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::5b05:3e25:3423:f5d6/64 scope link noprefixroute valid_lft forever preferred_lft forever 笺注: master、slave都再重启一次keepalived服务: systemctl restart keepalived 客户端远程测试调度服务器的双机热备切换功能: 图片2.png 实验证明,无论是master关闭了网卡,还是slave关闭了网卡,客户端都可以与虚拟IP地址通讯;在切换时,可能有几秒钟的不通,但会自己恢复正常。 当客户端访问虚拟IP地址时,所有的请求(包括TCP端口的请求)都会去到活跃状态的调度服务器上;当活跃状态的调度服务器的keepalived服务不能提供服务时,客户端的访问请求才会被切换到备用的调度服务器上。 笺注:Keepalived和Nginx、Apache是可以安装在一台服务器上的,从而实现Nginx、Apache的双机热备。 Keepalived+Apache 图片3.png 注释:当客户端访问虚拟IP的Web网站时,相当于访问处于活跃状态的调度服务器的Web网站。 修改master的Apache的默认首页内容: [root@centos8 ~]# echo 'master' > /var/www/html/index.html 修改slave的Apache的默认首页内容: [root@python ~]# echo 'slave' > /var/www/html/index.html 两台服务器的防火墙配置(firewalld): systemctl restart firewalld firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload 可以看到客户端访问虚拟IP的TCP 80端口时,默认是去到master 图片4.png master关闭Apache服务: [root@centos8 ~]# systemctl stop httpd master关闭Apache服务,其实并不能触发keepalived的切换: 图片5.png master关闭keepalived服务: [root@centos8 ~]# systemctl stop keepalived 可以看到master关闭keepalived服务后,才会触发keepalived的切换 图片6.png 相关文章: CentOS8_Keepalived双机热备+MariaDB CentOS8_Keepalived+LVS Keepalived双机热备+Nginx

图片附件: 图片1.png (2020-5-7 13:50, 76.94 KB) / 下载次数 149
http://blog.zhuohua.store/attachment.php?aid=6920&k=84260a38e84db5b208e29ab4beb80e58&t=1714708745&sid=KuARuE



图片附件: 图片2.png (2020-5-7 13:53, 12.96 KB) / 下载次数 156
http://blog.zhuohua.store/attachment.php?aid=6921&k=5bd13d654f4fcf894dd662d4aa534b0f&t=1714708745&sid=KuARuE



图片附件: 图片3.png (2020-5-7 13:53, 78.32 KB) / 下载次数 142
http://blog.zhuohua.store/attachment.php?aid=6922&k=6390d578650a1bb1d11bb4cc314e7549&t=1714708745&sid=KuARuE



图片附件: 图片4.png (2020-5-7 13:54, 14.39 KB) / 下载次数 144
http://blog.zhuohua.store/attachment.php?aid=6923&k=0d8d1a987f77b3db1e5d883e85ffe118&t=1714708745&sid=KuARuE



图片附件: 图片5.png (2020-5-7 13:54, 51.65 KB) / 下载次数 148
http://blog.zhuohua.store/attachment.php?aid=6924&k=2e8468e0e5651315edf8d238488fdeeb&t=1714708745&sid=KuARuE



图片附件: 图片6.png (2020-5-7 13:55, 15.93 KB) / 下载次数 140
http://blog.zhuohua.store/attachment.php?aid=6925&k=6a0bed89f65c2346984ee83a699f85a1&t=1714708745&sid=KuARuE






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2