編輯執行個體

本頁面說明如何使用Google Cloud 主控台或 gcloud CLI 編輯 Filestore 執行個體。

建立 Filestore 執行個體後,您可以透過下列方式進行修改:

  • 提高容量
  • 降低下列服務層級的容量:
    • 可用區
    • 區域
    • Enterprise
  • 設定效能
  • 變更說明
  • 管理依據 IP 設定的存取權控管規則
  • 管理標籤

如要進一步瞭解如何調整容量,請參閱「調整容量」。

某些規格 (例如執行個體的 IP 位址) 無法變更。

編輯執行個體的操作說明

Google Cloud 控制台

如要使用 Google Cloud 主控台編輯 Filestore 執行個體,請前往「編輯執行個體」頁面,您可以在該頁面中編輯執行個體說明、管理以 IP 為基礎的存取控管規則,以及調整檔案共用效能:

  1. 前往 Google Cloud 控制台的「Filestore Instances」(Filestore 執行個體) 頁面。

    前往 Filestore 執行個體頁面

  2. 按一下您要編輯之執行個體的執行個體 ID。

  3. 在「Instance details」頁面上,按一下「Edit」,前往「Edit instance」頁面。

  4. 視需要變更執行個體說明、依 IP 設定的存取權控管規則和容量。詳情請參閱「建立執行個體」。

  5. 按一下 [儲存]

gcloud

事前準備

如要使用 gcloud CLI,您必須安裝 gcloud CLI,或使用 Google Cloud 控制台內建的 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 位址範圍的設定:
      • 可用區
      • 區域
      • Enterprise
    • access-mode 是指要授予 IP 位址落在 ip-range 範圍內的用戶端的存取層級。其值可以是 READ_WRITEREAD_ONLY。預設值為 READ_WRITE
    • squash-mode 可以有 ROOT_SQUASHNO_ROOT_SQUASH 值。ROOT_SQUASH 會移除 IP 位址落在 ip-range 範圍內的用戶端的 root 層級存取權,而 NO_ROOT_SQUASH 則會啟用 root 存取權。預設值為 NO_ROOT_SQUASH
    • anon_uid 是您要對應至 anon_uid 的使用者 ID 值。預設值為 65534
    • anon_gid 是您要對應至 anon_gid 的群組 ID 值。預設值為 65534
範例

以下範例會將檔案共用空間大小增加至 3 TiB,以更新 nfs-server 執行個體。

    gcloud filestore instances update nfs-server --zone=us-central1-c --file-share=name="vol1",capacity=3TiB
  ```

REST API

  1. 安裝並初始化 gcloud CLI,這樣您就能為 Authorization 標頭產生存取權杖。

  2. 使用 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-east1us-central1-a
    • NAME 是您要建立的執行個體名稱。例如:my-genomics-instance
    • PERFORMANCE 是用於指定自訂效能設定的效能設定

      您只能使用其中一個選項。

      • iopsPerTB 可透過使用者定義的 IOPS 速率啟用自訂效能,並隨著執行個體容量調整。如要定義每 TiB 的 IOPS,請使用 maxIopsPerTb 欄位。
      • fixedIops 可啟用自訂效能,並設定固定的 IOPS 速率,不會隨著執行個體容量而調整。如要定義固定 IOPS 值,請使用 maxIops 欄位。

        格式如下:

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY 是您要為執行個體分配的大小 (以 GiB 為單位)。例如:1024

    • SHARE_NAME 是檔案共用區的名稱。例如:vol1

    • PROTECTION_REASON 如果您選擇使用 deletionProtectionEnabled 旗標,可以選擇新增有關設定的附註。如要新增附註,請使用選用的 deletionProtectionReason 旗標,並附上您選擇該設定的理由說明。例如:「所有基因體資料都必須遵守目前的機構政策。」詳情請參閱「刪除保護」。

    範例

    以下範例會更新 nfs-server 執行個體,將每 TiB 的 IOPS 比率降低至 12000

    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
    
    

後續步驟