创建实例

本页面介绍如何使用 Cloud Console 或 gcloud 工具创建 Filestore 实例。

创建实例的说明

Cloud Console

您可以通过执行以下步骤,使用 Cloud Console 创建 Filestore 实例。大规模 SSD 配额从 0 开始,您必须先发出大规模 SSD 配额增加请求并得到批准,然后才能创建大规模 SSD 实例。

  1. 在 Cloud Console 中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

  2. 点击创建实例

  3. 根据本页面以下部分中的说明,根据需要输入所有必填字段和选填字段。

  4. 点击创建

gcloud

准备工作

如需使用 gcloud 工具,您必须安装 Cloud SDK 或使用 Cloud Console 中内置的 Cloud Shell

转到 Cloud Console

gcloud 命令,用于创建 Filestore 实例

您可以通过运行 instances create 命令来创建 Filestore 实例。如果要创建大规模 SDD 实例或使用基于 IP 的访问权限控制,您必须运行 gcloud beta filestore instances create。此外,大规模 SSD 配额从 0 开始,您必须发出大规模 SSD 配额增加请求并得到批准,然后才能创建大规模容量层级实例。

gcloud [beta] filestore instances create instance-id \
    --[project=project-id] \
    --[zone=zone] \
    --tier=tier \
    --file-share=name="file-share-name",capacity=file-share-size \
    --network=name="vpc-network",[reserved-ip-range="reserved-ip-address"]
    --[labels=key=value,[key=value,…]]

其中:

  • instance-id 是您要创建的 Filestore 实例的实例 ID。请参阅为实例命名
  • project-id 是包含 Filestore 实例的 Cloud 项目的项目 ID。如果 Filestore 实例位于 gcloud 默认项目中,则可以跳过此标志。您可以通过运行以下命令来设置默认项目:

     gcloud config set project project-id
    
  • zone 是 Filestore 实例所在的区域。请参阅选择位置。运行 gcloud filestore zones list 命令以获取受支持区域的列表。如果 Filestore 实例位于 gcloud 默认区域,则可以跳过此标志。您可以通过运行以下命令来设置默认区域:

     gcloud config set filestore/zone zone
    
  • tier 的值可以是 BASIC_HDDBASIC_SSDHIGH_SCALE_SSD。如果您未在命令中指定 beta,则必须使用“STANDARDforBASID_HDDandPREMIUMforBASIC_SSD”。如需了解详情,请参阅服务层级

  • file-share-name 是您为从实例提供的 NFS 文件共享所指定的名称。请参阅为文件共享命名

  • file-share-size 是文件共享所需的大小。BASIC_HDD 层级实例的最小文件共享大小为 1 TB (TB),BASIC_SSD 层级实例的最小文件共享大小为 2.5 TB,HIGH_SCALE_SSD 层级实例的最小文件共享大小则为 60 TB。请参阅分配容量

  • vpc-network 是您希望实例使用的 VPC 网络的名称。请参阅选择授权网络。您不能为 vpc-network 值指定旧版网络。如有必要,请按照创建新的自动模式 VPC 网络中的说明创建要使用的新 VPC 网络。

  • reserved-ip-address 是 Filestore 实例的 IP 地址范围。请参阅配置预留 IP 地址。我们建议您跳过此标志,以允许 Filestore 自动查找可用的 IP 地址范围并将其分配给实例。

  • key 是您要添加的标签。创建 Filestore 实例时,不需要添加标签。您还可以在创建实例后添加、删除或更新标签。如需了解详情,请参阅管理标签

  • value 是标签的值。

示例

以下命令将创建一个具有以下特征的实例:

  • ID 为 render1
  • 项目为 myproject
  • 地区为 us-central1-c
  • 层级为 BASIC_HDD
  • 文件共享名称为 NFSvol
  • 文件共享大小为 2 TB
  • VPC 网络为 default
  • 预留 IP 地址范围为 10.0.7.0/29
  • 使用 IP 地址 10.0.2.0 向客户端授予根压缩的读取和写入访问权限。
