利用PowerStore CLI实例介绍原生双活

作者:杨溢,戴尔科技集团大中华区存储产品市场部PowerStore 资深产品市场经理

介绍

借助原生双活城域卷(Metro Volume)支持,PowerStoreOS 3.0新增一个功能,有助于防止生产因VMware vSphere Metro Storage Cluster (vMSC) 环境的故障而中断。城域卷功能在PowerStore上可免费使用,可用于保护VMFS datastores。

vMSC配置是一个延伸集群架构,ESXi主机可在城域距离[100公里 (取决于链路质量)] 内的两个不同的站点,同时访问一个同步复制的存储资源。PowerStore 城域卷功能可在两个参与的PowerStore集群配置上,提供并发的完全双活的主机IO。

虽然这会增加额外的延迟,但PowerStore城域卷可确保在主机收到I/O写入的确认之前,所有主机I/O都在城域卷的两个镜像卷上提交。为应对灾难事件,把生产受到的影响降到最低,甚至是不受影响,PowerStore内置了一种机制,可保护数据在发生故障或灾难时不会出现“脑裂”(split-brain)现象。当数据可在两个PowerStore集群上的城域卷镜像之间进行复制时,PowerStore被设计为允许在城域卷两边只运行双活的工作负载。

从拓扑结构的角度看,PowerStore支持两种不同的配置方案。一种是非统一配置,主机只能访问本地的PowerStore系统:

还有一种是统一 配置,主机可以同时访问本地和远程的PowerStore。

尽管它们看起来很相似,但不同拓扑结构的优势在于细节的处理。

非统一主机配置降低了复杂性,因其只需较少的配置,且只提供对两个站点之间链路利用率最低的卷的本地访问。然而,在本地PowerStore阵列出现故障的情况下,或者在链接故障期间,本地主机可能无法访问城域卷。在这种情况下,VMware HA需要使用对面站点上幸存的主机来重启受影响的datastore上的任意虚机。每个站点都应该有足够的主机资源,以便在对等站点不可用时运行最关键的虚机。

在统一主机配置中,主机与远程PowerStore集群有额外的链接,在故障情况下可以使用该链接。如果由于故障或链接中断,在本地PowerStore集群上无法访问城域卷时,主机就可以利用交叉链接来访问远程站点上的卷。在这种情况下,虚机可在故障中幸存下来,因为主机可把工作路径切换到远程系统上。在正常操作下,主机I/O应保持在本地站点内,以避免在站点之间的链路上为工作负载使用不必要的带宽,并尽量减少延迟。

现在快速展示一个例子,我们假设本地理论延迟为0.5毫秒,两个站点之间的理论延迟为2毫秒。

  1. 主机使用指向本地阵列的链接作为写入城域卷的主要路径。I/O的理论延迟值如下:
  2. 将工作负载从主机写入到本地存储0.5毫秒
  3. 将工作负载复制到远程存储2毫秒。工作负载使用站点之间的链接。
  4. 在本地存储上接收来自远程存储的提交2毫秒
  5. 提交到主机0.5毫秒

总的来说,我们会看到I/O的延迟为5毫秒,且工作负载仅通过站点之间的链接发送一次以进行复制(A-B)。

  • 当主机使用到远程阵列的链接作为主要路径时,我们会看到以下情况:
  • 发送工作负载至远程存储2毫秒。工作负载使用站点之间的链接。
  • 将工作负载复制到一个对等点2毫秒。工作负载使用站点之间的链接。
  • 从对等阵列提交到远程存储2毫秒
  • 提交到主机2毫秒

总的来说,我们会看到同样的I/O的理论延迟为8毫秒,因为工作负载和提交总是利用站点之间的链接:一次是当主机将数据写入远程阵列(A到B)时,另一次是当写入数据被复制到对等存储(B-A)以及所需的提交时。

为了确保选择最佳路径,PowerStore使用异步逻辑单元访问(ALUA)协议提供最佳路径选择信息。为获得正确的ALUA状态,必须使用它们与每个PowerStore集群的本地或远程关系注册统一主机。在PowerStore Manager中注册主机时有四个选项:

  • 仅限本地——用于非统一城域卷和仅服务于标准卷的主机。
  • 主机与PowerStore系统位于同一地点——表示主机是PowerStore的本地主机(低延迟),应该获得ALUA的主动/优化路径。
  • 主机与远程PowerStore系统位于同一地点——表示该主机是远程主机(高延迟),主机应该获得ALUA主动/非优化路径。
  • 主机与PowerStore本地及远程系统均位于同一地点——表示所有主机和PowerStore集群位于相同位置,具有相同的延迟。

