管理執行個體複製作業

本指南說明如何設定執行個體複製功能,將來源執行個體與待命副本配對。您可以在下列情況使用執行個體複製功能:

  • 保護執行個體,避免發生中斷:持續更新跨區域容錯移轉執行個體,以進行災難復原。
  • 遷移資料:升級待命副本,將執行個體永久遷移至新位置,並將停機時間降到最低。
  • 執行作業測試:暫停複寫作業,暫時掛接副本,並執行獨立的災難復原演練或測試工作負載,不會影響主要執行個體。

事前準備

建立 Filestore 執行個體,做為副本的來源執行個體。

啟用 API

啟用 Filestore API。

啟用 API 時所需的角色

如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

啟用 API

必要的角色

如要取得設定執行個體複寫及監控副本所需的權限,請要求管理員授予您專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

如要建立跨專案副本,您必須在來源和副本專案中,都具備 Cloud Filestore 編輯者 (roles/file.editor) 角色。這個角色包含 file.instances.create 權限,這是建立跨專案副本時,來源專案必須具備的權限。

建立執行個體副本

您無法使用 Google Cloud 控制台建立跨專案副本。請改用 gcloud CLI 或 REST API。

Google Cloud 控制台

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

    前往「Instances」(執行個體)

  2. 按一下要複製的執行個體「執行個體 ID」

  3. 在執行個體詳細資料頁面中,按一下「複寫」分頁標籤。

  4. 按一下「建立備用資源」

  5. 驗證來源執行個體詳細資料,查看支援的復原點目標,然後按一下「下一步」

  6. 建立執行個體。詳情請參閱「建立執行個體」。請考量下列事項:

    • 指定的容量必須大於或等於來源執行個體容量。
    • 來源執行個體和副本的服務層級Filestore 通訊協定必須相同。
    • 如要打造強大的災難復原解決方案,建議您為副本選擇其他區域,而非只是其他可用區。
  7. 點選「下一步」

  8. 查看詳細資料,然後按一下「下一步」

  9. 點選「建立」

  10. 等待作業完成,程序完成後,副本會列在「Replications」(複寫) 頁面的來源執行個體下方。按一下副本的「Instance ID」(執行個體 ID),即可查看詳細資料。

gcloud

  1. 如要建立副本執行個體,請執行 filestore instances create 指令。

    gcloud filestore instances create INSTANCE_ID \
      --source-instance=projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/instances/SOURCE_INSTANCE_ID \
      --project=REPLICA_PROJECT_ID \
      --location=LOCATION \
      --network=name="NETWORK" \
      --tier=TIER \
      --file-share=name="FILE_SHARE_NAME",capacity=FILE_SHARE_SIZE \
    

