XenCenter

精简预配的共享 GFS2 块存储

精简预配通过将磁盘存储空间分配给 VDI(因为数据会写入虚拟磁盘)来更好地利用可用存储,而非提前分配 VDI 的完整虚拟大小。通过精简预配,可以大大降低共享存储阵列上所需的空间量以及您的总体拥有成本 (TCO)。

在以下情况下,面向共享块存储进行精简预配尤其适用:

  • 您希望提高空间效率。图像是稀疏的,而不是厚厚地分配。
  • 您希望降低存储阵列上的每秒 I/O 操作数。GFS2 SR 是第一种支持在共享块存储上进行存储读取缓存的 SR 类型。
  • 您对多个虚拟机使用公共基础映像。这样,各个 VM 的映像通常会占用更少的空间。
  • 您使用快照。每个快照都是一个映像,并且每个映像现在都是稀疏的。
  • 您希望创建大小大于 2 TiB 的 VDI。GFS2 SR 最大支持大小为 16 TiB 的 VDI。
  • 您的存储不支持 NFS 或 SMB3,仅支持块存储。如果您的存储支持 NFS 或 SMB3,我们建议您使用这些 SR 类型而非 GFS2。
  • 您的存储不支持 LUN 的精简预配。如果您的存储确实精简预配了 LUN,则在将其与 GFS2 组合使用时可能会遇到问题并耗尽空间。将 GFS2 与精简预配的 LUN 结合使用不会带来很多其他好处,因此不建议这样做。如果您尝试将 GFS2 与精简预配的 LUN 一起使用,XenCenter 会显示一条警告。

注意:

我们建议不要将 GFS2 SR 与 VLAN 一起使用,因为存在已知问题,即如果群集网络位于非管理 VLAN 上,则无法在群集池中添加或删除主机。

共享 GFS2 类型将磁盘表示为在 iSCSI 或 HBA LUN 上创建的文件系统。GFS2 SR 上存储的 VDI 以 QCOW2 映像格式存储。

1. 为您的 GFS2 环境制定计划

为了提供对共享块存储进行精简预配所带来的好处,而不会产生数据丢失的风险,您的池必须非常可靠且连接良好。使用 GFS2 的资源池中的主机可以可靠地相互通信,这一点至关重要。为确保这一点,XenServer 要求您将群集池与 GFS2 SR 结合使用。此外,我们还建议您设计自己的环境并配置 XenServer 的各项功能,以尽可能提高恢复能力和增加冗余性。

在将您的 XenServer 池设置为与 GFS2 SR 配合使用之前,请查看以下要求和建议,以打造理想的 GFS2 环境:

含有 GFS2 SR 的群集池与其他类型的池和 SR 在行为上存在一些差异。有关详细信息,请参阅限制

2. 配置冗余网络连接基础结构

绑定网络会将两个或多个 NIC 链接在一起,从而为网络流量创建单一通道。我们建议您为群集池流量使用绑定网络。但是,在设置绑定网络之前,请确保您的网络硬件配置能够提升绑定网络的冗余性。如果贵组织和环境可以实施这些建议,请考虑尽可能多地执行此操作。

以下最佳做法增强了针对可能影响您的网络交换机的软件、硬件或电源故障的恢复能力。

  • 确保您在绑定网络中可以使用不同的物理网络交换机,而不仅仅是使用同一交换机上的端口。
  • 确保单独的交换机从不同的独立电源分配单元 (PDU) 获取电力。
  • 如果可能,请在您的数据中心中,将 PDU 放置在供电的不同阶段,甚至不同的公共事业公司提供的电源。
  • 请考虑使用不间断电源装置来确保网络交换机和服务器能够继续运行或在出现电源故障时能够有序关闭。

3. 创建专用的绑定网络

确保群集池中的主机能够可靠地相互通信至关重要。为此池流量创建绑定网络可以提高群集池的恢复能力。

绑定网络会在两个或多个 NIC 之间创建绑定以创建单个高性能通道,您的群集池可以将该通道用于群集检测信号流量。我们强烈建议不要将此绑定网络用于任何其他流量。为池创建一个单独的网络以用于管理流量。

注意:

如果池中的主机之间存在防火墙,请确保主机可以使用以下端口在群集网络上进行通信:

  • TCP:8892、8896、21064
  • UDP:5404、5405

有关详细信息,请参阅 XenServer 使用的通信端口