当主机配置了统一城域卷的城域连接选项时,PowerStore会为非城域卷的标准卷提供默认的ALUA路径信息。

借助本机多路径(NMP)的”轮询调度”(RR)默认路径选择策略(PSP),ESXi主机使用所提供的ALUA路径信息来确定连接到卷的最佳工作路径。当有多个主动/优化路径可用时,ESXi PSP 通过轮询调度(round robin)测算卷的延迟,以选择最佳工作路径。当前的工作路径在vCenter中显示为 “主动(I/O)”状态,而其他路径只显示为 “主动”状态。下图显示了城域卷配置完成后,统一主机配置中的ESXi主机的路径状态。

在PowerStore Manager中设置好主机后就可以开始配置城域卷。这在单个PowerStore集群上只需几个步骤即可完成:

  1. 与对等的PowerStore建立一个远程系统关系,请选择保护>添加远程系统
  2. 使用添加卷向导来创建和映射标准卷。
  3. 在卷页面,单击六次即可配置城域卷。
  4. 选择新的卷。
  • 点击保护。
  • 配置城域卷
  • 点击远程系统下拉菜单
  • 选择一个现有的远程系统(或者与另一个PowerStore集群建立一个新的远程系统关系)。
  • 点击配置按钮,开始配置。
  • 在对等的PowerStore集群上,将新的城域卷映射到主机上。
  • 使用新的城域卷来创建一个VMFS datastore。

除了使用PowerStore Manager以外,还可以使用PowerStore REST API或PowerStore CLI,只需几个步骤即可设置城域卷。在这篇博客中,我想向大家展示在PowerStore CLI会话(pstcli -d <PowerStore> -session)中在PowerStore上设置城域卷的必要步骤,以便在配置好的一对PowerStore系统上(如上图所示)进行统一的主机连接:

  1. 在PowerStore Manager PowerStore-A
  2. 创建远程系统关系:

x509_certificate exchange -service Replication_HTTP -address <IP-Address PowerStore-B> -port 443 -username admin -password <YourSecretPassword>

 remote_system create -management_address <IP-Address PowerStore-B> -management_port 443 -remote_username admin -remote_password <YourSecretPassword> -type PowerStore -data_network_latency Low

  • 注册ESXi主机用于统一主机连接:
host create -name esx-a.lab -os_type ESXi -initiators -port_name iqn.1998-01.com.vmware:esx-a:<…>:65 -port_type iSCSI -host_connectivity Metro_Optimize_Local
host create -name esx-b.lab -os_type ESXi -initiators -port_name iqn.1998-01.com.vmware:esx-b:<…>:65 -port_type iSCSI -host_connectivity Metro_Optimize_Remote
  • 准备和映射标准卷

volume create -name MetroVolume-Uniform -size 1T

volume -name MetroVolume-Uniform -attach esx-a.lab

volume -name MetroVolume-Uniform -attach esx-b.lab

  • 将卷配置为一个城域卷:

volume -name MetroVolume-Uniform configure_metro -remote_system_name PowerStore-B

  • 在PowerStore Manager PowerStore-B
  1. 注册ESXi主机用于统一主机连接:
host create -name esx-a.lab -os_type ESXi -initiators -port_name iqn.1998-01.com.vmware:esx-a:<…>:65 -port_type iSCSI -host_connectivity Metro_Optimize_Remote
host create -name esx-b.lab -os_type ESXi -initiators -port_name iqn.1998-01.com.vmware:esx-b:<…>:65 -port_type iSCSI -host_connectivity Metro_Optimize_Local
  • 将卷映射到ESXi主机上:

volume -name MetroVolume-Uniform -attach esx-a.lab

volume -name MetroVolume-Uniform -attach esx-b.lab

  • 监测城域卷(可选):

replication_session show -query type=Metro_Active_Active -select state,progress_percentage,data_transfer_state

  • 在vCenter中
  • 重新扫描SCSI总线。
  • 用新的城域卷配置VMFS datastore。

欲了解更多信息,请参阅以下资源。

资源