更改下列內容:

  • INSTANCE_ID 替換為要建立的副本執行個體名稱。例如:sample-replica
  • SOURCE_PROJECT_ID 是來源執行個體所在 Google Cloud 專案的專案 ID。
  • SOURCE_LOCATION 替換為來源執行個體所在的區域。
  • SOURCE_INSTANCE_ID 替換為要建立副本的來源執行個體名稱。例如:sample-instance
  • REPLICA_PROJECT_ID 替換為您要讓副本執行個體所在的 Google Cloud 專案的專案 ID。
  • LOCATION 替換為要放置副本執行個體的位置,例如 us-central1-a。如果來源位於區域服務層級,您必須為副本指定地區和可用區。
  • NETWORK 替換為要使用的網路名稱,例如 default
  • TIER,例如 ZONAL層級和容量範圍必須與來源執行個體相符。
  • FILE_SHARE_NAME,並指定執行個體提供的 NFS 檔案共用區名稱,例如 vol1
  • FILE_SHARE_SIZE 替換為所需的檔案共用大小,例如 1.25TiB

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要建立執行個體副本,請使用下列要求:

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{"tier": "TIER",
          "networks": { "network": "NETWORK" },
          "file_shares": {"name": "SHARE_NAME","capacity_gb": "CAPACITY"},
          "replication": {"replicas":[{"peer_instance": "projects/SOURCE_PROJECT_ID/locations/ACTIVE_LOCATION/instances/ACTIVE_NAME"}], "role":"standby"},
          "description": "DESCRIPTION" }' \
      "https://file.googleapis.com/v1/projects/REPLICA_PROJECT_ID/locations/REPLICA_LOCATION/instances?instanceId=REPLICA_INSTANCE_NAME"
    

    更改下列內容:

    • TIER 是要用於副本的服務層級名稱。例如:REGIONAL
    • NETWORK 是您要用於副本的網路名稱。例如,default。您必須使用與來源相同的網路。
    • SHARE_NAME 是檔案共用區的名稱。例如:vol1
    • CAPACITY 是要為副本分配的大小,單位為 GiB。例如,1024。容量必須大於或等於來源執行個體。
    • REPLICA_PROJECT_ID 是要存放副本的專案名稱。例如:sample-project
    • SOURCE_PROJECT_ID 是來源執行個體所在的專案名稱。
    • ACTIVE_LOCATION 是來源所在位置。例如:us-east1
    • ACTIVE_NAME 是要複製的執行個體名稱。例如:sample-instance
    • DESCRIPTION 是要建立的副本執行個體說明。例如:A sample replica
    • REPLICA_LOCATION 是您要存放副本的位置。例如:us-central1
    • REPLICA_INSTANCE_NAME 是要建立的副本執行個體名稱。例如:sample-replica

查看副本狀態

Google Cloud 控制台

  1. 前往 Google Cloud 控制台的 Filestore「Replications」(複寫) 頁面。

前往「Replications」(複寫)

  1. 按一下副本的「Instance ID」(執行個體 ID),即可查看詳細資料。

gcloud

  1. 如要查看特定執行個體的相關資訊,請執行 instances describe 指令:

    gcloud filestore instances describe <var>INSTANCE_ID</var> \
       --project=<var>PROJECT_ID</var> \
      --location=<var>LOCATION</var> \
    

更改下列內容:

  • INSTANCE_ID 替換為要查看的 Filestore 執行個體 ID,例如 genomics-instance
  • PROJECT_ID,並將其替換為包含 Filestore 執行個體的 Google Cloud 專案 ID。
  • LOCATION,例如 us-east1-b

    instances describe 指令的回應類似下列任一範例。

    這個回應範例顯示已啟用執行個體複製功能的來源執行個體。請注意,指定的角色是 ACTIVE

    createTime: '2024-06-17T22:17:26.475900265Z'
    fileShares:
    - capacityGb: '1024'
      name: vol1
    name: projects/genomics-project/locations/us-east1-b/instances/genomics-instance-source
    networks:
    - connectMode: DIRECT_PEERING
      ipAddresses:
      - 172.27.220.2
      modes:
      - MODE_IPV4
      network: default
      reservedIpRange: 172.27.220.0/26
    replication:
      replicas:
      - peerInstance: projects/genomics-project/locations/us-central1-a/instances/genomics-instance-replica
        state: READY
      role: ACTIVE
    state: READY
    tier: ZONAL
    

    這個回應範例顯示已升級為一般執行個體的副本執行個體。請注意,由於複製作業尚未啟動,因此未指定:

    createTime: '2024-06-20T17:11:56.048062134Z'
    fileShares:
    - capacityGb: '1024'
      name: vol1
    name: projects/genomics-project/locations/us-west2-a/instances/genomics-instance-replica
    networks:
    - connectMode: DIRECT_PEERING
      ipAddresses:
      - 10.155.90.194
      network: default
      reservedIpRange: 10.155.90.192/26
    satisfiesPzi: true
    state: READY
    tier: ZONAL
    

    這個回應範例顯示與使用中執行個體配對的副本。複製角色為 STANDBY

    createTime: '2024-06-21T04:15:21.721579074Z'
    fileShares:
    - capacityGb: '1280'
      name: vol1
    name: projects/genomics-project/locations/us-west1-a/instances/genomics-replica
    networks:
    - connectMode: DIRECT_PEERING
      ipAddresses:
      - 10.153.44.194
      network: default
      reservedIpRange: 10.153.44.192/26
    replication:
      replicas:
      - peerInstance: projects/genomics-project/locations/us-west2-a/instances/genomics-instance
        state: READY
      role: STANDBY
    satisfiesPzi: true
    state: READY
    tier: ZONAL
    

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要查看副本狀態,請使用下列要求:

        curl -s \
        --header "Authorization: Bearer $(gcloud auth print-access-token)" \
        --header "Content-Type: application/json" \
        --request GET \
        "https://file.googleapis.com/v1/projects/<var>PROJECT</var>/locations/<var>LOCATION</var>/instances/<var>INSTANCE_NAME</var>"
    

    更改下列內容:

    • PROJECT 是執行個體所在的專案名稱。例如:sample-project
    • LOCATION 是執行個體所在位置。例如:us-west1-a
    • INSTANCE_NAME 是您要查看的執行個體名稱。例如:sample-instance

