在 VMware Engine 中将 Google Cloud NetApp Volumes 用作 vSphere Datastore

本页面介绍了如何将 Google Cloud NetApp Volumes NFS 存储(具有标准、高级、极致和 Flex 统一服务级别)用作 Google Cloud VMware Engine 中 ESXi 主机的外部 Datastore。如需将 Google Cloud NetApp Volumes 用作 Datastore,请在与 vSphere 集群相同的区域中创建 Google Cloud NetApp Volumes 卷,然后将其作为外部 Datastore 装载到 VMware Engine 中的现有 ESXi 主机。此解决方案通过崩溃一致性快照和跨区域复制提供数据保护。

如需大致了解 NFS 数据存储区(包括前提条件和优势),请参阅 NFS 数据存储区概览

下图展示了 NetApp Volumes 与 VMware Engine 和 Compute Engine 搭配使用的情况:

与 VMware Engine 和 Compute Engine 相关的 NetApp Volumes。

上图展示了如何将 Google Cloud NetApp Volumes 用作 VMware Engine 的外部 Datastore。您的 VPC 网络与 VMware Engine 网络 (VEN) 之间存在 VPC 网络对等互连连接。VEN 与 NFS 卷所在的 Google Cloud NetApp Volumes 服务网络之间存在另一个 VPC 网络对等互连连接。Google Cloud NetApp Volumes 卷作为 NFS 数据存储区装载到 VMware Engine 私有云中的 ESXi 主机上。

限制

除了 NFS 数据存储区概览中介绍的限制之外, 以下限制还适用于 Google Cloud NetApp Volumes 数据存储区:

  • VAAI: 不支持副本分流 (VAAI) 。

准备工作

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

  • VPC 对等互连:在 NFS 卷的 VPC 网络与您计划装载 Datastore 的私有云的 VMware Engine 网络 (VEN) 之间建立活跃的 VPC 网络对等互连连接。
  • 服务子网: 预留一个专用服务子网,并为 NFS 流量分配唯一的 CIDR 范围。为 VMware Engine 服务网络配置至少 /26 CIDR,以用于外部 NFS 存储。 此子网必须专门用于 NFS 数据存储区,但同一个服务子网可用于多个 NFS 数据存储区。
  • 删除保护对卷启用删除保护,以 防止意外删除和数据丢失。

权限

如需将 Google Cloud NetApp Volumes 卷装载为外部数据存储区, VMware Engine 服务代理需要特定的 IAM 角色,适用于 service-PROJECT_NUMBER@gcp-sa-vmwareengine.iam.gserviceaccount.com。 向服务代理授予以下角色:

  • roles/netapp.viewer: 在 Google Cloud NetApp Volumes 所在的项目中授予此角色。借助此角色,VMware Engine 可以访问 Google Cloud NetApp Volumes 卷。
  • roles/compute.networkViewer: 在 Google Cloud NetApp Volumes 所在的项目中授予此角色。如果您使用的是共享 VPC,并且 Google Cloud NetApp Volumes 部署在服务项目中,请改为在宿主项目中授予此角色。借助此角色,VMware Engine 可以查看网络对等互连。

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

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

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

替换以下内容:

  • NETAPP_PROJECT_ID:Google Cloud NetApp Volumes 卷所在的项目 ID。
  • PROJECT_NUMBER:启用 VMware Engine 的项目编号。
  • VPC_HOST_PROJECT_ID:包含 Google Cloud NetApp Volumes 使用的 VPC 网络的项目 ID。如果 Google Cloud NetApp Volumes 部署在共享 VPC 服务项目中,则这是宿主项目的 ID。否则,此值与 NETAPP_PROJECT_ID 相同。

获取 VPC 网络详细信息

在 VMware Engine 和 NetApp Volumes 之间创建对等互连连接时,您需要一些有关 NetApp Volumes 使用的 VPC 网络的详细信息。如需获取这些详细信息,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 VPC 网络 页面。

    进入 VPC 网络页面

  2. 点击与 NetApp Volumes 建立对等互连的 VPC 网络。

  3. 点击 VPC 网络对等互连 标签页。

  4. 选择与 NetApp Volumes 租户项目的对等互连连接。连接名称通常为 sn-netapp-prod

  5. 复制对等互连项目 ID (例如 netapp-tenant-project-tp)和对等互连 VPC 网络 名称。

为旧版网络创建对等互连连接

