如何处理 VSAN 群集中的隔离/分区情形?



原文:http://www.yellow-bricks.com/2013/09/19/isolation-partition-scenario-with-vsan-cluster-handled/

注明:本文内容基于 VMware VSAN beta 版本撰写,请访问http://www.vmware.com/products/virtual-san/获得有关正式版本的更新信息。



      在介绍了如何在 VSAN 群集中处理磁盘或主机故障之后,我们还必须接下来考虑如何在 VirtualSAN 群集中处理隔离或分区?我们可以从头开始,我会尽量把事情说得简单一些。首先,让我们回顾一下从磁盘/主机故障一文中获得的知识。


      Virtual SAN (VSAN) 可以为对象创建镜像。这种功能可在一种策略(即虚拟机存储策略,又称基于存储策略的管理)来定义。此时,您可以将名为“failures to tolerate(允许的故障数目)的选项定义为 0 3 之间的任意数字。默认情况下,此选项设置为 1。这意味着,数据会有两个副本。除了 VSAN 之外,还需要一个见证/仲裁,以帮助您确定发生事件后所有者是谁。那么,情况会是怎样的呢?请注意,在下图中,为了简单起见,我会使用术语“vmdk”见证,实际上,这可以是虚拟机中的任何一种组件。


wKioL1Mha8nAWvX3AAMsWRKBDv8012.jpg


       我们会从这张简单图形中获得什么信息呢?

  • 虚拟机与其存储对象不一定要运行在同一台主机上。

  • 见证与其相关组件位于不同的主机上,这样就可以在一个网络分区下创建奇数个主机,以此打破平局。

  • VSAN 网络用于通信、IO HA


       在详细说明之前,首先让我们来回顾一下 VSAN 群集的一些HA 变更内容:

  • 如果在群集中启用了 HA,则 FDM 代理 (HA) 流量就会使用 VSAN 网络,而不是管理网络但是,如果检测到可能存在隔离,则 HA 会使用管理网络来 ping 默认网关(或指定的隔离地址)。

  • 启用 VSAN 时,请务必禁用 vSphere HA。如果已配置了 HA,则无法启用 VSAN。要么在创建群集时配置 VSAN,要么在配置 VSAN 时临时禁用 vSphere HA

  • 如果群集中只提供了 VSAN 数据存储,则会禁用数据存储检测信号功能。HA 不会使用 VSAN 数据存储实现检测信号,因为已经使用了 VSAN 网络实现网络检测信号,使用数据存储实现检测信号不会产生任何其他效果。

  • VSAN 网络进行更改后,需要重新配置 vSphere HA


      您可以看到,VSAN 网络比您想象的作用更大,因为 HA 也会使用它来实现网络检测信号。那么,如果运行虚拟机的主机与网络其他部分隔离,会发生什么情况呢?此时会发生以下情况:

  • HA 会检测到,无法从“esxi-01”收到任何网络检测信号

  • HA 主代理会尝试 ping 从属“esxi-01”

  • HA 会声明从属“esxi-01”不可用

  • 如下图所示,虚拟机会在其他某个主机(此处为“esxi-02”)上重新启动,但也可能是任何主机。


wKioL1MhbBiwIyIZAANUovPqRV4779.jpg


      是不是很简单?但我认为现在问题出现了。如果“esxi-01”“esxi-02”属于同一个分区,会怎么样呢?此时会发生什么情况呢?此时就需要用到见证了。我们首先来看一张图表,这样理解起来会更容易一些!


wKioL1MhbF2C04MyAAODMzy7PB4693.jpg


      现在,此情形会更复杂一些。此时有两个分区,一个分区运行虚拟机及其 VMDK,另一个分区则具有VMDK 和见证。猜猜看会发生什么情况?没错,VSAN 会利用见证来确定哪个分区具有仲裁,根据这个信息,其中一个分区会获胜。此时,分区 2 包含此对象50% 的组件,因此是获胜方。这意味着,虚拟机会在“esxi-03”“esxi-04”上重新启动。请注意,只有在对隔离响应进行了相应配置后,分区 1 中的虚拟机才会关闭电源,强烈建议进行此配置!(“isolation response(隔离响应)”�C> “power off(关闭)


      但是,如果“esxi-01”“esxi-04”被隔离,又会发生什么情况呢?可能会发生以下情况:


wKioL1MhbJqQ1w8fAANetqs7pWI467.jpg


      还记得我在上一段中所说的规则吗?根据可在分区中使用的组件百分比来判定获胜方。如果某个分区可以使用 50% 的组件,则该分区获胜。这意味着,如果“esxi-01”“esxi-04”被隔离,则“esxi-02”“esxi-03”可以重新启动虚拟机,因为 66% 的组件都驻留在群集的这一部分中。很不错,对吧?


      我知道,隔离/分区的概念在一开始的数周/数月内理解起来会很难,但我希望本文能为您提供一个清晰的脉络我会在不久的将来探讨一些更复杂的情形。



――――――――――――――――――――――――――――――――――――――――――――



作者: Duncan Epping

Duncan Epping 现任 VMware R&D SDDC 新兴解决方案团队首席架构师。他主要负责挖掘现有产品和功能的新机会,并通过对新解决方案或产品进行原型开发来为 VMware 探索新的业务商机。他主要致力于软件定义的存储和业务连续性/灾难恢复解决方案,目前正在申请一项专利。


你可能感兴趣的:(虚拟机,如何,隔离,信息,知识,VSAN)