XenServer

NFS SR

NFS 服务器上的共享(支持任何版本的 NFSv4 或 NFSv3)可以立即用作虚拟磁盘的 SR。VDI 仅以 Microsoft VHD 格式存储。此外,由于这些 SR 可以共享,存储在共享 SR 上的 VDI 允许:

  • 虚拟机可以在资源池中的任何 XenServer® 主机上启动

  • 虚拟机可以使用实时迁移(无明显停机时间)在资源池中的 XenServer 主机之间迁移

重要提示:

  • 对于 NFSv4,仅支持 AUTH_SYS 身份验证类型。
  • 强烈建议 NFS 存储使用专用存储网络,该网络至少使用两个绑定链接,理想情况下连接到具有冗余电源的独立网络交换机。
  • 资源池中的所有主机必须连接到相同的 filer IP,以确保所有主机观察到一致的状态。这在配置高可用性时尤为重要,因为与访问高可用性状态文件相关的不一致可能导致主机被隔离。请参阅高可用性
  • 使用具有多个控制器的文件管理器时必须小心,因为通常控制器故障转移不会保留 NFS 共享上打开文件的状态,因此故障转移可能导致在存储库上运行的任何虚拟机崩溃或变为只读,因为它们可能失去对其后端存储的访问。
    • 在对可能需要控制器故障转移的文件管理器控制器执行更新时,应在启动任何控制器切换之前将 NFS 存储库从资源池中分离。
    • 在非计划故障转移后,可能需要重新启动已无响应的虚拟机。

存储在基于文件的 SR 上的 VDI 是精简配置的。映像文件在虚拟机将数据写入磁盘时分配。这种方法的一个显著优点是虚拟机映像文件在存储上仅占用所需空间。例如,如果为虚拟机分配了 100 GB 的 VDI 并安装了操作系统,则 VDI 文件仅反映写入磁盘的操作系统数据的大小,而不是整个 100 GB。

VHD 文件也可以链接,允许两个 VDI 共享公共数据。在克隆基于文件的虚拟机时,生成的虚拟机在克隆时共享公共的磁盘数据。每个虚拟机都在 VDI 的独立写时复制版本中进行自己的更改。此功能允许基于文件的虚拟机从模板快速克隆,从而促进新虚拟机的快速配置和部署。VHD 链的最大支持长度为 30。

XenServer 中的基于文件的 SR 和 VHD 实现假定它们对文件服务器上的 SR 目录拥有完全控制权。管理员不得修改 SR 目录的内容,因为此操作可能导致 VDI 内容损坏。

XenServer 已针对使用非易失性 RAM 的企业级存储进行了优化,以提供对写入请求的快速确认,同时保持高度的数据防故障保护。

警告:

由于基于文件的SR上的VDI是作为精简配置VDI创建的,管理员必须确保基于文件的SR有足够的磁盘空间来容纳所有必需的VDI。XenServer主机不强制要求基于文件的SR上VDI所需的空间必须存在。

确保您监控SR上的可用空间。如果SR使用率达到100%,来自VM的后续写入将失败。这些失败的写入可能导致VM冻结或崩溃。

以下 device-config 参数与NFS SR一起使用:

参数名称 描述 必需?
server NFS服务器的IP地址或主机名
serverpath 到托管SR的NFS服务器的路径,包括NFS挂载点
nfsversion 指定要使用的NFS版本。如果您指定 nfsversion="4",SR将使用NFS v4.0、v4.1或v4.2,具体取决于可用版本。如果您想选择更具体的NFS版本,可以指定 nfsversion="4.0" 等。nfsversion 只能指定一个值。
useUDP 将 SR 配置为使用 UDP 而非默认的 TCP。

创建共享 NFS SR (NFS)

注意:

如果您尝试附加只读 NFS SR,此操作将失败并显示以下错误消息:“SR_BACKEND_FAILURE_461 - 无法写入 SR 的文件系统。”

要创建 NFS SR,您必须提供 NFS 服务器的主机名或 IP 地址。您可以在任何有效的目标路径上创建 SR;使用 sr-probe 命令显示服务器导出的有效目标路径列表。

在 XenServer 与低端存储一起使用的场景中,它会谨慎地等待所有写入都被确认,然后才将确认传递给 VM。这种方法会带来明显的性能开销,可以通过将存储设置为以异步模式导出 SR 挂载点来解决。异步导出会确认实际上尚未写入磁盘的写入。在这些情况下,请仔细考虑失败的风险。

注意:

必须将 NFS 服务器配置为将指定路径导出到池中的所有主机。如果未完成此配置,则 SR 的创建和 PBD 记录的插入将失败。

XenServer NFS 实现默认使用 TCP。如果情况允许,在可能存在性能优势的场景中,您可以将实现配置为使用 UDP。要执行此配置,在创建 SR 时,请指定 device-config 参数 useUDP=true

如果您正在为基于 IP 的存储(包括 NFS)创建 SR,您可以将以下其中一项配置为存储网络:处理管理流量的 NIC 或用于存储流量的新 NIC。要为 NIC 分配 IP 地址,请参阅配置专用存储 NIC

xe CLI

例如,要在 192.168.1.10:/export1 上创建共享 NFS SR,使用文件管理器提供的任何 NFS 版本 4,请使用以下命令:

    xe sr-create content-type=user \
    name-label="shared NFS SR" shared=true \
    device-config:server=192.168.1.10 device-config:serverpath=/export1 type=nfs \
    device-config:nfsversion="4"
<!--NeedCopy-->

要在 192.168.1.10:/export1 上创建非共享 NFS SR,并专门使用 NFS 4.0 版本,请运行以下命令:

    xe sr-create host-uuid=host_uuid content-type=user \
    name-label="Non-shared NFS SR" \
    device-config:server=192.168.1.10 device-config:serverpath=/export1 type=nfs \
    device-config:nfsversion="4.0"
<!--NeedCopy-->

在 XenCenter® 中

  1. 打开新建存储库向导:在工具栏上点击新建存储
  2. 选择NFS作为物理存储类型,然后点击下一步
  3. 名称页面上,输入新 SR 的名称。默认情况下,向导会生成 SR 的描述。此描述包含您在向导中选择的配置选项的摘要。要输入您自己的描述,请清除根据 SR 设置自动生成描述复选框,并在描述框中输入。点击下一步继续。
  4. 位置页面上,指定 NFS 存储目标详细信息:
    • 共享名称 服务器的 IP 地址或 DNS 名称以及路径。例如,server:/path,其中 server 是服务器计算机的 DNS 名称或 IP 地址,path 是用于包含 SR 的目录。NFS 服务器必须配置为将指定路径导出到池中的所有服务器。
    • 高级选项 您可以在此处输入任何其他配置选项。
    • NFS 版本 选择 SR 使用的 NFS 版本。

      注意:

      如果底层存储阵列不支持 NFSv4,则使用 NFSv3 挂载共享。

  5. 点击扫描,让向导扫描您指定位置中现有的 NFS SR。
  6. 新建存储库向导会列出任何尚未附加的现有 SR。您可以从列表中选择一个 SR 并将其作为新的存储库附加。点击重新附加现有 SR 并从列表中选择 SR,然后点击完成
  7. 如果未找到现有 SR,只需点击完成以完成新 SR 配置并关闭向导。
NFS SR