原文:
人们经常问我关于Virtual SAN 见证组件性能和逻辑的问题。很明显,这是一个令人迷惑的话题。因此,我希望利用这个机会,为那些在正式白皮书发布之前就急于了解详情的人解答这一问题,白皮书会更详细说明本文的上下文环境。请关注它的发布。
在此,我要解释的行为和逻辑对最终用户是 100% 公开透明的,因此没有必要担心见证组件的布局。此行为由系统管理和控制。本文的目的是帮助您了解您可能见到的见证组件的数量并解释原因。
Virtual SAN 对象由组件组成,这些组件分布在用Virtual SAN 配置的 vSphere 群集的主机之间。这些组件存储在 Virtual SAN 分布式数据存储内各种不同的磁盘组组合中。组件通过基于闪存的设备透明分配缓存和缓冲容量,而其数据在磁盘中“永存”。
见证组件是每个存储对象的一部分。Virtual SAN 见证组件包含对象元数据,其目的是在必须做出可用性决策时(在 Virtual SAN 群集中)充当打破平局组件,以避免裂脑行为并满足仲裁要求。
Virtual SAN 见证组件以三种方式进行定义和部署:
· 初级见证
· 次级见证
· 打破平局见证
初级见证:至少需要群集中 (2 * FTT) + 1 节点以便能容许 FTT 节点/磁盘故障数。如果安装了所有数据组件后,配置没有获得所需的节点数,则初级见证将位于独占节点直到配置中有 (2*FTT)+ 1 个节点。
次级见证:创建次级见证的目的是确保每个节点在仲裁时有相同的投票权。这点很重要,因为每个节点故障都应对仲裁产生相同的影响。次级见证的添加应使每个节点都获得相同的组件数,包括仅拥有初级见证的节点。因此,这一步骤使得每个节点上的数据组件 + 见证组件的总数相同。
打破平局见证:如果在添加初级见证和次级见证之后,配置中的组件总数是偶数(数据 + 见证数),那么,我们需要添加一个打破平局见证,使组件总数变为奇数。
我用两个现实世界的情形来阐述上文所述的定义和逻辑,并解释为什么要这样安排见证组件:
情形 1:具有 511 GB VMDK 的虚拟机所容许故障数 1
注意:Virtual SAN 对象命名空间大小限制在每对象 255GB。大于 255GB 的对象将在主机之间进行平分。这解释了以下两个示例所展现出的特性,这些示例具有一个 RAID 1 组配置和多个连接式 RAID 0 组。
在此特定情形中只部署了 1 个见证,为什么?
在此特定情形中,所有 RAID 0 条带都在不同的节点上。请仔细查看主机名称。
为什么会这样,这与上文所述的见证类型有什么关联?
在此情形中执行见证计算时,见证组件逻辑开始启用,如下文所示:
· 初级见证:数据组件分布在 4 个节点间(大于 2*FTT+1)。因此,我们不需要初级见证。
· 次级见证:因为每个参与配置的节点都只有一个组件,因此,我们无需次级见证来平衡投票数。
· 打破平局见证:因为配置中的组件总数是 4,因此,我们仅需一个打破平局见证。
情形 2:具有 515 GB VMDK 的虚拟机所容许故障数 1
在这一情形中部署了 3 个见证,为什么?
在此特定情形中,部分 RAID 0 条带在相同节点上。请仔细查看主机名称。组件配置采用下列方式进行分层:
· 2 个组件在节点 vsan-host-1.pml.local 上
· 2 个组件在节点vsan-host-4.pml.local 上
· 1 个组件在节点 vsan-host-3.pml.local 上
· 1 个组件在节点 vsan-host-2.pml.local 上
在此情形中执行见证计算时,见证组件逻辑开始启用,如下文所示:
· 初级见证:数据组件分布在 4 个节点间(大于 2*FTT+1)。因此,我们不需要初级见证。
· 次级见证:因为两个节点每个都有 2 个投票,且 2 个节点每个都只有一个投票,我们需要在下列节点上添加一个投票(见证):
· vsan-host-3.pml.local
· vsan-host-2.pml.local
· 打破平局见证:添加了上述两个见证后,配置中的组件总数为 8(6 数据 + 2 见证),我们需要一个打破平局见证,即第三个见证。
大多数情况下,人们希望见证数取决于容许故障数策略(0 至 3)。实际上,见证数完全取决于布局组件和数据的方式,而非给定策略。
再次重申我在本博文之初所言,本行为对于终端用户是 100% 公开透明的,因此无需担心,因为此行为由系统管控。
- 祝您愉快
欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:
————————————————————————————————————————————
作者:Rawlinson
Rawlinson 现任 VMware 云基础设施技术营销团队资深技术营销经理,主要从事存储虚拟化技术工作。他曾担任过架构师,主要致力于为 VMware 的财富 100 强和 500 强客户提供 vSphere 和云企业架构。 Rawlinson 在 IT 行业已有 15年的从业经验,在他的职业生涯中,主要负责设计、实施和维护基于 VMware、Microsoft 和其他领先技术的大型物理网络、服务器和云架构。