NFS 数据存储区概览

随着数据量的增加,您可能需要独立于计算资源来扩缩 VMware 工作负载的存储空间。虽然 VMware Engine 中的默认 vSAN 存储空间可为最严苛的应用提供高性能,但要增加容量,您需要添加一个完整的节点,包括您可能不需要的计算和网络资源。

为了让您更灵活地使用 VMware Engine,该服务支持来自 Filestore 和 Google Cloud NetApp Volumes 等服务的外部网络文件系统 (NFS) 数据存储区。对于不需要 vSAN 高性能的第 2 层和第 3 层应用、备份和归档工作负载,使用外部 NFS 数据存储是一种经济高效的存储扩缩方式。

支持的 NFS 存储服务

您可以将外部 NFS 数据存储区与以下 Google Cloud 服务搭配使用:

将 NFS 数据存储区与 VMware Engine 搭配使用的一般前提条件

在将外部 NFS 卷装载为 Datastore 之前,您必须满足以下前提条件:

NFS 卷要求

NFS 卷必须满足以下要求:

  • 位置:NFS 卷(Filestore 实例或 Google Cloud NetApp Volumes 卷)和 VMware Engine 集群必须位于同一 Google Cloud 区域。VMware Engine 不支持跨不同区域装载数据存储区。对于扩展型私有云,仅支持区域数据存储区。
  • 协议:VMware Engine 仅支持 NFS 版本 3 (NFSv3),可用作 VMware Engine 数据存储区。不支持 NFSv4.1。
  • 防删除保护:如果使用 Filestore 或 Google Cloud NetApp Volumes,您必须在卷上启用防删除保护,以防止意外删除和数据丢失。

VMware Engine 服务账号权限

为了创建和装载由 Filestore 或 Google Cloud NetApp Volumes 支持的 Datastore,VMware Engine 使用 Google 代管式服务账号来访问 NFS 资源。向服务账号 (service-PROJECT_NUMBER@gcp-sa-vmwareengine.) 授予以下 IAM 角色:

  • roles/compute.networkViewer:所有 Datastore 类型都需要此权限才能查看网络对等互连。在 NFS 卷所在的项目中授予此角色。如果您使用共享 VPC,请改为在宿主项目上授予此角色。
  • roles/file.viewer:对于由 Filestore 支持的数据存储区,此权限是访问 Filestore 实例所必需的。在 Filestore 所在的项目中授予此角色。
  • roles/netapp.viewer:对于由 Google Cloud NetApp Volumes 支持的数据存储区,此权限是必需的,用于访问 Google Cloud NetApp Volumes 卷。在 Google Cloud NetApp Volumes 所在的项目中授予此角色。

使用以下命令可授予这些角色:

为共享 VPC 配置授予 roles/compute.networkViewer 角色时,请务必将示例中的项目 ID 替换为您的宿主项目 ID。

对于 Filestore

gcloud projects add-iam-policy-binding FILESTORE_PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-vmwareengine. \
    --role=roles/file.viewer

gcloud projects add-iam-policy-binding FILESTORE_PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-vmwareengine. \
    --role=roles/compute.networkViewer

对于 Google Cloud NetApp Volumes

gcloud projects add-iam-policy-binding NETAPP_PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-vmwareengine. \
    --role=roles/netapp.viewer

gcloud projects add-iam-policy-binding NETAPP_PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-vmwareengine. \
    --role=roles/compute.networkViewer

替换以下内容:

  • FILESTORE_PROJECT_ID:Filestore 实例所在的项目 ID。
  • NETAPP_PROJECT_ID:Google Cloud NetApp Volumes 卷所在的项目的 ID。
  • PROJECT_NUMBER:已启用 VMware Engine 的项目编号。

服务子网要求

您必须拥有一个专用服务子网,其中分配了唯一的 CIDR 范围,用于在 ESXi 主机和 NFS 卷之间传输 NFS 流量。您可以按如下方式配置服务子网:

  • 您必须为服务子网配置一个 CIDR 范围,该范围具有足够的 IP 地址,可为私有云中的每个节点分配一个 IP 地址。
  • 您只能将服务子网用于 NFS 数据存储区流量,但可以将同一子网连接到多个不同的 NFS 数据存储区。
  • 您必须将服务子网的预留 CIDR 分配添加到 NFS 卷的允许客户端列表或导出政策中。对于 Filestore,请为服务子网 CIDR 范围添加访问权限控制规则。对于 Google Cloud NetApp Volumes,请将 CIDR 添加到卷的导出规则的允许的客户端部分。

NSX-T 网关和分布式防火墙规则不适用于服务子网。

网络连接要求

NFS 卷的 VPC 网络与您将装载 Datastore 的私有云的 VMware Engine 网络 (VEN) 之间必须存在有效连接。将 Filestore 与 Private Service Access (PSA) 搭配使用时,区域内的存储空间访问不会产生网络费用。

连接到网络文件服务时,请根据私有云的 VEN 类型使用以下连接方法之一:

  • 标准 VEN:在标准 VEN 中创建的私有云使用 VPC 网络对等互连来连接到网络文件服务,例如 Filestore(使用 PSA)或 Google Cloud NetApp Volumes。
  • 旧版 VEN:在旧版 VEN 上运行的私有云需要专用连接才能与网络文件服务连接。如果在 NFS Datastore 正在使用时删除专用连接,则会中断对该 Datastore 的访问。因此,请确保在 NFS Datastore 处于装载和使用状态时,您不会删除专用连接。

与私有云生命周期的互操作性

由 VMware Engine API 管理的 NFS 数据存储区在私有云生命周期事件中保持持久性,具体方式如下:

  • 集群扩展和收缩:如果您向装载了 NFS 数据存储区的集群添加节点,VMware Engine 会自动将这些数据存储区装载到新节点上。如果您在收缩集群时移除节点,则这些节点的 vmknic IP 地址会被释放。
  • 节点重启:节点上的 NFS 数据存储区配置是持久性的,在节点重启后仍保持不变。
  • 软件升级:装载在主机上的 NFS 数据存储不受 ESXi、vCenter 和 NSX-T 组件升级的影响。

从旧版 NFS Datastore 装载迁移

如果您在 2026 年 1 月 1 日之前在 VMware Engine 中创建了 NFS 数据存储区,则您使用的是旧版模型。如需改用受支持且推荐的模型,请与 Cloud Customer Care 联系以开始迁移流程。

已知问题

以下是外部 NFS 数据存储方面的已知问题:

  • 在私有云软删除期间,系统会切断通往 Datastore 的网络路径。
  • 建立 VPC 网络对等互连后,路由传播到 vSphere 节点最多可能需要 20 分钟。

后续步骤