精简配置的共享 GFS2 块存储

Last published : Oct 07, 2026
精简配置通过在数据写入虚拟磁盘时才为 VDI 分配磁盘存储空间,而不是提前分配 VDI 的全部虚拟大小,从而更好地利用可用存储。精简配置使您能够显著减少共享存储阵列所需的空间量,从而降低您的总拥有成本 (TCO)。
共享块存储的精简配置在以下情况下特别有用:
  • 您希望提高空间效率。映像是稀疏分配的,而不是厚分配的。
  • 您希望减少存储阵列上每秒的 I/O 操作次数。GFS2 SR 是第一个支持共享块存储上的存储读取缓存的 SR 类型。
  • 您为多个虚拟机使用一个公共基础映像。这样,单个虚拟机的映像通常会占用更少的空间。
  • 您使用快照。每个快照都是一个映像,并且每个映像现在都是稀疏的。
  • 您希望创建大小超过 2 TiB 的 VDI。GFS2 SR 支持最大 16 TiB 的 VDI。
  • 您的存储不支持 NFS 或 SMB3,并且只支持块存储。如果您的存储支持 NFS 或 SMB3,我们建议您使用这些 SR 类型而不是 GFS2。
  • 您的存储不支持 LUN 的精简配置。如果您的存储确实对 LUN 进行精简配置,则在将其与 GFS2 结合使用时可能会遇到问题并耗尽空间。将 GFS2 与精简配置的 LUN 结合使用不会带来太多额外好处,因此不建议这样做。如果您尝试将 GFS2 与精简配置的 LUN 结合使用,XenCenter® 会显示警告。
共享 GFS2 类型将磁盘表示为在 iSCSI 或 HBA LUN 上创建的文件系统。存储在 GFS2 SR 上的 VDI 以 QCOW2 映像格式存储。

1. 规划您的 GFS2 环境

为了在共享块存储上提供精简配置的优势而没有数据丢失的风险,您的池必须提供良好的可靠性和连接性。使用 GFS2 的资源池中的主机能够可靠地相互通信至关重要。为确保这一点,XenServer® 要求您将 GFS2 SR 与群集池一起使用。我们还建议您设计环境并配置 XenServer 功能,以提供尽可能多的弹性和冗余。
在设置 XenServer 池以使用 GFS2 SR 之前,请查看以下针对理想 GFS2 环境的要求和建议:
具有 GFS2 SR 的群集池在行为上与其他类型的池和 SR 有所不同。有关详细信息,请参阅 限制。

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

绑定网络将两个或多个网卡连接在一起,为网络流量创建一个单一通道。我们建议您为 GFS2 群集池流量使用绑定网络。但是,在设置绑定网络之前,请确保您的网络硬件配置能够促进绑定网络中的冗余。请考虑根据您的组织和环境的可行性,尽可能多地实施这些建议。
以下最佳实践可增强抵御可能影响网络交换机的软件、硬件或电源故障的能力。
  • 确保您有单独的物理网络交换机可用于绑定网络,而不仅仅是同一交换机上的端口。
  • 确保单独的交换机从不同的独立配电单元 (PDU) 获取电源。
  • 如果可能,在您的数据中心,将 PDU 放置在电源馈电的不同相位上,甚至放置在由不同公用事业公司提供的馈电上。
  • 考虑使用不间断电源设备,以确保网络交换机和服务器在发生电源故障时能够继续运行或执行有序关机。

3. 创建专用绑定网络

确保 GFS2 群集池中的主机能够可靠地相互通信非常重要。为该池流量创建绑定网络可提高群集池的弹性。
注意:
GFS2 群集网络不能位于非管理 VLAN 上。
绑定网络在两个或多个 NIC 之间创建绑定,以形成一个单一的高性能通道,您的 GFS2 群集池可将其用于群集心跳流量。我们强烈建议此绑定网络不用于任何其他流量。为该池创建一个单独的网络,用于管理流量。
注意:
如果您的池中的主机之间有防火墙,请确保主机可以使用以下端口在 GFS2 群集网络上进行通信:
  • TCP:8892、8896、21064
  • UDP:5404、5405
