温故:
最近有点忙,一直在忙着搬家所以没有更新文章,今天刚好有时间所以和大家聊聊。前面的日子里一直和大家分享网络方面的知识,基本上把网络的发展历程及现状都和大家介绍了一遍,希望大家在闲暇的时间多去看看。看我的也好,别人的也罢,总之多看点总没有坏处。
知新:
一、什么是高可用
今天又是一个夜班,也不知道写点啥,所以就打算和大家聊聊高可用,即HA.说起这个概念大家应该不会陌生,毕竟只要是干运维的基本都用过,最起码也听说过吧!!!咱们先说说什么是高可用,所谓的高可用就是其实就是指系统在出现故障时能持续工作而不影响业务运行的能力。当然了这是我的理解,官方的解释是这样子的:可用性(也称有效性) 是指可维修产品在规定的条件下使用时具有或维持其功能的能力。其量化参数为可用度, 表示可维修产品在规定的条件下使用时,在某时刻具有或维持其功能的概率。可用度(也称有效度) 通常记作A, 可用平均无故障时间(MTBF)和平均修复时间(MTTR)来计算:A = MTBF/(MTBF + MTTR)。个人认为能记住我说的那个理解就够了,它这个实在是有些复杂,挺难理解的。
二、高可用的原理
目前比较常用的场景就是负载均衡服务器的高可用性,在实际的运维工作中,为了保障业务的持续运行,实现系统的冗余功能,就需要建立一个备机。主机和备机上都运行High Availability监控程序,这个监控程序的作用就是每隔一段固定的时间就会去收集有没有从主机那边发来的类似“我还活着呢”的信息,当备机不能在一定的时间内收到这样的信息时,它就接管主机的服务IP并继续提供服务;假设此时主机恢复正常了,备机又能从主机收到“我还活着呢”这样的信息时,它就释放服务IP地址,这样的主机就开始再次进行集群管理的工作了。为在主机失效的情况下系统能正常工作,我们在主备机之间实现负载集群系统配置信息的同步与备份,保持二者系统的基本一致。这里有一点是要注意的:一定要做到数据同步。为什么呢?举个简单的例子,假设说你现在管理的系统的主备机各有一台,但是二者之间没有做实时同步,两台服务器之间差了一个月的数据。这个时候如果主机出现了问题,服务切到了备机,就会出现很多问题,比如:两个服务器之间的密码数据不一致,恰好在这一个月的时间差内有很多用户改了密码。那么服务切到了备机之后,这些改过密码的用户就登陆不上去了。所以说一定要及时做数据同步。那么高可用到底是如何实现的呢?主要分为以下三个步骤:
自动侦测(Auto-Detect):通过监听程序相互
侦测对方运行的情况,所检查的项目有:主机硬件(CPU和周边)、主机网络、主机操作系统、数据库引擎及其它应用程序、主机与磁盘阵列连线。为确保侦测的正确性,而防止错误的判断,可设定安全侦测时间,包括侦测时间间隔,侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供维护参考。
自动切换(Auto-Switch) :某一主机如果确认对方故障,则正常主机除继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服务。
自动恢复(Auto-Recovery):在正常主机代替故障主机工作后,故障主机可离线进行修复工作。在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回
三、高可用的目的
创建群集系统,通过实现高可用性的软件将冗余的高可用性的硬件组件和软件组件组合起来,消除单点故障:
消除供电的单点故障----采用多路供电
消除磁盘的单点故障----做Raid
消除SPU(System Process Unit)----单点故障
消除网络单点故障----双链路
消除软件单点故障----Nginx反向代理
尽量消除单系统运行时的单点故障----双机
四、工作方式
(1)主从方式 (非对称方式)
工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。
(2)双机双工方式(互备互援)
工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。
(3)集群工作方式(多服务器互备方式)
工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。
今天关于高可用暂时就聊到这里!!!