列出專案中的所有副本

Google Cloud 控制台

  1. 前往 Google Cloud 控制台的 Filestore「Replications」(複寫) 頁面。

    前往「Replications」(複寫)

這個表格會列出來源執行個體及其副本。按一下副本的「Instance ID」(執行個體 ID),即可查看詳細資料。

gcloud

  1. 如要查看專案中的所有執行個體清單,請執行 instances list 指令:

    gcloud filestore instances list
      --project=PROJECT_ID \
    

    PROJECT_ID 替換為要查看的專案 ID。

    回應會傳回執行個體和副本清單,類似於下列內容:

    INSTANCE_NAME                       LOCATION     TIER      CAPACITY_GB  FILE_SHARE_NAME  IP_ADDRESS     STATE  CREATE_TIME
    genomics-source-1                   us-east1-b   ZONAL     1024         vol1             172.27.220.2   READY  2024-06-17T22:17:26
    genomics-source-1-replica           us-west1-a   ZONAL     1024         vol1             10.142.57.194  READY  2024-06-17T23:47:19
    

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要列出特定專案中的副本,請使用下列要求:

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request GET \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances"

    更改下列內容:

    • PROJECT 是執行個體所在的專案名稱。例如:sample-project
    • LOCATION 是要搜尋的位置。如要搜尋專案中任何位置的所有執行個體,請使用 list 端點。

暫停複製

Google Cloud 控制台

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

    前往「Instances」(執行個體)

  2. 按一下要暫停的副本「Instance ID」(執行個體 ID)

  3. 在「說明」部分,按一下「複寫」分頁標籤。

  4. 在「Active instance details」(使用中執行個體詳細資料) 部分,按一下「Pause replication」(暫停複製)

  5. 請先詳閱警示訊息,然後按一下「暫停複製」確認。

複製狀態會變更為「暫停」。作業完成後,「複製狀態」會變更為「已暫停」

gcloud

如要暫停副本,請執行 gcloud filestore instances pause-replica 指令。

  gcloud filestore instances pause-replica INSTANCE_ID \
      --project=PROJECT_ID \
      --location=LOCATION \

更改下列內容:

  • INSTANCE_ID 替換成要暫停的 Filestore 執行個體 ID,例如 my-replica
  • PROJECT_ID 替換為 Google Cloud 包含 Filestore 執行個體的專案專案 ID。
  • LOCATION 是備用資源所在的位置,例如 us-central1

成功完成後,系統會傳回下列或類似的回應:

createTime: '2025-12-22T14:03:33.727531128Z'
customPerformanceSupported: true
description: Replica of active, us-east1-b
fileShares:
- capacityGb: '1024'
  name: share
name: projects/genomics-project/locations/us-west2-a/instances/my-replica
networks:
- connectMode: DIRECT_PEERING
  ipAddresses:
  - 10.229.150.130
  modes:
  - MODE_IPV4
  network: default
  reservedIpRange: 10.229.150.128/26
