Keepalived 双机热备

1. Keepalived  双机热备

keepalived主要用来提供故障切换(failover)和健康检查(Health  Checking)。

1.2 Keepalived 热备方式

Keepalived  采用VRRP (Virtual  Router Redundancy Protocol,虚拟路由冗余协议)热备份协议。VRRP针对路由器的一种备份解决方案——多台路由器组成一个热备组。公用虚拟IP对外提供服务;每个热备组同一时刻只有一台路由器提供服务,其他路由处于冗余状态。当前路由器失效,其他路由器自动接替(根据优先级)虚拟IP。

热备组每台路由器都有可能称为主路由器,虚拟路由器IP可以在热备组内路由器之间进行转移,称为漂移IP。

2. 案例分析

 2.1 配置主调度器

1:主服务器keepalived的安装

[root@localhost ~]# systemctl stop NetworkManager

[root@localhost ~]# setenforce 0

[root@localhost ~]# systemctl stop firewalld

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

[root@localhost ~]# systemctl enable keepalived

2:主服务器keepalived的配置

[root@localhost ~]# cd /etc/keepalived/

[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak

[root@localhost keepalived]# vi keepalived.conf

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

(高可用,故障转移)

   notification_email_from Alexandre.Cassen@firewall.loc

   #vrrp_strict       

   smtp_server 192.168.200.1 

   smtp_connect_timeout 30

   router_id LVS_01            (路由器名称)

}

vrrp_instance VI_1 {                           (VRRP热备事例)    

    state MASTER              (热备状态,master表示主调度器状态,BACKUP表示从调度器)

    interface ens33                  (VIP物理接口)  

    virtual_router_id 51               (虚拟路由ID:在一个群集里面id号必须一致) 

    priority 100                        (优先级0-254,数字越大越优先)

    advert_int 1                   (优先级0-254,数字越大越优先)

    authentication {                         (身份验证,每个热备组保持一致)

        auth_type PASS         (认证类型:密码认证)

        auth_pass 1111

    }

    virtual_ipaddress {                    (漂移地址vip,可以有多个)

        192.168.10.172

    }

}

备注:

vrrp_strict #严格执行VRRP协议规范,此模式不支持节点单播,如果配置了此参数,vip可以漂移到这台服务器,但是ping vip不通,因此需要将此参数去掉

负载均衡

virtual_server 192.168.10.172 80 {           (虚拟服务器IP地址,端口)

    delay_loop 6                            (健康检查间隔时间)

    lb_algo rr                                (轮询rr 调度算法)

    lb_kind DR                                 (直接路由DR群集工作模式)

    nat_mask 255.255.255.0

 #  persistence_timeout 50                   (连接保持时间,)

    protocol TCP                             (采用tcp协议)

    real_server 192.168.10.103 80 {                (第一个web节点地址,端口)

        weight 1                                    (节点权重)

        TCP_CHECK {                               (健康检查方式)

            connect_port 80                          (检查目标端口)

            connect_timeout 3                      (连接超时时间)

            nb_get_retry 3                            (重试次数)

            delay_before_retry 3                        (重试间隔)

        }

    }

    real_server 192.168.10.104 80 {               (第二个web节点ip地址,端口)

        weight 1

        TCP_CHECK {

            connect_port 80

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

备注:

persistence_timeout 50 这个参数的意义是保持客户端的请求在这个时间段内全部发到同一个真实服务器

3:主服务器内核参数的配置

[root@localhost ~]# vi /etc/sysctl.conf

在末尾添加:

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.ens33.send_redirects = 0

[root@localhost ~]# sysctl -p

4:开启主服务器的keepalived服务

[root@localhost keepalived]# systemctl start keepalived

2.2.  服务器配置

web1服务器配置

(1)web1网络的配置

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0

[root@localhost network-scripts]# vi ifcfg-lo:0

DEVICE=lo:0

IPADDR=192.168.10.172

NETMASK=255.255.255.255

ONBOOT=yes

[root@localhost network-scripts]# systemctl restrt network

[root@localhost network-scripts]# vi /etc/rc.local

/sbin/route add -host 192.168.10.172 dev lo:0

[root@localhost network-scripts]# route add -host 192.168.10.172 dev lo:0

(2)httpd服务的安装

[root@localhost ~]# yum -y install httpd

[root@localhost ~]# vi /var/www/html/index.html

test web01
 

(3)内核参数的设置

[root@localhost ~]# vi /etc/sysctl.conf

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

(4)开启httpd服务

[root@localhost ~]# systemctl start httpd

备注:

web1和web2配置一样,仅网站内容不一,便于观察。

2.3  测试LVS-keeplived 高可用性

在客户端使用脚本测试

[root@localhost ~]#  curl  192.168.10.172

[root@localhost ~]# for i in $(seq 10); do curl http://192.168.10.172  ;done

注意事项

(1)生产环境中可以使用NFS服务器保证网站代码的一致性,在测试环境中为了观察效果,web服务器池中的网站代码可以不一样,更加便于观察实验效果。

(2)测试计算机不要使用master调度器,在master调度器上访问VIP时,调度器不会将访问的请求调度到web服务器,而是自己尝试解析;在web服务器上测试时只能访问到自己的网页,无法实现调度。所以客户端一定要使用独立的测试计算机,或者使用处于BACKUP状态的调度器。

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 智慧社区背景与挑战 随着城市化的快速发展,社区面临健康、安全、邻里关系和服务质量等多方面的挑战。华为技术有限公司提出智慧社区解决方案,旨在通过先进的数字化技术应对这些问题,提升城市社区的生活质量。 2. 技术推动智慧社区发展 技术进步,特别是数字化、无线化、移动化和物联化,为城市社区的智慧化提供了可能。这些技术的应用不仅提高了社区的运行效率,也增强了居民的便利性和安全性。 3. 智慧社区的核心价值 智慧社区承载了智慧城市的核心价值,通过全面信息化处理,实现对城市各个方面的数字网络化管理、服务与决策功能,从而提升社会服务效率,整合社会服务资源。 4. 多层次、全方位的智慧社区服务 智慧社区通过构建和谐、温情、平安和健康四大社区模块,满足社区居民的多层次需求。这些服务模块包括社区医疗、安全监控、情感沟通和健康监测等。 5. 智慧社区技术框架 智慧社区技术框架强调统一平台的建设,设立数据中心,构建基础网络,并通过分层建设,实现平台能力及应用的可持续成长和扩展。 6. 感知统一平台与服务方案 感知统一平台是智慧社区的关键组成部分,通过统一的RFID身份识别和信息管理,实现社区服务的智能化和便捷化。同时,提供社区内外监控、紧急救助服务和便民服务等。 7. 健康社区的构建 健康社区模块专注于为居民提供健康管理服务,通过整合医疗资源和居民接入,实现远程医疗、慢性病管理和紧急救助等功能,推动医疗模式从治疗向预防转变。 8. 平安社区的安全保障 平安社区通过闭路电视监控、防盗报警和紧急求助等技术,保障社区居民的人身和财产安全,实现社区环境的实时监控和智能分析。 9. 温情社区的情感沟通 温情社区着重于建立社区居民间的情感联系,通过组织社区活动、一键呼叫服务和互帮互助平台,增强邻里间的交流和互助。 10. 和谐社区的资源整合 和谐社区作为社会资源的整合协调者,通过统一接入和身份识别,实现社区信息和服务的便捷获取,提升居民生活质量,促进社区和谐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值