其实到目前为止我们有很多高可用技术,比方说,在组件级别,我们可以配置多块网卡,多块网卡之间,我们有nic teaming 网卡的多路径,存储有 存储可以配多个上联口,可以有多个存储卡,可以配存储的多路径,这个是防止组件级别的故障,要给组件换了,另外一个组件可以直接去接管,另外呢,我们也提到了vmotion,storage vmotion,DRS这样的技术,(这个技术不算是高可用技术,DRS vmotion是在虚机开机的时候,我可以把虚机从一个主机迁到另外一个主机他本身并不是一个高可用技术,但是,它可以减少业务的宕机时间,一个业务宕机,一般有两种情况,一种叫做计划外的宕机,一种叫做计划内的宕机,计划内的宕机,是我要对这个系统或者这个设备做维护了,我要把这个系统宕一下,计划外的宕机,就是这个东西坏了,我要把它修好,然后业务再重新起来,那么刚才讲的组件级别的故障切换是属于防止计划外宕机的,vmotion DRS技术是减少计划内的宕机的 ,所以严格来讲,它不算是high A,它减少的是计划内的宕机的时间,当然也可以把它放到这里面,也是没有问题的,)除此之外,还有vsphere HA,vsphere HA是当一个主机dawn的时候,我们可以把这个主机上运行的虚机在其他的主机上重启,或者还有些其他的技术,最主要的,最常见的用途是这个,它也是解决计划外宕机的,它是一个高可用,它可以减少计划外的宕机时间,
他是有重启的,另外其实还会有一个技术是容错,容错是当主机出现故障的时候,我可以把业务切换到另一台主机的同样一台虚机上,也就是说,如果你启用了容错的技术,他会在HA的基础上去运行,那么他会,你如果运行了一台虚机,他会在不同的主机上起两个虚机起来,两个虚机一模一样,只不过,主虚机对外提供服务,副虚机不对外提供服务,一直在等,当主虚机坏了,副虚机就接管业务,这个后面再讲。那么这个也是防止物理硬件出故障,引起宕机。那么在这个基础之上,这个解决的都是单台主机或者主机级别的高可用,
那么在这些以外,前面还讲过vsphere replication,我们可以利用vsphere replication,把虚机的数据从一个数据中心,复制到另外一个数据中心,从一个存储复制到另一个存储,那么当整个数据中心出故障的时候,我们可以把另一个数据中心的虚机在远程的地方在容灾的数据中心,把它重启起来,那么这样子的话,我们可以做到容灾,当然这里还有一些其他技术的配合,vmware 有个技术叫做site recovery manager,我们把数据复制过去之后,把虚机复制到远程的灾备站点之后,真的出现故障的时候,你要怎么起虚机还是有个很大的事情,你要按照什么样的顺序起一台台的虚机,虚机起来之后,要不要改这里面的配置,定期是否要做容灾的测试,这些工作如果没有SRM,必须手动去完成,手动去完成的话,第一个时间会长,第二个还会出错,那么SRM会自动的给你完成这些工作,
这是容灾的操作,除此之外,我们还讲到备份,vsphere 的storage 的API, DATA protection 它可以配合备份软件,你可以把虚机备份下来,做一个长期的保存,或者将来恢复的时候使用,这些都是高可用数据的保护的方案,那么HA是其中一个很重要的环节,我们来一起看一下
那么HA可以解决什么问题,HA其实可以解决很多问题,其中第一个用的是比较多的,当一台主机坏了的时候, HA能够把我的虚机从其他的主机上重启起来
这个是vsphere HA能够做的第一项比较基本的功能,
也是我们用的最多的功能,注意他做的事情是把虚机从其他的主机上重启,这个过程是有宕机的,宕机的时间大概是分钟级别的,第二,他是有数据丢失的,另存的数据是被丢失了
第二个能做的事情,我不仅可以监控主机,还能监控虚机的操作系统,如果发现某个虚机他的操作系统出现的故障,可以把虚机原地进行重启,注意:怎么就知道这台虚机的操作系统出现了故障,(vmware tool会提供一个操作系统的心跳,如果vmware tools不工作了,说明这个操作系统down了,把虚机在原有的主机上重启,这种用途不多,但是可以这样用,通过vmware tools去监测虚机操作系统的状态,如果虚机操作系统坏了,可以把虚机在原有的主机上重启,这个vsphere HA的第二个功能)
第三个功能,检测应用程序是否出了故障,假如应用程序出了故障,或者可以把应用程序在原有的虚机里面重启,或者把整个虚机在原有的操作系统上重启,凭什么知道应用程序出了故障(这里就有很多做法了,其中常见的做法就是vmware 提供了一个API的接口给应用程序,应用程序有没有出故障,我不知道,但是我可以提供一个vmware tools 的API接口,让应用的编写者定期的发送一个心跳,给到vmware tools,vmware tools 再提供给到esxi主机,如果这个应用程序心跳不正常,那么我就可以知道并且对他进行相应的处理,这个是其中的一种做法,但是这个需要应用程序的配置,当然也有其他的方式,你可以用一些进程来监控一些已知的特定的应用,那么发现他们的状态是不正常的,可以进行重启,但是你会发现,他做的事情都是重启虚机,用的最多的是第一种,)
除此之外还有一种,叫做,vsphere HA的 datastore accessibility failure 或者叫做虚机的组件保护vmcp ,如果我有多台exsi主机,连接一个共享存储,假如连接这个共享存储的线路坏掉了,但是可能由于这个原因,这个主机没有办法访问存储了,那么vmcp可以检测到这个情况,但这个时候,主机还在运行,但是可以检测到这个情况,可以把这个虚机从其他的主机上重启,因为现在目前这个主机已经不能访问存储了,能够检测到,并且能够从其他可以访问这个存储的主机上把这个虚机进行重启。(主机不能访问存储,其实有很多原因,归纳起来有两大类原因,一类,all pass down,一类是permanent device loss,这两种有一点区别,all pass dawn,是指的,主机突然失去了对存储的所有连接,而且,他不知道这个链路能不能恢复,所以他要不停的尝试,常识实际上是需要额外的开销的,permanent device loss 这种永久设备丢失,是不能访问这个device ,但是我知道这个device 不会再回来,可能这个device 在存储上被删除了,这个时候,我确切的知道这个device 不会再回来了,我就不会去尝试了,这个是PDl,不管是那种方式,你都得控制,但是在这种场景下,我需要把这台原有的虚机在原有的主机上正常的shutdown 或者是关机,不然的话,在另外一边重启起来,在网络钟就会有重复的虚机,这样是不行的,所以你必须把原有的主机上的虚机shutdown ,或者是正常的关机然后再到可以访问这个共享存储的其他主机上,把这个虚机开起来)
SP会告诉esxi主机出现了问题-----永久设备丢失
这vmcp用的也不多,虽然是一个很好的技术,在6.x里面开始使用,但是用的也不多,所有这四种方式,用的最多的是第一种方式,主机坏了,我把运行在这个主机上的虚机迁移到其他的主机上运行,要求虚机必须在共享存储上,不然你做不到,
那么不管是哪一种,首先主机和主机之间要能够检测到对方的状态,这个主机要能够知道这个主机坏了,这样,我才能把坏了的主机上的虚机重新开起来,第一个问题,谁来做这个检测的动作,谁来监控说哪个主机坏了,不能是vcenter server ,因为vcenter server在这个环境钟很有可能是某个虚机在某个主机上运行,他下面的这个主机也有可能会坏掉,如果他下面的这个主机坏了,就不能有这个功能,那谁去检测,esxi主机彼此之间相互检测,所以谁能够知道某个esxi主机坏掉了,是某一台esxi主机,
第二个问题,通过什么去检测,
通过管理网络去检测,management network,那么如果管理网络网卡down了怎么办,不要让这种场景发生,可以去做管理网卡的冗余。必须要做一个冗余的管理网络,或者是一个管理网络有两个上联卡,或者有一个管理网络,一个上联卡,另外再创建一个management network ,用另外一个上联卡,也可以,