performanceLimits:
  maxIops: '12000'
  maxReadIops: '12000'
  maxReadThroughputBps: '125829120'
  maxWriteIops: '4000'
  maxWriteThroughputBps: '104857600'
protocol: NFS_V3
replication:
  replicas:
  - peerInstance: projects/genomics-project/locations/us-east1-b/instances/my-source
    state: PAUSED
    stateUpdateTime: '2025-12-22T14:24:27.558413891Z'
  role: STANDBY
state: READY
tier: REGIONAL

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要暫停副本,請使用下列要求:

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{}' \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/REPLICA_NAME:pauseReplica"

    更改下列內容:

    • PROJECT 是副本所在的專案名稱,例如 sample-project
    • LOCATION 是副本所在位置。例如:us-west1-a
    • REPLICA_NAME 是要暫停的執行個體名稱。例如:sample-replica

繼續複製

Google Cloud 控制台

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

    前往「Instances」(執行個體)

  2. 找出要使用的副本,然後按一下其執行個體 ID。

  3. 在「說明」部分,按一下「複寫」分頁標籤。

  4. 在「有效執行個體詳細資料」部分,按一下「繼續複製」

  5. 請先閱讀警示訊息,然後在提供的欄位中輸入 resume,確認繼續操作。

複製狀態會變更為「繼續」。作業完成後,「複寫狀態」會變更為「就緒」

gcloud

您可以執行 gcloud filestore instances resume-replica 指令,繼續執行副本執行個體。

  gcloud filestore instances resume-replica INSTANCE_ID \
      --project=PROJECT_ID \
      --location=LOCATION \

更改下列內容:

  • INSTANCE_ID 替換成要重新啟用的 Filestore 副本執行個體 ID,例如 my-replica
  • PROJECT_ID 替換為包含 Filestore 副本執行個體的 Google Cloud 專案 ID。
  • LOCATION 是備用資源所在的位置,例如 us-central1

成功完成後,系統會傳回下列或類似的回應:

  createTime: '2025-12-22T14:03:33.727531128Z'
  customPerformanceSupported: true
  description: Replica of active, us-central1
  fileShares:
  - capacityGb: '1024'
    name: share
  name: projects/genomics-project/locations/us-central1/instances/my-replica
  networks:
  - connectMode: DIRECT_PEERING
    ipAddresses:
    - 10.229.150.130
    modes:
    - MODE_IPV4
    network: default
    reservedIpRange: 10.229.150.128/26
  performanceLimits:
    maxIops: '12000'
    maxReadIops: '12000'
    maxReadThroughputBps: '125829120'
    maxWriteIops: '4000'
    maxWriteThroughputBps: '104857600'
  protocol: NFS_V3
  replication:
    replicas:
    - peerInstance: projects/genomics-project/locations/us-central1/instances/my-source
      state: READY
      stateUpdateTime: '2025-12-22T14:24:27.558413891Z'
    role: STANDBY
  state: READY
  tier: REGIONAL

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要繼續複製,請使用下列要求:
curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{}' \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/REPLICA_NAME:resumeReplica"

更改下列內容:

  • PROJECT 是副本所在的專案名稱。例如:sample-project
  • LOCATION 是副本所在的地區。例如:us-west1-a
  • REPLICA_NAME 是要繼續執行的執行個體名稱。例如:sample-replica

中斷複製作業並升級備用資源

中斷作用中執行個體和待命執行個體之間的複製作業,會將備用執行個體升級為一般執行個體。這項操作無法復原。

Google Cloud 控制台

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

    前往「Instances」(執行個體)

  2. 找出要使用的副本,然後按一下其執行個體 ID。

  3. 按一下「中斷複製」

  4. 輸入副本的「執行個體 ID」,然後按一下「中斷複製」

  5. 等待作業完成。

gcloud