有关详细信息,请参阅XenServer 使用的通信端口。
要创建用作 GFS2 群集网络的绑定网络:
  1. 打开“新建网络”向导。
  2. 在向导的第一页上,选择“绑定网络”,然后单击“下一步”。
  3. 在“绑定成员”页面上,选择要绑定在一起的 NIC。要选择 NIC,请选中列表中的其复选框。此列表中最多可选择四个 NIC。清除复选框以取消选择 NIC。
  4. 在“绑定模式”下,选择绑定类型:
    • 选择“主动-主动”以配置主动-主动绑定。使用此绑定,流量在绑定的 NIC 之间进行平衡。如果绑定中的一个 NIC 发生故障,服务器的网络流量会自动通过第二个 NIC 路由。
    • 选择“主动-被动”以配置主动-被动绑定,其中流量仅通过绑定的 NIC 之一。在此模式下,只有当主动 NIC 发生故障(例如,失去网络连接)时,第二个 NIC 才会变为活动状态。
    • 选择 基于源 MAC 地址的 LACP 负载平衡 以配置 LACP 绑定。使用此绑定时,出站网卡是根据流量源自的 VM 的 MAC 地址选择的。在同一主机上有多个 VM 的环境中,使用此选项来平衡流量。如果虚拟接口 (VIF) 少于网卡,则此选项不适用:因为负载平衡不是最佳的,流量无法在网卡之间拆分。
    • 选择 基于源和目标 IP 及端口的 LACP 负载平衡 以配置 LACP 绑定。此绑定使用源 IP 地址、源端口号、目标 IP 地址和目标端口号来在网卡之间分配流量。在网卡数量超过 VIF 数量的环境中,使用此选项来平衡来自 VM 的流量。
    注意:
    • 要在 XenCenter 中查看 LACP 绑定选项并创建 LACP 绑定,请将 vSwitch 配置为网络堆栈。此外,您的交换机必须支持 IEEE 802.3ad 标准。
    • vSwitch 和 Linux 网桥都支持主动-主动和主动-被动绑定类型。
    • 当 vSwitch 是网络堆栈时,您可以绑定两、三或四块网卡。但是,当 Linux 网桥是网络堆栈时,您只能绑定两块网卡。 Linux 网桥网络堆栈已弃用,并将在未来版本中移除。
  5. 要使用巨型帧,请将最大传输单元 (MTU) 设置为 1500–9216 之间的值。
  6. 选中“自动将此网络添加到新虚拟机”复选框,以便使用“新建 VM”向导创建的任何新 VM 都添加此新网络。
  7. 单击“完成”以创建新网络并关闭向导。
在池协调器上创建绑定网络后,当您将其他 XenServer 主机加入池时,网络和绑定信息会自动复制到加入的服务器。
有关详细信息,请参阅配置网卡。
注意:
  • 通过 XenCenter 更改 GFS2 群集网络的 IP 地址需要暂时禁用群集和 GFS2。
  • 当群集处于活动状态且有正在运行的 VM 时,请勿更改 GFS2 群集网络的绑定。此操作可能导致群集中的主机硬重启(隔离)。
  • 如果您的 GFS2 群集网络上存在 IP 地址冲突(多个主机具有相同的 IP 地址),并且其中至少有一个主机启用了群集功能,则群集将无法正确形成,并且主机在需要时无法进行隔离。要解决此问题,请解决 IP 地址冲突。

4. 设置 GFS2 群集池