gcloud beta filestore instances create render1 \
    --project=myproject \
    --zone=us-central1-c \
    --tier=BASIC_HDD \
    --network=name="default",reserved-ip-range="10.0.7.0/29"
    --flags-file=nfs-export-options.json

nfs-export-options.json 文件内容:

{
  "--file-share":
    {
      "capacity": "2048",
      "name": "NFSVol",
      "nfs-export-options": [{
        "access-mode": "READ_WRITE",
        "ip-ranges": [
          "10.0.2.0",
        ],
        "squash-mode": "ROOT_SQUASH"

        }
      ]
    }
}

为实例命名

您的 Filestore 实例的名称(或实例 ID)用于标识实例并在 gcloud 命令中使用。实例 ID 必须符合 RFC 1035 的 <label> 元素。具体而言,他们必须:

  • 长度在 1-63 个字符之间。
  • 以小写字母开头。
  • 由短划线、小写字母或数字组成。
  • 以小写字母或数字结尾。

实例 ID 在它所在的 Cloud 项目和区域中必须是唯一的。创建实例后,其实例 ID 便无法更改。

选择服务层

Filestore 实例的服务层级是其实例类型存储类型的组合。创建实例后,其服务层级便无法更改。

实例类型

选择最符合您的需求的实例类型。如果您预计实例不需要超过 63.9 TB 的存储空间,我们建议您选择基本。但是,大规模容量层级可在多客户端方案中提供更高的总体性能。如果您的工作负载性能关键并且分布在多个客户端上,您仍然可以选择部署大规模层级实例,以实现其性能优势。下表突出显示了基本大规模实例类型之间的区别:

功能 基本 大规模
容量 1-63.9TB 60-320TB
扩容 容量可以在运行时按 1GB 增量或其倍数进行扩大。 容量可以在运行时按 10TB 增量或其倍数进行扩大或缩小。
性能 位于 10TB 的静态与性能步骤。 随容量线性扩缩。

大规模 SSD 层级实例的创建时间在 15 分钟到一个小时之间,具体取决于实例大小。

当实例创建开始时,即会消耗 Filestore 配额,但在此期间您无需为该实例付费。

如需详细了解服务层级,请参阅服务层级页面。

存储类型

根据您的性能需求选择 HDDSSD。我们建议将 SSD 用于性能关键型工作负载。HDD 不适用于 大规模实例。下表突出显示了基本 HDD、基本 SSD 和大规模 SSD 层级实例之间的速度差异。大规模 SSD 层级实例的性能会根据实例的容量进行自动扩缩。

指定 基本 HDD 基本 SSD 大规模 SSD
读取 IOPS
  • 1-10 TB 容量:600
  • 10+ TB 容量:1000
60000 90,000-480,000
写入 IOPS
  • 1-10 TB 容量:1000
  • 10+ TB 容量:5000
25000 30,000-160,000
读取吞吐量(MB/秒)
  • 1-10 TB 容量:100
  • 10+ TB 容量:180
1200 3,000-16,000
写入吞吐量(MB/秒)
  • 1-10 TB 容量:100
  • 10+ TB 容量:120
350 660-3,520

如需详细了解性能,请参阅性能页面。

分配容量

由于 Filestore 实例的容量可以在不影响运行时的情况下进行扩缩,并且根据实例分配的大小进行计费,因此您可以将其设置为创建实例时当前所需的容量。在接近容量限制时,您可以根据需要扩大容量。如需了解如何监控实例的容量,请参阅监控实例

您可以使用 GBTB 以整数形式指定容量。默认单位为 GB

下表显示了每个层级可用的实例大小:

层级 大小下限 大小上限 最小增量
基本 HDD 1TB1024GB 63.9TB65433GB 1GB
基本 SSD 2.5TB2560GB 63.9TB65433GB 1GB
大规模 SSD 60TB61440GB 320TB327680GB 10TB

基本层级实例的大小可以是实例大小的最小值和最大值之间的任何整数吉比字节值或其等值太比字节。大规模层级实例的大小可以是实例大小的最小值和最大值之间的任何值,该值是太比字节的 10 倍或其等值吉比字节。如需了解单位数,请参阅存储空间大小单位