创建绑定网络以用作群集网络:

  1. 打开新建网络向导。
  2. 在向导的第一页中,选择绑定网络,然后单击下一步
  3. 绑定成员页面上,选择要绑定到一起的 NIC。要选择某 NIC,请在列表中选中其复选框。最多可以在此列表中选择四个 NIC。清除该复选框可取消选择 NIC。
  4. 绑定模式下,选择绑定类型:

    • 选择主动-主动可配置主动-主动绑定。通过这种绑定方式,流量可以在绑定的 NIC 之间保持平衡。如果某个绑定的 NIC 出现故障,则服务器的网络流量将自动通过另一个 NIC 进行路由。
    • 选择主动-被动可配置主动-被动型绑定,在这种绑定类型中,流量仅通过其中一个绑定的 NIC 传输。在此模式下,仅当活动 NIC 出现故障时(例如,断开网络连接),第二个 NIC 才会进入活动状态。
    • 选择 LACP 与基于源 MAC 地址的负载平衡功能绑定可配置 LACP 绑定。使用此绑定,可根据发起流量的 VM 的 MAC 地址选择传出 NIC。使用该选项可以在同一主机上有多个 VM 的环境中平衡流量。如果虚拟接口 (VIF) 的数量少于 NIC,此选项则不适用:因为无法在 NIC 之间分割流量,所以无法实现最佳负载平衡。
    • 选择 LACP 与基于源和目标的 IP 和端口的负载平衡功能绑定可配置 LACP 绑定。此绑定使用源 IP 地址、源端口号、目标 IP 地址和目标端口号在 NIC 之间分配流量。使用该选项可以在 NIC 数量超过 VIF 数量的环境中平衡 VM 的流量。

    备注:

    • 为了能够查看 XenCenter 中的 LACP 绑定选项并创建 LACP 绑定,请将 vSwitch 配置为网络堆栈。此外,交换机还必须支持 IEEE 802.3ad 标准。
    • 主动-主动和主动-被动绑定类型适用于 vSwitch 和 Linux 桥接。
    • 当 vSwitch 是网络堆栈时,可以绑定两个、三个或四个 NIC。但是,当 Linux 桥接是网络堆栈时,只能绑定两个 NIC。
  5. 要使用 Jumbo 帧,请将最大传输单位 (MTU) 设置为介于 1500–9216 之间的值。
  6. 选中自动将此网络添加到新虚拟机复选框,以将新网络添加到使用新建 VM 向导创建的任何新 VM 中。
  7. 单击完成,以创建新网络并关闭向导。

在池协调器上创建绑定网络后,当您将其他 XenServer 主机加入池时,网络和绑定信息将自动复制到加入的服务器。

有关详细信息,请参阅配置 NIC

备注:

  • 通过使用 XenCenter 更改群集网络的 IP 地址要求暂时禁用群集功能和 GFS2。
  • 群集处于活动状态并且具有正在运行的 VM 时,请勿更改群集网络的绑定。此操作可能会导致群集中的主机硬重启(防护)。
  • 在至少包含一个启用了群集功能的主机的群集网络中,如果您的 IP 地址出现冲突(多个主机具有相同的 IP 地址),则群集无法正常形成且主机无法在需要时进行防护。要修复此问题,请解决 IP 地址冲突。

4. 设置群集池

要使用共享 GFS2 存储,XenServer 资源池必须是群集池。请先在您的池中启用群集,然后再创建 GFS2 SR。

要创建群集池,请执行以下操作:

  1. 通过单击工具栏上的新建池,打开新建池对话框。
  2. 输入新池的名称和可选说明。该名称将显示在资源窗格中。
  3. 通过从协调器列表中选择服务器来指定池协调器。
  4. 其他成员列表中,选择要放入新池的其他服务器。将列出所有可用的托管服务器。如果某个服务器未列出,您可以通过单击添加新服务器将该服务器添加到列表中。如果某个托管服务器未列出,可能是因为该服务器不满足池要求中列出的一项或多项加入池的要求。
  5. 选择创建池以创建池并关闭对话框。
  6. 资源面板中选择池,然后在其常规选项卡中选择属性。此时将打开池属性窗口。
  7. 群集选项卡中,选择启用群集,然后选择您创建的专用绑定网络作为群集网络。
  8. 单击确定

5. 配置存储多路径

请务必在您的群集池与 GFS2 SR 之间设置存储多路径。

多路径会通过多条路径将存储流量路由到存储设备,以实现冗余。在正常运行期间,所有路由上都可以有活动流量,这会导致吞吐量增加。