要使用共享 GFS2 存储,XenServer 资源池必须是群集池。在创建 GFS2 SR 之前,请在池上启用 GFS2 群集。
创建 GFS2 群集池:
  1. 通过单击工具栏上的“新建池”打开“新建池”对话框。
  2. 输入新池的名称和可选描述。该名称显示在“资源”窗格中。
  3. 通过从“协调器”列表中选择服务器来指定池协调器。
  4. 从“附加成员”列表中选择更多服务器以放入新池中。列出了所有可用的受管服务器。如果未列出服务器,可以通过单击“添加新服务器”将其添加到列表中。如果未列出受管服务器,可能是因为它不满足 池要求 中列出的一个或多个池加入要求。
  5. 选择“创建池”以创建池并关闭对话框。
  6. 在“资源”面板中选择池,并在其“常规”选项卡中选择“属性”。“池属性”窗口打开。
  7. 在“GFS2 群集”选项卡中,选择“启用 GFS2 群集”并选择您创建的专用绑定网络作为群集网络。
  8. 单击“确定”。

5. 增加控制域内存

如果主机上的控制域内存不足,您的池可能会遇到网络不稳定问题。网络不稳定可能会导致具有 GFS2 SR 的群集池出现问题。
务必确保您的 GFS2 群集池具有适当的控制域内存量。有关更改控制域内存量的信息,请参阅 更改控制域内存。

6. 配置存储多路径

确保在您的集群池和 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 地址。
    确保到存储的每条路径都有一个网卡,并且每个网卡上都配置了一个 IP 地址。例如,如果您希望有四条路径通往存储,则必须有四个网卡,每个网卡都配置了一个 IP 地址。
  • 仅适用于 iSCSI,每个 iSCSI 目标和发起程序都有一个唯一的 IQN。
  • 仅适用于 iSCSI,iSCSI 目标端口以门户模式运行。
  • 仅适用于 HBA,多个 HBA 连接到交换机结构。
  • 如果可能,请使用多个冗余交换机。
启用多路径:
为池中的每个服务器完成以下步骤:
  1. 在资源窗格中,选择服务器,然后将其置于维护模式。XenCenter 迁移所有活动虚拟机并拔出现有存储时,会有短暂延迟。如果服务器是池协调器,它将断开连接,并且在分配新的池协调器时可能会暂时从资源窗格中消失。当服务器在资源窗格中重新出现并带有服务器维护模式图标(服务器维护模式图标 - 带有蓝色方块的服务器图标)时,继续执行下一步。
  2. 在常规选项卡上,选择属性,然后选择多路径选项卡。
  3. 要启用多路径,请选中在此服务器上启用多路径复选框。要禁用多路径,请清除该复选框。
  4. 单击确定以应用新设置并关闭对话框。XenCenter 保存新的存储配置时,会有短暂延迟。
  5. 使服务器退出维护模式。在资源窗格中选择服务器,右键单击,然后选择退出维护模式。
确保在池中的所有主机上启用多路径。所有布线以及(对于 iSCSI)子网配置必须与每个主机上的相应网卡匹配。

7. 创建 GFS2 SR

在资源池中所有 XenServer 主机可见的 iSCSI 或 HBA LUN 上创建共享 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,请单击 格式化。
    • 如果您希望选择其他 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 不支持 Trim/unmap。
  • GFS2 SR 不支持 CHAP。
  • 您不能将大于 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。
  • GFS2 群集池每个池最多支持 16 个主机。
  • 对于 GFS2 群集流量,我们强烈建议您使用至少两个不同网络交换机的绑定网络。请勿将此网络用于任何其他目的。
  • 使用 XenCenter 更改 GFS2 群集网络的 IP 地址需要暂时禁用群集和 GFS2。
  • 当群集处于活动状态并运行虚拟机时,请勿更改 GFS2 群集网络的绑定。此操作可能导致群集中的主机硬重启(隔离)。
  • 如果您的 GFS2 群集网络上存在 IP 地址冲突(多个主机具有相同的 IP 地址),并且至少有一个主机启用了 GFS2 群集,则群集无法正确形成,并且主机在需要时无法隔离。要解决此问题,请解决 IP 地址冲突。

相关文档

XenServer 当前版本

  • GFS2 群集池
  • 精简预配的共享 GFS2 块存储