一旦创建,基本层级实例的大小只能扩大,而大规模层级实例的大小可以扩大或缩小。如需了解详情,请参阅扩缩容量

总容量配额

每个项目分别为每个 Google Cloud 地区的基本实例和大规模实例分配单独的容量配额。达到配额限制后,您将无法创建更多的 Filestore 实例或增加现有实例的容量。如需查看可用配额,请转到 Google Cloud Console 中的“配额”页面:

转到“配额”页面

如需了解如何申请更多配额,请参阅申请增加配额

为文件共享命名

文件共享是存储所有共享文件的 Filestore 实例上的目录。它也是您在客户端虚拟机上装载或映射到的内容。

文件共享的名称必须符合以下要求:

  • 长度在 1-16 个字符之间。
  • 以字母开头。
  • 由大写或小写字母、数字和下划线组成。
  • 以字母或数字结尾。

选择授权网络

授权网络是创建 Filestore 实例时与之对等的 Cloud 项目中的 VPC 网络。Compute Engine 虚拟机必须与 Filestore 实例位于同一网络上,以访问存储在该实例上的共享文件。创建实例后,就无法再更改其授权网络。

如果您使用的是共享 VPC 服务项目,则无法在共享 VPC 网络上直接创建 Filestore 实例。如需了解详情,请参阅已知问题

如果您计划用于此 Filestore 实例的应用需要 NFS 文件锁定,您可以选择以下二者之一:

  • 除默认网络以外的 VPC 网络。
  • 防火墙规则已改变的默认 VPC 网络。

那么您可能需要在所选网络中打开 Filestore 使用的端口。如需了解详情,请参阅配置防火墙规则

选择位置

位置是指 Filestore 实例所在的地区区域。为获得最佳性能并避免跨地区网络费用,请确保 Filestore 实例与需要访问实例的 Compute Engine 虚拟机位于同一地区。

如需详细了解地区和区域,请参阅地理位置和地区

配置基于 IP 的访问权限控制

默认情况下,Filestore 实例会向共用同一 Cloud 项目和 VPC 网络的所有客户端(包括 Compute Engine 虚拟机和 GKE 集群)授予根级读写访问权限。如果要限制访问权限,您需要创建适当的规则,以根据客户端的 IP 地址向客户端授予特定的访问权限级别。添加规则后,所有未在规则中指定的 IP 地址和范围都会被撤消访问权限。

下表介绍了各个访问权限级别的权限。这些访问权限级别仅在 Cloud Console 中使用。在 gcloud 工具和 API 中,您必须直接指定规则配置。

访问权限级别 规则配置 说明
管理
  • 读—写
  • 无根用户废除
客户端可以以根用户身份查看和修改所有文件、文件夹和元数据。它还可以通过设置其 uidgid 来授予文件或文件夹的所有权,从而向没有文件共享根级访问权限的客户端授予访问权限。
管理员—查看者
  • 只读
  • 无根用户废除
客户端可以以根用户身份查看所有文件、文件夹和元数据,但无法修改它们。
编辑者
  • 读—写
  • 根用户废除
客户端可以根据其分配的 uidgid 查看和修改文件、文件夹和元数据。
查看者
  • 只读
  • 根用户废除
客户端可以根据其分配的 uidgid 查看文件、文件夹和元数据。

root-squash 会将来自 uid 0gid 0 的所有请求分别映射到 anon_uidanon_gid。这会从尝试以根用户身份访问文件共享的客户端中移除根级访问权限。

创建基于 IP 的访问规则时,您必须指定内部 IP 地址或范围,以及授予的访问权限级别。创建实例时,至少有一条规则必须授予 admin 访问权限。创建实例后,此规则可以移除。在 Cloud Console 中,您最多可以创建 10 条不同的规则,最多涉及 64 个不同的 IP 地址或范围。