如要升級副本執行個體,請執行 gcloud filestore instances promote-replica 指令。

  gcloud filestore instances promote-replica INSTANCE_ID 
--project=PROJECT_ID
--location=LOCATION

更改下列內容:

  • INSTANCE_ID 替換成要升級的 Filestore 執行個體 ID,例如 my-replica
  • PROJECT_ID 替換為 Google Cloud 包含 Filestore 執行個體的專案專案 ID。
  • LOCATION 是備用資源所在的位置,例如 us-central1

成功完成後,系統會傳回下列或類似的回應:

capacityGb: '1024'
capacityStepSizeGb: '256'
createTime: '2024-06-20T17:11:56.048062134Z'
fileShares:
- capacityGb: '1024'
  name: vol1
maxCapacityGb: '9984'
maxShareCount: '1'
name: projects/genomics-project/locations/us-west2-a/instances/my-replica
networks:
- connectMode: DIRECT_PEERING
  ipAddresses:
  - 10.155.90.194
  network: default
  reservedIpRange: 10.155.90.192/26
protocol: NFS_V3
replication:
  replicas:
  - lastActiveSyncTime: '2024-06-21T00:13:23Z'
    peerInstance: projects/genomics-project/locations/us-east1-b/instances/my-source
  role: STANDBY
satisfiesPzi: true
state: PROMOTING
tier: ZONAL

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要升級副本,請使用下列要求:

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request POST \
      -d '{}' \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/REPLICA_NAME:promoteReplica"

    更改下列內容:

    • PROJECT 是副本所在的專案名稱。例如:sample-project
    • LOCATION 是副本所在位置。例如:us-west1-a
    • REPLICA_NAME 是您要升級的執行個體名稱。例如:sample-replica

刪除副本執行個體

Google Cloud 控制台

  1. 前往 Google Cloud 控制台的 Filestore 執行個體頁面。

    前往「Instances」(執行個體)

    備用資源會列在相關聯的來源執行個體下方。如果沒有看到副本,請參閱這項工作的 gcloud 指令。

  2. 找出您要刪除的執行個體,按一下該執行個體的「Instance ID」(執行個體 ID)。

  3. 點選「刪除」

gcloud

  1. 如要查看所有執行個體 (包括副本) 的清單,請執行 instances list 指令:

    gcloud filestore instances list
      --project=PROJECT_ID \
    

    PROJECT_ID 替換為要查看的專案 ID。

  2. 複製要刪除執行個體的詳細資料。

  3. 如要刪除副本執行個體,請執行 filestore instances delete 指令。

    gcloud filestore instances delete INSTANCE_ID \
      --location=LOCATION \
    

更改下列內容:

  • INSTANCE_ID 替換為要刪除的 Filestore 執行個體 ID,例如 my-replica
  • LOCATION 是備用資源所在的位置,例如 us-central1-a

REST API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 如要刪除副本執行個體,請使用下列要求:

    curl -s \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Content-Type: application/json" \
      --request DELETE \
      "https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances/INSTANCE_NAME"

    更改下列內容:

    • PROJECT 是執行個體所在的專案名稱。例如:sample-project
    • LOCATION 是執行個體所在位置。例如:us-west1-a
    • INSTANCE_NAME 是要刪除的執行個體名稱。例如:sample-instance

監控執行個體複製作業

Google Cloud 控制台

如要在 Cloud Monitoring 資訊主頁中查看 Filestore 執行個體複寫指標,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「指標探索器」頁面:

    前往 Metrics Explorer

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 按一下「選取指標」可展開的部分。

  3. 在「Filter by resource or metric name」(依資源或指標名稱篩選) 欄位中,輸入 filestore,然後選取「Filestore Instance」(Filestore 執行個體) 可展開部分。

  4. 選取「執行個體」可展開的部分,然後按一下「RPO」

  5. 系統會顯示 RPO 指標 times_since_last_replication。完成複製資料的初始同步作業後,幾分鐘內就會顯示這項指標。

後續步驟