建立快照一致性群組

建立快照一致性群組,以擷取連接至虛擬伺服器執行個體的多個卷的特定時間點副本。 請根據需要將開機磁碟卷納入或排除在外。

您可以在控制台、命令列介面 (CLI)、API 以及 Terraform 中建立一致性群組。

當您請求一致性群組的快照時,系統會確保所有寫入操作都已完成後,才會進行快照。 接著,系統會同時為所有已標記且連接至該虛擬伺服器執行個體的 Block Storage 卷冊建立快照。 視所連接的卷數量與大小,以及待擷取的資料量而定,您可能會觀察到輕微的 I/O 暫停。 此 I/O 暫停時間可能從幾毫秒到 4 秒不等。

開始之前,請先準備以下資訊:

  • 一致性群組的唯一名稱。 名稱不得超過 64 個字元。 如果您未提供名稱,系統將自動為您產生一個名稱。 (一致性群組中的快照名稱是由群組名稱的前 16 個字元加上 3 至 4 個自動生成的字元所組成,因此這些名稱也具有唯一性。)
  • 來源卷的 ID。
  • 資源群組 ID,此為選填項目。 不過,快照建立後便無法變更資源群組。
  • 您想為快照附加的任何標籤。

系統不支援建立包含不同世代快照的一致性群組。 請將 [遷徙](/docs/vpc?topic=vpc-block-storage-vpc-volume-migration) 視為您針對 sdp 設定檔所建立的第一代卷宗。 sdp 規格相較於第一代規格,提供了更高的性價比與更大的靈活性。 如需更多資訊,請參閱 Block Storage for VPC 中的個人檔案

請將 遷徙 視為您對已列入白名單的 sdp 設定檔的第一代卷。 sdp 規格相較於第一代規格,提供了更高的性價比與更大的靈活性。 如需更多資訊,請參閱 Block Storage for VPC 中的個人檔案

在主控台中建立一致性群組快照

在主控台中,您可以為已附加至正在運行的虛擬伺服器實例的 Block Storage for VPC 卷建立一致性群組快照。

  1. 點擊「導覽選單」圖示 選單圖示 > 基礎設施 VPC 圖示 > 儲存 > Block Storage 快照
  2. 從最初為空的一致性群組清單中,按一下「建立」。
  3. 請輸入所需資訊以定義您的快照群組,並選取包含您欲納入快照一致性群組之儲存卷的虛擬伺服器執行個體。
建立快照的選項
欄位
位置 請指定此快照集的地理位置與區域。
Snapshot 類型 請選取多個卷。
虛擬伺服器實例 從清單中選取伺服器執行個體。
一致性群組名稱 請為一致性群組指定一個唯一的名稱。 名稱不得超過 64 個字元。 若您未填寫此欄位,系統將自動為您生成一個名稱。 一致性群組中的快照名稱,是由群組名稱的前 16 個字元,加上 3 至 4 個自動生成的字元所組成。
資源群組 為快照選取一個 資源群組,或使用預設值。 快照建立後,您將無法變更資源群組。
標籤 請指定任何您希望用來識別此資源的用戶標籤。
存取管理標籤 請為此資源指定任何 存取管理標籤
磁區 請從清單中選取您要納入該群組的卷。
  1. 按一下建立。 您將返回最初開啟的畫面。 在建立快照和一致性群組的過程中,以及當它們準備就緒時,系統會顯示相關訊息。 快照和一致性群組會顯示在 Block Storage 的「VPC 快照」頁面中,分別位於各自的分頁上。 如需更多資訊,請參閱「在主控台中檢視快照詳細資訊」。

透過命令列介面 (CLI) 建立一致性群組快照

在使用 CLI 之前,您必須先安裝「IBM Cloud」CLI 以及 VPC CLI 外掛程式。 如需更多資訊,請參閱 CLI 的先決條件

  1. 登入 IBM Cloud®。

    ibmcloud login --sso -a cloud.ibm.com
    

    此指令會傳回 URL 並提示輸入密碼。 在瀏覽器中移至該 URL 並登入。 如果成功,您將獲得一次性密碼。 複製此密碼並將其作為回應貼上到提示上。 成功驗證身分後,系統會提示您選擇您的帳戶。 如果您擁有多個帳戶,請選擇您要登入的帳戶。 回應任何剩餘提示以完成登入。

  2. 請列出您要納入快照一致性群組中,並已掛載至該執行個體的儲存卷。 請注意輸出中的卷標識碼。

    ibmcloud is instance INSTANCE
    
  3. 請使用 snapshot-consistency-group-create 指令來建立一致性群組。 請為每個將納入一致性群組的快照,提供新快照的名稱以及來源卷的 ID。

    如果來源磁碟區採用 user_managed 加密,您必須提供 --encryption_key。 否則,不得指定 --encryption_key 屬性。

    ibmcloud is snapshot-consistency-group-create --snapshots '[{
         "name": "snapshot-no-1",
         "source_volume": {"id": "r106-bf595773-9922-4dd4-9a3c-998b10022e0c"},
         "user_tags": ["env:dev", "env:test"]
    }, {
         "name": "snapshot-no-2",
         "source_volume": {"id": "r106-aeb2bbe6-1d3c-4186-82ce-abddb03e243e"},
         "user_tags": ["env:dev", "env:test"]
    }]' --delete-snapshot-on-delete false --name multiple-snapshots-consistency-group-1
    Creating snapshot consistency group under account Test Account as user test.user@ibm.com...
    ID                          r006-4625d29b-3ac9-4bee-aca8-9366c4fd0c44
    Name                        multiple-snapshots-consistency-group-1
    CRN                         crn:v1:bluemix:public:is:us-south:a/a1234567::snapshot-consistency-group:r006-4625d29b-3ac9-4bee-aca8-9366c4fd0c44
    Href                        https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-4625d29b-3ac9-4bee-aca8-9366c4fd0c44
    Status                      pending
    Backup policy job           -
    Backup policy plan          -
    Delete snapshot on delete   false
    Source Snapshot             -
    Resource group              ID                                 Name
                                11caaa983d9c4beb82690daab08717e9   Default
    Created                     2023-12-05T17:32:53+05:30
    Service Tags                -
    