gcloud 工具中,您最多可以跨 10 条不同的规则为每个 Filestore 实例配置最多 64 个不同的 IP 地址或 CIDR 块。规则定义为 access-modesquash-modeanon_uid/anon_gid 配置的组合。anon_uidanon_gid 字段具有 65534 的默认值,只能通过 API 和 gcloud 工具进行配置。

示例

下面是三个不同的基于 IP 的访问规则的示例:

  • access-mode=READ_ONLYsquash-mode=ROOT_SQUASHanon_uid=10000
  • access-mode=READ_WRITEsquash-mode=ROOT_SQUASHanon_gid=150
  • access-mode=READ_WRITEsquash-mode=NO_ROOT_SQUASH

要使用 gcloud 工具创建基于 IP 的访问权限控制规则,请将 --flag-file 标志与 instances createinstances update 命令结合使用,并将其指向 JSON 配置文件。例如,如果 JSON 配置文件的名称为 nfs-export-options.json,则该标志将为:

--flag-file=nfs-export-options.json

JSON 配置文件示例:

   {
  "--file-share":
    {
      "capacity": "4096",
      "name": "my_vol",
      "nfs-export-options": [
        {
          "access-mode": "READ_WRITE",
          "ip-ranges": [
            "10.0.0.0/29",
            "10.2.0.0/29"
          ],
          "squash-mode": "ROOT_SQUASH",
          "anon_uid": 1003,
          "anon_gid": 1003
        },
         {
          "access-mode": "READ_ONLY",
          "ip-ranges": [
            "10.0.1.0"
          ],
          "squash-mode": "NO_ROOT_SQUASH"
        }
      ],
    }
}
  • ip-ranges 是授予访问权限的 IP 地址或范围。您可以指定多个 IP 地址或范围,并以逗号分隔。示例:10.0.1.010.0.2.0...
  • access-mode 是授予 IP 地址在 ip-range 范围内的客户端的访问权限级别。它可以有值 READ_WRITEREAD_ONLY。默认值为 READ_WRITE
  • squash-mode 可以具有值 ROOT_SQUASHNO_ROOT_SQUASHROOT_SQUASH 移除 IP 地址在 ip-range 范围内的客户端的根级访问权限,而 NO_ROOT_SQUASH 启用根访问权限。默认值为 NO_ROOT_SQUASH
  • anon_uid 是您要映射到 anon_uid 的用户 ID 值。默认值为 65534
  • anon_gid 是您要映射到 anon_gid 的群组 ID 值。默认值为 65534

可选字段

添加实例说明

实例说明允许您为自己和其他用户编写说明、备注或简单说明。例如,您可以添加以下信息:

  • 实例中存储的文件类型。
  • 谁有权访问该实例。
  • 关于如何访问实例的说明。
  • 实例的用途。

实例说明的长度上限为 2048 个字符。对允许的字符没有任何限制。创建 Filestore 实例后,您可以根据需要随时更新其实例说明。如需了解如何更新实例说明,请参阅修改实例

添加标签

标签采用键值对形式,可用于对相关实例进行分组并存储实例的相关元数据。您可以随时添加、删除或修改标签。如需了解详情,请参阅管理标签

配置预留的 IP 地址范围

该 IP 地址范围必须属于内部 IP 地址范围(10.0.0.0/8172.16.0.0/12192.168.0.0/16)之一的子集,且基本级实例的块大小为 29,大规模层级实例的块大小为 23。您选择的 IP 地址范围不得与所选 VPC 网络中的任何现有子网重叠,也不得与该网络中任何现有 Filestore 实例的预留 IP 地址范围重叠。

您可以转到 Google Cloud Console 中的“VPC 网络”页面,查看网络子网的 IP 地址范围:

转到“VPC 网络”页面

您可以在 Google Cloud Console 的“Filestore 实例”页面上获取任何 Filestore 实例的预留 IP 地址范围:

转到“Filestore 实例”页面

对于基本级实例,有效 Filestore 实例 IP 地址范围的示例是 10.0.0.0/29,大规模层级实例的则为 172.16.1.0/23

后续步骤