在启用多路径之前,请验证以下语句是否为真:

  • 您的以太网或光纤交换机已配置为在存储服务器上提供多个目标。

    例如,查询给定门户上的 sendtargets 的 iSCSI 存储后端应返回多个目标,如下例所示:

      iscsiadm -m discovery --type sendtargets --portal 192.168.0.161
      192.168.0.161:3260,1 iqn.strawberry:litchie
      192.168.0.204:3260,2 iqn.strawberry:litchie
    

    但是,可以执行其他配置,以便为仅公开单个目标的阵列启用 iSCSI 多路径。有关详细信息,请参阅仅公开单个目标的阵列的 iSCSI 多路径

  • 仅限 iSCSI,控制域 (dom0) 在多路径存储使用的每个子网上都有一个 IP 地址。

    对于指向存储的每条路径,请确保都有一个 NIC,并且在每个 NIC 上都配置了一个 IP 地址。例如,如果您希望存储有四个路径,则必须有四个 NIC,每个 NIC 都配置一个 IP 地址。

  • (仅限 iSCSI)每个 iSCSI 目标和发起程序都有唯一的 IQN。

  • (仅限 iSCSI)iSCSI 目标端口在门户模式下运行。

  • 仅限 HBA,将多个 HBA 连接到交换机结构。

  • 如果可能,请使用多台冗余交换机。

要启用多路径,请执行以下操作:

为池中的每台服务器完成以下步骤:

  1. 资源窗格中,选择服务器,然后将其置于维护模式。当 XenCenter 迁移任何活动虚拟机并取消插入现有存储时,会出现短暂的延迟。如果服务器是池协调器,它将断开连接,并且可能会在分配新池协调器时暂时从资源窗格中消失。当服务器重新显示在资源窗格中并带有“服务器维护模式”图标 - 一个顶部带有蓝色正方形的“服务器”图标时,请继续执行下一步操作。
  2. 常规选项卡上,选择属性,然后选择多路径选项卡。
  3. 要启用多路径,请选中在此服务器上启用多路径复选框。要禁用多路径,请清除该复选框。
  4. 单击确定,以应用新设置并关闭该对话框。在 XenCenter 保存新的存储配置时,会出现短暂的延迟。
  5. 使服务器退出维护模式。在资源窗格中选择服务器,右键单击,然后选择退出维护模式

请务必在池中的所有主机上启用多路径。对于每个主机上相应的 NIC,所有电缆连接和子网配置(对于 iSCSI)必须相符。

6. 创建 GFS2 SR

在 iSCSI 或 HBA LUN(对资源池中的所有 XenServer 主机均可见)上创建共享 GFS2 SR。

注意:

我们不建议将精简预配的 LUN 与 GFS2 结合使用。如果您尝试将 GFS2 与精简预配的 LUN 一起使用,XenCenter 会显示一条警告。

但是,如果您确实选择了此配置,则必须确保 LUN 始终有足够的空间以允许 XenServer 对其写入内容。

您最多可以向群集池中添加 62 个 GFS2 SR。

创建软件 iSCSI SR

注意:

执行以下步骤之前,请务必为池中的所有主机恰当地设置 iSCSI 发起程序 IQN。有关详细信息,请参阅更改服务器属性

  1. 打开新建存储库向导:单击工具栏上的新建存储库。或者:
    • 在所选池或服务器的存储选项卡上,单击新建 SR
    • 存储菜单中,单击新建 SR
    • 资源窗格中,选择服务器或池,然后右键单击并单击快捷菜单上的新建 SR
  2. 选择软件 iSCSI 作为物理存储类型,然后单击下一步
  3. 名称页面上,输入新 SR 的名称。默认情况下,该向导会生成 SR 的说明。此说明包括您在执行该向导的过程中所选配置选项的摘要。要输入您自己的说明,请清除自动生成说明复选框并在说明框中键入内容。单击下一步继续操作。
  4. 预配页面上,选择精简预配(GFS2)
  5. 位置页面上,指定 iSCSI 目标的详细信息:

    • 目标主机:iSCSI 目标的 IP 地址或 DNS 名称。这也可以是以逗号分隔的值列表。

    • 使用 CHAP:GFS2 SR 不支持此操作。请将此选项保留为未选中状态。

    • 目标 IQN:要指定 iSCSI 目标 IQN,请单击发现 IQN 按钮,然后从目标 IQN 列表中选择 IQN。

      重要:

      iSCSI 目标和池中的所有服务器不得设置相同的 IQN。每个 iSCSI 目标和发起程序都必须具有唯一的 IQN。如果使用非唯一的 IQN 标识符,则可能会导致数据损坏或对目标的访问被拒绝,或者同时发生这两种情况。

    • 目标 LUN:要指定将在其上创建存储库的 LUN,请单击检测 LUN 按钮。从目标 LUN 列表中选择 LUN。

      每个 iSCSI 存储库必须完全包含在单个 LUN 中。SR 不能跨多个 LUN 分布。如果该 LUN 已经包含一个 SR,请选择使用现有 SR,或使用新的 SR 替换现有 SR。替换现有 SR 会破坏磁盘上存在的任何数据。

  6. 单击完成以完成新 SR 的配置并关闭该向导。

