HA高可用?集群?

一、HA高可用

高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指通过设计,减少系统服务不可用的时间。假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为0.876个小时。

描述通俗叫法可用性级别年度停机时间
基本可用性        2个999%87.6小时
较高可用性3个999.9%8.8小时
具有故障自动恢复能力的可用性4个999.99%53分钟
极高可用性5个999.999%5分钟

实现高可用的核心点:

  • 冗余(多台服务器)
  • 自动切换

备份服务器:

  • 冷备  服务器不启用,使用的时候在开启
  • 热备  服务器在等待状态,一旦主宕机,备立即接管,自动切换

通过VIP的方式,切换主备服务器

  • 默认VIP绑定在主服务器(master)
  • master不可用,就切换VIP到备份服务器(backup)
  • 用户可以使用到连续性更好的服务,通过VIP访问服务器

常用来单独实现高可用的软件:

  • keepalived
  • heartbeat 较早 属于redhat HA工程的一部分

 二、keepalived

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件

直白一点说就是一个集群中,一台主崩了剩余的会顶替他的位置,当然都集群了这些服务器要互通!

1、安装keepalived

准备两台服务器master(web1)和backup(web2),全部安装keepalived

[root@server02 ~]# yum -y install keepalived

keepalived所用到的文件及目录 

文件/目录作用
/etc/keepalived/keepalived.conf生效的配置文件
/etc/init.d/keepalived服务器管理脚本
/var/log/messages日志信息         
2、配置keepalived
   2.1、养成修改配置文件前作备份的良好习惯(主备都要做哦)
[root@server02 ~]# cd  /etc/keepalived
[root@server02 keepalived]# cp keepalived.conf keepalived.conf_bak
   2.2、分别修改主备服务器的配置文件
  • 示例配置文件说明

! Configuration File for keepalived
#发送邮件的配置
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
#vrrp协议的配置
vrrp_instance VI_1 {
    #工作模式
    state MASTER
    #监听的网卡
    interface eth0
    #虚拟路由id 需要和备服务器一致
    virtual_router_id 51
    #权重 优先级
    priority 100
    #vrrp包的发送周期  1s
    advert_int 1
    #权限验证
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    #需要绑定切换的VIP
    virtual_ipaddress {
        192.168.200.16
        192.168.200.17
        192.168.200.18
    }
}

  • 主服务器
! Configuration File for keepalived

global_defs {
   #唯一的路由id
   router_id LVS_1
}

vrrp_instance VI_1 {
    ##工作模式  MASTER 或者BACKUP
    state MASTER
    ## 监听网卡
    interface enp0s3
    ##  #虚拟路由id 需要和备服务器一致
    virtual_router_id 51
    ## #权重 优先级
    priority 100
    #vrrp包的发送周期  1s
    advert_int 1
     #权限验证, 不需要 动
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # vip  :虚拟ip的设置
    virtual_ipaddress {
        10.0.2.200
    }
}
  • 备服务器
! Configuration File for keepalived

global_defs {
   #唯一的路由id
   router_id LVS_2
}

vrrp_instance VI_1 {
    ##工作模式  MASTER 或者BACKUP
    state BACKUP
    ## 监听网卡
    interface enp0s3
    ##  #虚拟路由id 需要和备服务器一致
    virtual_router_id 51
    ## #权重 优先级
    priority 100
    #vrrp包的发送周期  1s
    advert_int 1
     #权限验证, 不需要 动
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # vip  :虚拟ip的设置
    virtual_ipaddress {
        10.0.2.200
    }
}
  • 按主备顺序启动keepalived
[root@server02 ~]# systemctl start  keepaalived
  • 查看主备服务器的网卡信息
[root@server02 ~]#  ip a

 

这里你会发现你设置的vip出现在了主服务器上

3、测试
   3.1、模拟主服务器断电

        直接关闭主服务器web1

        浏览器刷新访问 http://10.0.2.200/  ==>  会转到从服务器web2,完成切换

        在启动主服务器web1  ==>  关闭从服务器web2  ===>  自动切换成主服务器web1

   3.2、模拟主服务器断网
[root@server02 ~]# service network stop

        与上边方法基本一样,不同的是要重启网卡

  • 通过以上实验检测,发现当主服务器整机不可用即宕机时,VIP会切换到备用服务器

三、集群

        在Linux环境中,集群指的是由多台计算机(称为节点)通过高速网络连接构成的一个松耦合或紧耦合系统,这些计算机协同工作以实现特定的目标,如提高计算能力、增加服务可用性、实现负载均衡或者增强数据存储的可靠性。

        我目前的理解为:集群就是拥有同种功能的多台机器,类似于克隆,但是他又不单单只有这些功能,一台机器有可能是多个集群的交点。

        使用集群后即使有一台出现故障,也会有其他机器顶替位置,有了维护时间,对外却不会停止服务,方便维护。此外集群可以同时处理信息,大大提高了性能。在集群系统中,尽管部分硬件和软件也还是会发生故障,但整个系统的服务还是可用的,集群系统在提高系统可用性的同时,也大大减小了系统故障带来的业务损失。

常见集群分类
  • 负载均衡集群,简称LBC或者LB

  • 高可用性集群,简称HAC

  • 高性能计算集群,简称HPC

  • 网格计算集群

所以说高可用、负载均衡都是基于集群之上咯!!!

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值