本页介绍了如何使用Google Cloud 控制台或 gcloud CLI 修改 Filestore 实例。
创建后,您可以通过以下方式修改 Filestore 实例:
如需详细了解如何伸缩容量,请参阅伸缩容量。
某些规范(例如实例的 IP 地址)是不可变的。
修改实例的说明
Google Cloud 控制台
如需使用 Google Cloud 控制台修改 Filestore 实例,请前往修改实例页面,您可以在其中修改实例说明、管理基于 IP 的访问权限控制规则并调节文件共享性能:
在 Google Cloud 控制台中,前往“Filestore 实例”页面。
点击要修改的实例的 ID。
在实例详情页面上,点击修改以转到修改实例页面。
根据需要更改实例说明、基于 IP 地址的访问权限控制规则和容量。如需了解详情,请参阅创建实例。
点击保存。
gcloud
准备工作
如需使用 gcloud CLI,您必须安装 gcloud CLI 或使用控制台中内置的 Cloud Shell Google Cloud :
用于修改实例的 gcloud
命令
您可以通过运行 instances
update
命令来修改 Filestore 实例。如果您需要更新基于 IP 的访问权限控制的配置规则,则必须使用 --flags-file
标志并指定 JSON 配置文件。如果选择此方法,则无需使用 --file-share
标志,因为它已包含在 JSON 配置文件中。
gcloud filestore instances update INSTANCE_ID
--[project="PROJECT_ID"]
--[location=LOCATION]
--[performance=PERFORMANCE] \
--[file-share=name="FILE_SHARE_NAME",CAPACITY=FILE_SHARE_SIZE]
--[description="DESCRIPTION"]
--[flags-file=FILE_NAME.json]
其中:
- INSTANCE_ID 是您要修改的 Filestore 实例的实例 ID。
PROJECT_ID 是包含 Filestore 实例的 Google Cloud 项目的项目 ID。如果 Filestore 实例位于
gcloud
默认项目中,则可以跳过此标志。您可以通过运行以下命令来设置默认项目:gcloud config set project project-id
LOCATION 是 Filestore 实例所在的位置。对于区域实例和企业实例,请指定地区。对于所有其他实例,请指定可用区。运行
gcloud filestore zones list
命令以获取受支持可用区的列表。如果 Filestore 实例位于gcloud
默认区域,则可以跳过此标志。您可以通过运行以下命令来设置默认区域:gcloud config set filestore/zone zone
PERFORMANCE 是性能配置,用于独立于所选容量指定自定义性能设置。
您只能使用以下选项之一:
max-iops-per-tb
用于指定每 TiB 的 IOPS 速率,该速率会随实例容量线性扩缩。max-iops
指定固定的 IOPS 速率,该速率不会随实例容量而扩缩。格式如下所示:
--performance=max-iops-per-tb=17000
FILE_SHARE_NAME 是从 Filestore 实例提供的文件共享的名称。实例创建后,文件共享名称便无法更改。
FILE_SHARE_SIZE 是文件共享所需的新大小。您可以使用整数与
GiB
(默认)或TiB
指定文件共享大小。如需查看可用配额,请前往 Google Cloud 控制台中的“配额”页面:
DESCRIPTION 是可选 Filestore 实例说明。
FILE_NAME 是基于 IP 的访问权限控制的 JSON 配置文件的名称。
JSON 配置文件示例:
{ "--file-share": { "capacity": "4096", "name": "my_vol", "nfs-export-options": [ { "access-mode": "READ_WRITE", "ip-ranges": [ "10.0.0.0", "10.2.0.0" ], "squash-mode": "ROOT_SQUASH", "anon_uid": 1003, "anon_gid": 1003 }, { "access-mode": "READ_ONLY", "ip-ranges": [ "10.0.1.0/28" ], "squash-mode": "NO_ROOT_SQUASH" } ], } }
其中:
- ip-ranges 是授予访问权限的 IP 地址或范围。您可以指定多个 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
。
- ip-ranges 是授予访问权限的 IP 地址或范围。您可以指定多个 IP 地址或范围,并以英文逗号分隔。只有以下服务层级支持重叠 IP 地址范围的配置设置:
示例
以下示例通过将文件共享大小增加到 3 TiB
来更新 nfs-server
实例。
gcloud filestore instances update nfs-server --zone=us-central1-c --file-share=name="vol1",capacity=3TiB
```
REST API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。使用
cURL
调用 Filestore API:curl --request PATCH \ 'https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances?instanceId=NAME?updateMask=performanceConfig%2CdeletionProtectionReason%2CdeletionProtectionEnabled&key=YOUR_API_KEY' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "tier":"TIER", "networks":[ { "network":"NETWORK" } ], "performanceConfig": {"PERFORMANCE"} "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
。PERFORMANCE
是用于指定自定义性能设置的性能配置。您只能使用提供的选项之一。
iopsPerTB
支持自定义性能,可使用用户定义的 IOPS 速率,该速率会随实例容量而扩缩。如需定义每 TiB 的 IOPS,请使用maxIopsPerTb
字段。fixedIops
支持自定义性能,其 IOPS 速率固定,不会随实例容量而扩缩。如需定义固定 IOPS 值,请使用maxIops
字段。其格式如下所示:
"performanceConfig": { "iopsPerTb" : { "maxIopsPerTb":17000 } }
CAPACITY
是您要为实例分配的大小(以 GB 为单位)。例如1024
。SHARE_NAME
是文件共享的名称。例如vol1
。PROTECTION_REASON
如果您选择使用deletionProtectionEnabled
标志,则可以选择添加与该设置相关的备注。如需添加备注,请使用可选的deletionProtectionReason
标志,并添加对您选择的设置的理由说明。例如,“所有基因组数据都必须遵守当前的组织政策”。如需了解详情,请参阅删除保护。
示例
以下示例通过将每 TiB IOPS 比率降低到
12000
来更新nfs-server
实例。curl --request PATCH \ 'https://file.googleapis.com/v1/projects/my-project/locations/us-central1/instances?instanceId=nfs-server?updateMask=performanceConfig%2CdeletionProtectionReason&key=12334fr232' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "performanceConfig": { "iopsPerTb": { "maxIopsPerTb":12000 } }, "deletionProtectionReason":"Deletion+not+allowed"}' \ --compressed