如何提高虚拟化数据中心的弹性:存储存储与灾备
良好的网络架构确保一个网络组件故障不会影响虚拟服务器的可用性,虽然这种架构具备了网络冗余,但它并不是一个可行的高可用策略,因为服务器硬件故障仍然是一个潜在的威胁,冗余网络架构就是一步创建一个弹性的虚拟数据中心。
创建一个具有弹性的虚拟数据中心最关键的是集中存储,所有虚拟机都应该放到一个集中的存储池中,所有宿主服务器都可以访问这个存储池,在这种情况下,如果出现故障,虚拟服务器可以快速移到另一个宿主服务器,如果虚拟硬盘驱动器是放在直接附加存储(DAS)上的,那这种类型的弹性就不可用,因为DAS是与一台服务器固定了的。
集中存储池是创建一个无单点故障的最佳方法,实现集中才存储的方法是在每台宿主服务器上安装多块光纤卡,每块光纤网卡连接到独立的光纤交换机上,交换机再连接到公共存储池,存储池本身由冗余的存储阵列组成,图2展示了一个冗余的光纤架构,同时也展示了一个冗余的网络架构,我们要仔细看看它们是如何与多台服务器融合到一起的。
图2 冗余的光纤通道硬件是实现弹性虚拟数据中心的基础
VMware和容错性
实时迁移和真实容错都需要一个共享的存储架构,它们都允许虚拟机在两台宿主服务器之间快速移动。虽然这两个功能具有某些相似性,但它们的用途却完全不一样。
实时迁移是通过VMware的vMotion实现的,在Hyper-V R2中类似的功能,它将宿主服务器当作一个资源池,资源可以分配给虚拟服务器,你可以立即将一个宿主服务器上的虚拟服务器转移到另一个宿主服务器上。如果宿主服务器超载了,你可以使用实时迁移功能将某些虚拟服务器转移到其它宿主服务器上。需要记住的是vMotion并不是一个容错功能。
VMware包括的容错功能叫做VMware FT,它属于vSphere 4中的一个功能,与VMotion不一样,VMware FT设计目的是快速检测和响应硬件故障,以便及早将虚拟服务器转移到其它宿主服务器,通过vLockstep技术使其成为可能。
vLockstep的基本前提是主虚拟机和备用虚拟机要保持完全同步,在这种情况下,如果主虚拟机故障,备用虚拟机可以立即接管主虚拟机的任务,vLockstep技术确保了主备虚拟机以相同的顺序执行相同的命令,主虚拟服务器的命令使用专用骨干网传递到备用虚拟服务器,此外,骨干网也要传输主备虚拟服务器之间的心跳信息,因此故障可以被快速检测到。
关于vLockstep技术有趣的是主备虚拟服务器执行是相同的命令,两个虚拟服务器都会执行写入操作,但两个服务器都连接到相同的存储池,VMware FT会阻止备用虚拟服务器的写操作,这样才能确保只有一个虚拟机可以修改虚拟硬盘驱动器上的数据。
VMware FT可以用于VMware HA集群中,这样就容许发生多个故障,如果主虚拟机出现故障,备用虚拟机就接管成为主虚拟机,VMware HA将会在另一个集群节点上自动创建一个新的备用虚拟机,这样虚拟机就具有真正的容错功能了,不管故障是否发生在源宿主服务器上。
虽然创建一个弹性虚拟数据中心不是必须要创建一个传统的服务器集群,但使用冗余的硬件仍然是必须的,为了使虚拟机转移和容错成为现实,你的数据中心必须提供集中式存储,让所有的宿主服务器都可以访问,但集中存储也要实现冗余,否则它也会存在一个单点故障。