创建硬件 HBA SR

  1. 要打开新建存储库向导,您可以执行以下操作之一:
    • 在工具栏上,选择新建存储
    • 在所选池或服务器的存储选项卡上,选择新建 SR
    • 存储菜单上,选择新建 SR
    • 资源窗格中,选择服务器或池,然后右键单击并选择快捷菜单上的新建 SR
  2. 选择硬件 HBA 作为物理存储类型,然后选择下一步
  3. 名称页面上,输入新 SR 的名称。默认情况下,该向导会生成 SR 的说明。此说明包括您在执行该向导的过程中所选配置选项的摘要。要输入您自己的说明,请清除自动生成说明复选框并在说明框中键入内容。单击下一步前进到预配页面。
  4. 预配页面上,选择精简预配(GFS2)
  5. 单击下一步前进到位置页面。
  6. 该向导将扫描可用的 LUN,然后显示一个页面,其中列出找到的所有 LUN。从列表中选择一个 LUN,然后单击创建

    注意:

    如果您所选的 LUN 上存在现有 SR,将显示一条警告消息。请查看详细信息并选择以下选项之一。

    • 要使用现有 SR,请单击重新连接
    • 要删除现有 SR 并创建 SR,请单击格式化
    • 如果您更倾向于选择其他 LUN,请单击取消并从列表中选择一个 LUN。
  7. 摘要页面将显示与新 SR 有关的信息。阅读该信息,然后单击完成以完成 SR 创建过程。

限制

共享 GFS2 存储当前具有以下限制:

  • 与任何精简预配的 SR 一样,如果 GFS2 SR 的使用率增长到 100%,从 VM 进一步写入将失败。然后,这些失败的写入可能会导致 VM 内出现故障或者可能会导致数据损坏,或者出现这两种情况。

  • 当您的 SR 使用量增长到 80% 时,XenCenter 会显示警报。请务必监视 GFS2 SR 是否有此警报,并采取适当的措施(如果看到)。在 GFS2 SR 上,高使用率会导致性能下降。我们建议您将 SR 使用率保持在 80% 以下。

  • VDI 位于 GFS2 SR 上的 VM 不支持通过存储迁移(实时或脱机)功能迁移 VM。也不能将 VDI 从另一种类型的 SR 迁移到 GFS2 SR。

  • GFS2 SR 不支持 FCoE 传输。

  • GFS2 SR 上不支持裁剪/取消映射。

  • GFS2 SR 上不支持 CHAP。

  • GFS2 SR 上存储的 VDI 不支持更改块跟踪功能。

  • 不能将大于 2 TiB 的 VDI 导出为 VHD 或 OVA/OVF。但是,可以以 XVA 格式导出 VDI 大于 2 TiB 的 VM。

  • 我们不建议将精简预配的 LUN 与 GFS2 结合使用。但是,如果您确实选择了此配置,则必须确保 LUN 始终有足够的空间以允许 XenServer 对其写入内容。

  • 我们不建议将 SAN 重复数据删除功能与 GFS2 SR 一起使用。但是,如果您确实选择了此配置,则必须对 SAN 使用情况进行适当的外部监视,以确保始终有空间可供 XenServer 写入。

  • 您的 GFS2 文件系统不能大于 100 TiB。

  • 您的池中不能超过 62 个 GFS2 SR。

  • 群集池最多仅支持每个池包含 16 个主机。

  • 对于群集流量,我们强烈建议您使用绑定网络,该网络会使用至少两个不同的网络交换机。请勿将此网络用于任何其他目的。

  • 通过使用 XenCenter 更改群集网络的 IP 地址要求暂时禁用群集功能和 GFS2。

  • 群集处于活动状态并且具有正在运行的 VM 时,请勿更改群集网络的绑定。此操作可能会导致群集中的主机硬重启(防护)。

  • 在至少包含一个启用了群集功能的主机的群集网络中,如果您的 IP 地址出现冲突(多个主机具有相同的 IP 地址),则群集无法正常形成且主机无法在需要时进行防护。 要修复此问题,请解决 IP 地址冲突。

精简预配的共享 GFS2 块存储