本页面介绍了如何使用以下任一方法创建 Filestore 实例: Google Cloud 控制台或 gcloud CLI。
创建实例的说明
Google Cloud 控制台
准备工作
可用区级(10 TiB 到 100 TiB)的配额,或 区域级(10 TiB 到 100 TiB)实例从
0
开始。如需使用这些层级,您必须先发出配额增加请求并获得批准,然后才能创建实例。如果您需要使用旧版服务层级(如 企业或高容量 SSD,则必须直接通过 或使用
gcloud
。这create
项操作 不支持通过 Google Cloud 控制台进行扩缩。如需了解详情,请参阅服务层级。
Google Cloud 说明
在 Google Cloud 控制台中,前往“Filestore 实例”页面。
点击创建实例
根据本页面以下部分中的说明,根据需要输入所有必填字段和选填字段。
点击创建。
gcloud
准备工作
如需使用 gcloud CLI,您必须安装 gcloud CLI 或使用 Google Cloud 控制台中内置的 Cloud Shell :
用于创建 Filestore 实例的 gcloud
命令
您可以通过运行 filestore
instances create
命令来创建 Filestore 实例。
实例配额因项目、区域和层级而异。如需更多信息
请参阅配额或申请增加配额。
gcloud filestore instances create INSTANCE_ID \
[--project=PROJECT_ID] \
[--location=LOCATION] \
[--description=DESCRIPTION] \
--tier=TIER \
--file-share=name="FILE_SHARE_NAME",capacity=FILE_SHARE_SIZE \
--network=name="VPC-NETWORK",[connect-mode=CONNECT_MODE],[reserved-ip-range="RESERVED_IP_ADDRESS"] \
[--labels=KEY=VALUE,[KEY=VALUE,…]] \
[--kms-key=KMS_KEY] \
[--deletion-protection] \
[--deletion-protection-reason="PROTECTION_REASON"]
替换以下内容:
- 将 INSTANCE_ID 替换为您要创建的 Filestore 实例的 ID。请参阅为实例命名。
将 PROJECT_ID 替换为需要执行身份验证的 Google Cloud 项目的 ID 包含 Filestore 实例。如果 Filestore 实例位于
gcloud
默认项目中,则可以跳过此标志。您可以通过运行config set project
命令来设置默认项目:gcloud config set project PROJECT_ID
将 LOCATION 替换为您希望 Filestore 实例所在的位置。请参阅选择位置。如果 Filestore 实例位于
gcloud
默认位置,则可以跳过此标志。您可以通过运行config set filestore/zone
命令来设置默认位置:gcloud config set filestore/zone zone
对于区域级或企业级层级,请使用
config set filestore/region
命令:gcloud config set filestore/region region
DESCRIPTION 说明 Filestore 实例的实例。
将 TIER 替换为您的服务层级 资源。
将 FILE_SHARE_NAME 替换为您为从实例提供的 NFS 文件共享所指定的名称。 请参阅 为文件共享命名。
将 FILE_SHARE_SIZE 替换为文件共享所需的大小。请参阅 分配容量。
将 VPC-NETWORK 替换为您希望实例使用的 VPC 网络的名称。请参阅选择 VPC 网络。如果您要在服务项目中指定共享 VPC,则必须指定完全限定的网络名称(格式为
projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME
),并且必须指定connect-mode=PRIVATE_SERVICE_ACCESS
。例如:--network=name=projects/host/global/networks/shared-vpc-1,connect-mode=PRIVATE_SERVICE_ACCESS
您不能指定 旧版网络 为 VPC-NETWORK 值。如有必要,请按照创建新的自动模式 VPC 网络中的说明创建要使用的新 VPC 网络。
将 CONNECT_MODE 替换为
DIRECT_PEERING
或PRIVATE_SERVICE_ACCESS
。如果您指定共享 VPC 作为网络,则还必须指定PRIVATE_SERVICE_ACCESS
作为连接模式。将 RESERVED_IP_ADDRESS 替换为 Filestore 实例的 IP 地址范围。如果您指定
connect-mode=PRIVATE_SERVICE_ACCESS
,并且您希望使用预留的 IP 地址范围,则必须指定已分配的地址范围(而不是 CIDR 范围)的名称。请参阅配置预留 IP 地址。我们建议您跳过此标志,以允许 Filestore 自动查找可用的 IP 地址范围并将其分配给实例。KEY 是您要添加的标签。创建 Filestore 实例时不需要添加标签。您也可以在创建实例后添加、删除或更新标签。如需了解详情,请参阅管理标签。
将 VALUE 替换为标签的值。
KMS_KEY 是您要在管理自己的数据加密时使用的 Cloud KMS 加密密钥的完全限定名称。格式如下所示:
projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
PROTECTION_REASON如果您选择使用
--deletion-protection
标志,则可以选择添加与该设置相关的备注。如需添加备注,请使用可选的--deletion-protection-reason
标志,并添加对您选择的设置的理由说明。例如,“所有基因组数据都必须遵守当前的组织政策”。如需了解详情,请参阅 删除保护。
示例
以下命令将创建一个具有以下特征的实例:
- ID 为
render1
。 - 项目为
myproject
。 - 地区为
us-central1-c
。 - 层级为
BASIC_HDD
。 - 文件共享名称为
my_vol
。 - 文件共享大小为 2 TiB。
- VPC 网络为
default
。 - 预留 IP 地址范围为
10.0.7.0/29
。 - 使用 IP 地址
10.0.2.0
向客户端授予根压缩的读取和写入访问权限。 - 删除保护已启用。
- 提供删除保护设置的理由。
gcloud 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 \
--deletion-protection \
--deletion-protection-reason="All genomics data must adhere to current
organization policies."
nfs-export-options.json
文件内容:
{
"--file-share":
{
"capacity": "2048",
"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": [
"192.168.0.0/26"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
REST API
安装并初始化 gcloud CLI, 您需要为
Authorization
标头生成访问令牌。使用
cURL
调用 Filestore API:curl --request POST \ 'https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances?instanceId=NAME' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{"tier":"TIER","networks":[{"network":"NETWORK"}],"fileShares":[{"capacityGb":CAPACITY,"name":"SHARE_NAME"}], "deletionProtectionEnabled": true, "deletionProtectionReason": "PROTECTION_REASON"}' \ --compressed
其中:
PROJECT
是您存储的 实例将位于何处。例如my-genomics-project
。LOCATION
是实例所在的位置 存储位置。例如us-east1
或us-central1-a
。NAME
是要创建的实例的名称。例如my-genomics-instance
。TIER
是所需的服务层级的名称 使用。例如REGIONAL
。NETWORK
是您要访问的网络的名称 使用。例如default
。CAPACITY
是您想要执行的大小(以 GiB 为单位) 分配例如1024
。SHARE_NAME
是文件共享的名称。例如vol1
。PROTECTION_REASON
如果您选择使用deletionProtectionEnabled
标志,则可以选择添加与该设置相关的备注。如需添加备注,请使用可选的deletionProtectionReason
标志,并在其中包含对 理由。例如,“All Genomics” 数据必须遵守当前的组织政策。”有关 相关信息,请参阅删除保护。
了解实例和分享
Filestore 实例表示实际存储容量。
共享表示该存储空间中分配给个人、 唯一接入点
所有服务层级均提供与实例 1 对 1 共享的存储空间方案 宽高比。或者,使用适用于 GKE 的 Filestore 多共享, 仅适用于企业级实例,提供对多个共享的访问权限 单个实例
实例名称或实例 ID 供管理员管理实例。客户端使用文件共享名称连接到从这些实例导出的共享。
指定实例名称
您的 Filestore 实例的名称(或实例 ID)用于标识实例并在 gcloud
命令中使用。实例 ID 必须符合 RFC 1035 的 <label>
元素。具体而言,他们必须:
- 长度在 1-63 个字符之间。
- 以小写字母开头。
- 由短划线、小写字母或数字组成。
- 以小写字母或数字结尾。
实例 ID 在它所在的 Google Cloud 项目和区域中必须是唯一的。创建实例后,其实例 ID 便无法更改。
选择服务层级
选择最符合您需求的服务层级。将一个实例 其服务层级无法更改。下表总结了 各项服务等级可用的功能:
能力 | 基本 HDD 和 基本 SSD |
可用区级 | 区域 | 企业 |
---|---|---|---|---|
容量 | 1 TiB 到 63.9 TiB | 1 TiB 到 100 TiB | 1 TiB 到 100 TiB | 1 TiB 到 10 TiB |
可扩缩性 |
|
|
|
以 256 GiB 为增量进行扩缩 |
性能 |
|
随容量线性扩缩, 在所选容量范围内的限制内 |
随容量线性扩缩, 在所选容量范围内 |
随容量线性扩缩 |
协议 | NFSv3 | NFSv3、NFSv4.1 | NFSv3、NFSv4.1 | NFSv3、NFSv4.1 |
Create
针对可用区级、区域级、
而企业实例可能需要 15 分钟到
一个小时才能完成,具体取决于实例大小。
当实例创建开始时,即会消耗 Filestore 配额,但在此期间您无需为该实例付费。
性能
下表更详细地比较了各个服务层级的性能:
规范 | 基本 HDD | 基本 SSD | 可用区级 | 区域 | 企业 |
---|---|---|---|---|---|
读取 IOPS |
|
60000 |
|
|
1 TiB 到 10 TiB 容量: 12,000-120,000 |
写入 IOPS |
|
25000 |
|
|
1 TiB 到 10 TiB 容量: 4,000-40,000 |
读取吞吐量 (MB/s) |
|
1200 |
|
|
1 TiB 到 10 TiB 容量: 120-1,200 |
写入吞吐量 (MB/s) |
|
350 |
|
|
1 TiB 到 10 TiB 容量: 100-1,000 |
有关性能的详情,请参阅 性能。
如需详细了解各个服务层级提供的功能,请参阅服务层级。
分配容量
在创建实例时,根据需要分配容量。在接近容量限制时,您可以根据需要扩增容量,而不会影响运行时。如需了解如何监控实例的容量,请参阅监控实例。
在 gcloud CLI 中,您可以使用 GiB
或 TiB
以整数形式指定容量。默认单位为 GiB
。
下表显示了每个层级可用的实例大小:
层级 | 大小下限 | 大小上限 | 增量步长 |
---|---|---|---|
基本 HDD | 1 TiB | 63.9 TiB | 1 GiB |
基本 SSD | 2.5 TiB | 63.9 TiB | 1 GiB |
可用区级 | 1 TiB | 9.75 TiB | 256 GiB |
可用区级 | 10 TiB | 100 TiB | 2.5 TiB |
区域 | 1 TiB | 9.75 TiB | 256 GiB |
区域 | 10 TiB | 100 TiB | 2.5 TiB |
大型企业 | 1 TiB | 10 TiB | 256 GiB |
实例大小可以是任意整数 GiB 值或其 TB 介于最小和最大实例大小之间且可被整除的等效值 按其增量步长的大小变化。例如,可用区级实例的有效大小 包括 10 TiB、12.5 TiB 和 15 TiB。
创建后,基本层级实例只能进行扩容。所有其他服务 可以增加或减少容量如需了解详情,请参阅修改实例和扩缩容量。
总容量配额
系统会为每个项目分配单独的容量配额,该配额由区域和服务层级定义。配额限制因服务层级而异。
达到配额限制后,您将无法创建更多的 Filestore 实例或增加现有实例的容量。如需查看可用配额,请前往 Google Cloud 控制台中的配额页面:
如需了解如何申请更多配额,请参阅申请增加配额。
为文件共享命名
文件共享是存储所有共享文件的 Filestore 实例上的目录。它也是您在客户端虚拟机上装载或映射到的内容。
文件共享的名称必须符合以下要求:
- 对于可用区级、区域级和企业级层级,字符长度为 1-32 个;对于基本层级,字符长度为 1-16 个。
- 以字母开头。
- 由大写或小写字母、数字和下划线组成。
- 必须以字母或数字结尾。
选择 VPC 网络
您选择与 Filestore 搭配使用的网络可以是标准 VPC 网络,也可以是共享 VPC 网络。在 那么您选择的网络必须具有足够的可用 IP 资源 专用于 Filestore 实例,否则 创建失败。
客户端必须与 Filestore 实例位于同一网络中,才能访问存储在该实例上的文件。将一个实例 无法更改此网络选择。
共享 VPC 网络
如需在服务项目中的共享 VPC 网络上创建实例,网络管理员必须先为该共享 VPC 网络启用专用服务访问通道。如果您要在宿主项目中创建实例,则不需要专用服务访问通道。
共享 VPC 网络会显示在 Google Cloud 控制台的 格式:
projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME
如需详细了解过程,请参阅在共享 VPC 网络上创建实例。
NFS 文件锁定
如果您计划与此 Filestore 实例结合使用的应用需要 NFS 文件锁定,并且您选择以下任一项,则可能需要在所选网络中打开 Filestore 使用的端口:
- 除默认网络以外的 VPC 网络。
- 防火墙规则已改变的默认 VPC 网络。
如需了解详情,请参阅配置防火墙规则。
选择位置
位置是指 Filestore 实例所在的地区和区域。为获得最佳性能并避免跨地区网络费用,请确保 Filestore 实例与需要访问实例的 Compute Engine 虚拟机位于同一地区。
如需详细了解地区和区域,请参阅地理位置和地区。
配置基于 IP 的访问权限控制
默认情况下,Filestore 实例会向共用同一 Google Cloud 项目和 VPC 网络的所有客户端(包括 Compute Engine 虚拟机和 GKE 集群)授予根级读写访问权限。如果要限制访问权限,您需要创建适当的规则,以根据客户端的 IP 地址向客户端授予特定的访问权限级别。规则添加完毕后 被撤消的访问权限。可用区实例、区域实例和企业实例支持重叠 IP 地址范围的配置设置。有关 相关信息,请参阅权限重叠。
下表介绍了各个访问权限级别的权限。这些访问权限级别仅在 Google Cloud 控制台中使用。在 gcloud CLI 和 API 中,您必须直接指定规则配置。
访问权限级别 | 规则配置 | 说明 |
---|---|---|
admin |
|
客户端可以以根用户身份查看和修改所有文件、文件夹和元数据。它还可以通过设置其 uid 和 gid 来授予文件或文件夹的所有权,从而向没有文件共享根级访问权限的客户端授予访问权限。 |
admin-viewer |
|
客户端可以以根用户身份查看所有文件、文件夹和元数据,但无法修改它们。 |
editor |
|
客户端可以根据其分配的 uid 和 gid 查看和修改文件、文件夹和元数据。 |
viewer |
|
客户端可以根据其分配的 uid 和 gid 查看文件、文件夹和元数据。 |
root-squash
会将来自 uid 0
和 gid 0
的所有请求分别映射到 anon_uid
和 anon_gid
。此配置会从尝试以根用户身份访问文件共享的客户端中移除根级访问权限。
创建基于 IP 的访问规则时:
- 您必须指定内部 IP 地址或范围,以及授予的访问权限级别。
- 在实例创建时,至少有一条规则必须授予
admin
访问权限。您可以在创建实例后移除此规则。 - 可用区级、地区级和企业级实例支持重叠 IP 地址范围的配置设置。不支持基本层级实例。如需了解详情,请参阅重叠权限。
在 Google Cloud 控制台中,您最多可以创建 4 条不同的规则(admin
、admin-viewer
、editor
、viewer
),最多涉及 64 个不同的 IP 地址或范围。
在 gcloud CLI 中,您最多可以跨 10 条不同的规则为每个 Filestore 实例配置最多 64 个不同的 IP 地址或 CIDR 块。规则是指由 access-mode
、
squash-mode
和 anon_uid
/anon_gid
配置。anon_uid
和
anon_gid
个字段的默认值是 65534
,只能配置
通过 API 和 gcloud CLI 访问 Cloud Storage 存储分区。
示例
下面是三个不同的基于 IP 的访问规则的示例:
access-mode=READ_ONLY
、squash-mode=ROOT_SQUASH
、anon_uid=10000
。access-mode=READ_WRITE
、squash-mode=ROOT_SQUASH
、anon_gid=150
。access-mode=READ_WRITE
、squash-mode=NO_ROOT_SQUASH
。
如需使用 gcloud CLI 创建基于 IP 的访问权限控制规则,请将 --flags-file
标志与 instances create
或 instances update
命令结合使用,并将其指向 JSON 配置文件。例如,如果 JSON 文件
配置文件名为 nfs-export-options.json
,则该标志为:
--flags-file=nfs-export-options.json
JSON 配置文件示例:
{
"--file-share":
{
"capacity": "2048",
"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": [
"192.168.0.0/26"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
- ip-ranges 是授予访问权限的 IP 地址或范围。您可以指定 用英文逗号分隔。仅限可用区级 区域级实例和企业实例支持 重叠的 IP 地址范围如需了解详情,请参阅 权限重叠。
- access-mode 是授予 IP 地址在 ip-range 范围内的客户端的访问权限级别。它可以有值
READ_WRITE
或READ_ONLY
。默认值为READ_WRITE
。 - squash-mode 可以具有值
ROOT_SQUASH
或NO_ROOT_SQUASH
。ROOT_SQUASH
移除 IP 地址在 ip-range 范围内的客户端的根级访问权限,而NO_ROOT_SQUASH
启用根访问权限。默认值为NO_ROOT_SQUASH
。 - anon_uid 是您要映射到
anon_uid
的用户 ID 值。默认值为65534
。 - anon_gid 是您要映射到
anon_gid
的群组 ID 值。默认值为65534
。
非 RFC 1918 范围上的客户端
如果您计划将非 RFC 1918 客户端连接到 Filestore 实例,则必须使用基于 IP 的访问权限控制明确授予他们对 Filestore 实例的访问权限。
可选字段
以下部分介绍了可选字段。
添加实例说明
通过实例说明,您可以撰写说明、备注或说明 和其他用户。例如,您可以添加以下信息:
- 实例中存储的文件类型。
- 谁有权访问该实例。
- 关于如何访问实例的说明。
- 实例的用途。
实例说明的长度上限为 2048 个字符。对允许的字符没有任何限制。创建 Filestore 实例后,您可以根据需要随时更新其实例说明。如需了解如何更新实例说明,请参阅修改实例。
添加标签
标签采用键值对形式,可用于对相关实例进行分组并存储实例的相关元数据。 您可以随时添加、删除或修改标签。如需了解详情,请参阅管理标签。
配置预留的 IP 地址范围
每个 Filestore 实例都必须具有与之关联的 IP 地址范围。两者 RFC 1918 和非 RFC 1918 IP 地址范围(GA) 。
一旦指定,实例的 IP 地址范围便无法再改变。
我们建议用户让 Filestore 自动确定可用的 IP 地址范围并将其分配给实例。自行选择时 请考虑以下 Filestore IP 资源要求:
必须使用 CIDR 表示法。
必须是有效的 VPC 子网范围。
基本实例要求的块大小为 29。例如
10.123.123.0/29
。可用区级实例、区域级实例和企业实例要求块大小为 26。例如,
172.16.123.0/26
。IP 地址范围不得与以下内容重叠:
Filestore 实例使用的 VPC 网络中的现有子网。
与 Filestore 实例使用的网络对等互连的 VPC 网络中的现有子网。如需了解详情,请参阅在对等互连时重叠子网。
分配给该网络中任何其他现有 Filestore 实例的 IP 地址范围。
172.17.0.0/16
地址范围已预留给内部 Filestore 组件。因此,存在以下限制:此范围内的客户端无法连接到 Filestore 实例。
无法在此 IP 范围内创建 Filestore 实例。对于 请参阅已知问题。
必须至少有一个 VPC 网络对等互连或专用服务访问通道 每个 VPC 的网络连接
您可以转到 Google Cloud Console 中的“VPC 网络”页面,查看网络子网的 IP 地址范围:
您可以获取任何 Filestore 的预留 IP 地址范围 实例 Google Cloud 控制台:
如果要使用专用服务访问通道并指定预留的 IP 地址范围,则必须为连接指定分配的地址范围的名称。如果未指定范围名称,则 Filestore 会自动使用与专用服务访问通道连接关联的任何已分配范围。
使用客户管理的加密密钥
默认情况下,Google Cloud 会使用 Google 管理的加密密钥自动加密静态数据。如果您需要更好地控制用于保护数据的密钥,则可以为 Filestore 使用客户管理的加密密钥 (CMEK)。如需了解详情,请参阅使用客户管理的加密密钥加密数据。
启用删除防护
设置实例的删除保护设置。默认情况下,此设置 已停用。如需了解详情,请参阅删除保护。
添加删除保护设置说明
添加说明,说明您选择删除保护设置的原因。如需了解详情,请参阅删除保护。
后续步骤
- 了解如何配置实例以使用 NFSv4.1 协议。
- 了解如何将实例连接到客户端:
- 了解如何检索实例详细信息(例如实例的 IP 地址), 可以从客户端访问 Filestore 文件共享。
- 排查与 Filestore 相关的实例创建问题。
- 详细了解 Virtual Private Cloud (VPC) 网络和子网。
- 详细了解 Filestore 的网络和 IP 资源要求。