如需瞭解可用指令選項的更多資訊,請參閱 ibmcloud is snapshot-consistency-group-create

使用 API 建立一致性群組快照

開始之前,請將您要擷取至快照一致性群組的虛擬伺服器執行個體的 擷取實例詳細資訊 設定妥當。 請記下「volume_attachments」與「boot_volume_attachment」的 CRN 或 ID。

您可以透過程式方式呼叫 VPC API 中的 /snapshot_consistency_groups 方法來建立一致性群組,如下列範例請求所示。

curl -X POST \
"$vpc_api_endpoint/v1/snapshot_consistency_groups?version=2023-12-05&generation=2"\
 -H "Authorization: Bearer $iam_token" \
 -d '{
   "delete_snapshots_on_delete":true,
   "name": "my-snapshot-consistency-group",
   "resource_group":{"id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054"},
   "snapshots": {
    {
     "name": "my-snapshot-1",
     "source_volume": {"crn": "crn:[...]"},
     "encryption_key"; "crn:[...]"
    },
    {
     "name": "my-snapshot-2",
     "source_volume": {"crn": "crn:[...]"},
     "encryption_key"; "crn:[...]"
    },
   }"

如果來源磁碟區採用 user_managed 加密,您必須提供 encryption_key。 否則,不得指定 encryption_key 屬性。

成功的回應如下例所示。

{
  "created_at": "2023-12-05T20:18:18Z",
  "crn": "crn:[...]",
  "delete_snapshots_on_delete": true,
  "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
  "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
  "lifecycle_state": "pending",
  "name": "my-snapshot-consistency-group",
  "resource_group": {
    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/678523bcbe2b4eada913d32640909956",
    "id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
    "name": "Default"
  },
  "resource_type": "snapshot_consistency_group",
  "service_tags": [],
  "snapshots": [
    {
      "crn": "crn:[...]",
      "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
      "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
      "name": "my-snapshot-1",
      "resource_type": "snapshot"
    },
    {
      "crn": "crn:[...]",
      "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-07e34f34-49c2-4763-94fd-c70de73ae342",
      "id": "r006-07e34f34-49c2-4763-94fd-c70de73ae342",
      "name": "my-snapshot-2",
      "resource_type": "snapshot"
    }
  ]
}

使用 Terraform 建立一致性群組快照

若要使用 Terraform,請下載 Terraform CLI 並設定 IBM Cloud® 提供者外掛程式。 如需更多資訊,請參閱 《Terraform 入門指南》

VPC 基礎架構服務使用特定的區域端點,該端點預設指向 us-south。 如果您的 VPC 是建立在另一個區域中,請務必在 provider.tf 檔案的「provider」區塊中指定正確的區域。

請參閱以下範例,了解如何將目標地區設定為預設值 us-south 以外的地區。

provider "ibm" {
   region = "eu-de"
}
  1. 將虛擬伺服器執行個體的詳細資料匯入為唯讀資料來源。 建立資料來源後,您可以存取 boot_volumevolume_attachments 的屬性參考。
data "ibm_is_instance" "example" {
  name        = ibm_is_instance.example.name
  private_key = file("~/.ssh/id_rsa")
  passphrase  = ""
}
  1. 若要建立快照的一致性群組,請使用「ibm_is_snapshot_consistency_group」資源。 以下範例建立了一個由兩個卷組成的一致性群組。
resource "ibm_is_snapshot_consistency_group" "is_snapshot_consistency_group" {
  name = "my-data-consistency-group"
  snapshots {
    [
      name = "snapshot-1"
      source_volume = {id = "r016-0a74c6af-f9f5-4671-9025-c4efd41ac6da"}
      user_tags = ["my-tag"]
    ].
    [
      name = "snapshot-2"
      source_volume = {id = "r016-0a74c6af-f9f5-4671-9025-c4efd41ac6db"}
      user_tags = ["my-tag"]
    ]
  }
}

有關參數和屬性的更多資訊,請參閱 ibm_is_snapshot_consistency_group