編輯執行個體

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

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

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

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

某些規格 (例如執行個體的 IP 位址) 屬於不可變更的項目。

編輯執行個體的操作說明

Google Cloud 控制台

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

  1. 前往 Google Cloud 控制台的 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 指令

如要編輯 Filestore 執行個體,請執行 instances update 指令。如要更新 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 是 Google Cloud 專案的專案 ID,可包含 Filestore 執行個體。如果 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_SQUASHROOT_SQUASH 會移除 IP 位址位於 ip-range 內的用戶端根層級存取權,而 NO_ROOT_SQUASH 則會啟用根存取權。預設值為 NO_ROOT_SQUASH
    • anon_uid 是您要對應至 anon_uid 的使用者 ID 值。預設值為 65534
    • anon_gid 是要對應至 anon_gid 的群組 ID 值。預設值為 65534
範例

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

    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
    
    

後續步驟