如需在 VMware Engine 和 NetApp Volumes 或 Filestore 服务之间建立连接,请在租户宿主项目之间执行一次性对等互连。如果您是在 2023 年 11 月 12 日之前创建 VMware Engine 项目和私有云的,则您使用的是旧版 VMware Engine 网络。对于使用旧版 VMware Engine 网络的环境,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往专用连接 页面。

    进入专用连接页面

  2. 点击选择项目 ,然后选择要在其中创建对等互连连接的组织、文件夹或项目。

  3. 点击创建

  4. 专用连接名称中,为对等互连提供名称,例如 peering-2-netapp-volumes

  5. VMware Engine 网络 中,指定您要建立对等互连的 VMware Engine 网络,例如 us-central1-default

  6. 对于专用连接类型,选择第三方服务

  7. 对等互连项目 ID 中,输入包含您的卷的 NetApp Volumes 的对等互连项目 ID。

  8. 对等互连 VPC 网络中,输入 卷所在的对等互连 VPC 网络的名称。

  9. 点击创建

在 VMware Engine 服务并验证对等互连请求时,预计新专用连接的 VPC 对等互连状态将保持非活跃状态长达 72 小时。

对于旧版网络,请确保与 NetApp Volumes 租户项目的专用连接处于活跃状态,然后再尝试装载 Datastore。如果连接缺失或处于非活跃状态,装载操作将会失败。此外,请避免删除已装载的 Datastore 正在使用的专用连接,因为这可能会中断对 Datastore 的访问。

创建对等互连连接

如果您的 VMware Engine 项目和私有云是在 2023 年 11 月 12 日之后创建的,请执行以下操作。如需详细了解如何为此类环境创建 VPC 对等互连,请参阅对等互连 VPC 网络

  1. 在 Google Cloud 控制台中,前往 VPC 网络对等互连 页面。

    进入 VPC 网络对等互连页面

  2. 点击选择项目 ,然后选择要在其中创建对等互连连接的组织、文件夹或项目。

  3. 点击创建

  4. 名称 字段中,为网络对等互连提供名称。例如 peering-2-netapp-volumes

  5. VMware Engine 网络 部分中,保留默认选择的 “在当前 项目中” 。指定您要建立对等互连的 VMware Engine 网络,例如 ven1

  6. 对于对等互连 ,选择 Google Cloud NetApp Volumes

  7. 服务租户项目 ID 字段中,输入包含您的卷的项目的对等互连项目 ID。 Google Cloud

  8. 路由交换 部分中,保留默认设置。

  9. 点击创建

建立 VPC 对等互连后,将路由传播到 vSphere 节点可能需要长达 20 分钟的时间。

对等互连连接两个网络。避免这两个网络之间的路由重叠;对等互连不会阻止动态路由中的重叠。

创建 Google Cloud NetApp Volumes 卷

创建 Google Cloud NetApp Volumes 卷以用作 VMware Engine 数据存储区时,请确保卷导出 规则允许以下操作:

  • 从您之前在“授权的应用”下创建的服务子网范围进行访问。
  • 读取和写入权限
  • 根访问权限

将卷标记为不可删除

在将卷装载为外部 NFS 数据存储区之前,请对卷启用删除保护。启用删除保护后,系统会阻止任何用户意外删除卷。

如需启用删除保护,请使用 gcloud CLI 限制对卷执行 delete 操作:

gcloud netapp volumes update $VOLUME_NAME --restricted-actions=DELETE --project=$PROJECT --location=$LOCATION

如需了解详情,请参阅阻止卷删除

创建卷后,您可以使用 NetApp Volumes 界面/API/CLI 执行各种卷管理功能。如需了解详情,请参阅卷概览

将卷装载为 Datastore

创建 Google Cloud NetApp Volumes 卷并满足 前提条件后,使用 VMware Engine API 将卷装载为 Datastore。

VMware Engine 装载 Datastore 后,该 Datastore 即可供使用,您可以使用 vCenter 界面针对外部 Datastore 预配虚拟机、查看指标,以及查看与针对外部 Datastore 执行的 I/O 操作相关的日志。

如需详细了解 NetApp Volumes,请参阅 什么是 Google Cloud NetApp Volumes

REST、gcloud CLI 和 Terraform 工作流

如需详细了解如何使用 API、gcloud CLI 或 Terraform 管理数据存储区,请参阅 在 VMware Engine 中将 NFS 卷作为 vSphere 数据存储区进行管理