連接 Block Storage for VPC 磁區

透過控制台、命令列介面 (CLI)、API 或 Terraform,將 IBM Cloud 區塊儲存資料卷掛載至虛擬伺服器實例,以增加儲存容量。

磁區連接限制

您一次只能將一個 Block Storage for VPC 開機磁區連接至虛擬伺服器實例,但最多可以將 12 個 Block Storage for VPC 資料磁區連接至單一實例。

當您為 IBM Cloud® Virtual Private Cloud 實例建立 Hyper Protect Virtual Servers 時,目前僅能新增一個資料卷。 即使您連接更多磁區,實例也不會使用它們。

您無法使用使用者介面將 Block Storage for VPC 磁區連接至 IBM Cloud® Kubernetes Service 叢集工作者節點。 如需使用 CLI 將磁區連接至叢集節點的相關資訊,請參閱 在 Block Storage for VPC

將 Block Storage for VPC 磁區連接至虛擬伺服器實例

您可以從 Block Storage 磁區清單、磁區詳細資料頁面,或從實例詳細資料頁面,將磁區連接至虛擬伺服器實例。

從磁區清單將磁區連接至實例

從所有《 Block Storage for VPC 》卷冊的清單中,請依照以下步驟操作。

  1. IBM Cloud控制台中,按一下導航選單圖示選單圖示> 基礎架構VPC 圖示> 儲存 >Block Storage區
  2. 在磁區清單中,識別可用的未連接磁區,然後按一下列尾端的 動作 圖示 「動作」圖示
  3. 選取連接至實例
  4. 從可用實例清單中選取一個虛擬伺服器實例,然後按一下「儲存」。 如果清單未顯示任何虛擬伺服器實例,請按一下 建立伺服器,以移至 實例佈建 頁面。
  5. 這將在磁區詳細資料頁面上顯示訊息,指示磁區正在連接到映像檔。 完成時,映像檔名稱會出現在連接的實例下。

當您建立一個 Hyper Protect Virtual Servers 實例,且合約中提及儲存體時,您必須在實例建立後的 15 分鐘內掛載資料儲存體。 否則會導致實例在 15 分鐘時間範圍之後進入關機狀態。

從磁區詳細資料頁面將磁區連接至實例

從磁區詳細資料頁面中,遵循下列步驟:

  1. Block Storage 磁區清單 中選取未連接的磁區。
  2. 從磁區詳細資料頁面的 虛擬伺服器實例 磚中,按一下 連接
  3. 在側邊畫面上,選取虛擬伺服器實例,然後按一下 儲存。 如果清單未顯示任何虛擬伺服器實例,請按一下 建立伺服器,以移至 實例佈建 頁面。 開機或資料磁區會顯示在實例佈建頁面的個別欄位中。
  4. 顯示磁區正在連接至映像檔的訊息。 完成時,映像檔名稱會出現在連接的實例下。

從實例詳細資料頁面將磁區連接至實例

從虛擬伺服器實例詳細資料頁面連接 Block Storage for VPC 磁區。

  1. IBM Cloud控制台中,點選導航選單圖示選單圖示> 基礎架構VPC 圖示> 計算 > 虛擬伺服器實例
  2. 從所有虛擬伺服器實例清單中選取實例。 如果已連接任何 Block Storage for VPC 磁區,則它們會列在 儲存磁區下。
  3. 選取連接磁區
  4. 從可用資源清單中選取一個磁區,然後按一下連接。 這將在實例詳細資料頁面上顯示訊息,指示正在連接磁區。 完成後,「儲存卷」清單將更新,並加入新的儲存卷。

透過命令列介面 (CLI) 將 Block Storage for VPC 儲存卷掛載至虛擬伺服器執行個體

遵循下列指示,以使用 CLI 將 Block Storage for VPC 磁區連接至虛擬伺服器實例。 每個實例都可有多個磁區連接,但單一磁區連接只會將一個磁區連接至一個實例。

開始之前

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

請登入 IBM Cloud。

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

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

從 CLI 連接 Block Storage for VPC 磁區

若要將磁區連接到現行資源群組中的虛擬伺服器實例,請執行以下指令。

ibmcloud is instance-volume-attachment-add NAME INSTANCE_ID VOLUME_ID [--auto-delete true | false] [--json]

NAME 是您為卷宗掛載所指定的名稱,而 INSTANCE_ID 則是虛擬伺服器執行個體的識別碼。 VOLUME_ID 指定要連接的磁區。 如果您想要在刪除虛擬伺服器實例時自動刪除磁區,請指定 --auto-delete true

若要查看可用的虛擬伺服器執行個體清單,請執行 ibmcloud is instances 指令。 請參閱下列範例。

ibmcloud is instances
Listing instances in all resource groups and region us-east under account Test Account as user test.user@ibm.com...
ID                                          Name                 Status    Reserved IP   Floating IP      Profile    Image                                VPC                              Zone        Resource group
0757_506a787d-0672-4209-854b-3e280ec50b44    my-rhel-instance    running   10.241.0.4    169.63.96.188    bx2-2x8    ibm-redhat-9-0-minimal-amd64-2       test-pbalak1                     us-east-1   defaults
0757_4fc00b09-c967-46bf-9203-d17a08078d1d    my-rhel-instance2   running   10.241.0.5    150.239.86.22    bx2-2x8    ibm-redhat-9-0-minimal-amd64-2       test-pbalak1                     us-east-1   defaults
0757_11f5db7f-35a1-4678-bcbd-c85204e09507    my-test-ro          stopped   10.241.0.5    -                bx2d-2x8   ibm-ubuntu-18-04-5-minimal-amd64-1   test-vpc-blu-wdc                 us-east-1   defaults
0767_7ac6da13-c16a-4f58-9981-612d6e33ec53    my-ubuntu-vsi       running   10.241.64.4   -                bx2-2x8    ibm-centos-7-9-minimal-amd64-3       test-vpc-blu-wdc                 us-east-2   defaults
0757_ff64452f-7e81-4a48-b938-7fc601597dcd    my-new-ubuntu-vsi   running   10.241.14.4   52.116.121.167   mx2-2x16   ibm-ubuntu-20-04-6-minimal-amd64-1   test-vpc-do-not-delete-default   us-east-1   Default
0757_337977c1-f1f0-42ad-9de4-16fe0cda2ba9    my-virtual-server   running   10.241.4.4    52.116.124.193   mx2-2x16   ibm-ubuntu-20-04-6-minimal-amd64-1   test-vpc-do-not-delete-default   us-east-1   Default

然後,選取與您要連接的磁區位於相同區域中的虛擬伺服器實例。

ibmcloud is instance-volume-attachment-add otp1 0757_11f5db7f-35a1-4678-bcbd-c85204e09507 demo-volume-update --auto-delete true
Creating volume attachment otp1 for instance my-test-ro under account Test Account as user test.user@ibm.com...
ID                0757-6757e676-0bf5-4b79-9a5b-29c24e17420c
Name              otp1
Volume            ID                                          Name
                  r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac   demo-volume-update
Status            attaching
Bandwidth(Mbps)   393
Type              data
Device            -
Auto delete       true
Created           2023-06-29T18:14:57+00:00

如需可用指令選項的相關資訊,請參閱 ibmcloud is instance-volume-attachment-add

顯示連接到虛擬伺服器實例的磁區的詳細資料

掛載卷後,您可以在 instance-volume-attachment 指令中指定執行個體 ID 或名稱,以及卷掛載 ID 或名稱,以顯示詳細資訊。

ibmcloud is instance-volume-attachment INSTANCE VOLUME_ATTACHMENT [--json]
ibmcloud is instance-volume-attachment my-test-ro otp1
Getting volume attachment otp1 of instance my-test-ro under account Test Account as user test.user@ibm.com...
ID                0757-6757e676-0bf5-4b79-9a5b-29c24e17420c
Name              otp1
Volume            ID                                          Name
                  r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac   demo-volume-update
Status            attached
Bandwidth(Mbps)   393
Type              data
Device            0757-6757e676-0bf5-4b79-9a5b-29c24e17420c-bxsh7
Auto delete       true
Created           2023-06-29T18:14:57+00:00

如需可用指令選項的相關資訊,請參閱 ibmcloud is instance-volume-attachment

列出伺服器實例的所有磁區連接

請使用 instance-volume-attachments 指令,並指定執行個體 ID 或名稱,以檢視該執行個體的所有儲存卷掛載資訊。

ibmcloud is instance-volume-attachments INSTANCE [--json]

請參閱下列範例。

ibmcloud is instance-volume-attachments my-test-ro
Listing volume attachments of instance my-test-ro under account Test Account as user test.user@ibm.com...
ID                                          Name                                 Volume                          Status     Type   Device                                            Auto delete
0757-6757e676-0bf5-4b79-9a5b-29c24e17420c   otp1                                 demo-volume-update              attached   data   0757-6757e676-0bf5-4b79-9a5b-29c24e17420c-bxsh7   true
0757-af470ade-9d5c-491e-97b2-f000ed4ee49b   scheming-tipper-shivering-decrease   my-test-ro-boot-1629867631000   attached   boot   0757-af470ade-9d5c-491e-97b2-f000ed4ee49b-fc4tl   true

如需可用指令選項的相關資訊,請參閱 ibmcloud is instance-volume-attachments

建立磁區連接 JSON

當您透過 CLI 配置虛擬伺服器實例,並在此過程中建立 Block Storage for VPC 儲存卷時,您可以指定儲存卷掛載的 JSON 設定檔。 在命令中指定或作為檔案提供的磁碟區附加設定 JSON 檔案,其中包含磁碟區參數。

在您用來 建立實例 的 CLI 指令中,您可以指定 --volume-attach 選項及磁區 JSON 檔案。 例如,--volume-attach @/Users/myname/myvolume-attachment_create.json

下列範例顯示磁區連接 JSON 檔案的內容,該檔案定義自訂磁區並指定使用者標籤。

[
    {
        "name": "myvolume-attachment",
        "delete_volume_on_instance_delete": true,
        "volume": {
            "name": "myvolume",
            "capacity": 100,
            "iops": 1000,
            "profile": {
                "name": "custom"
            },
            "user_tags": {
                "env:test"
            }
        }
    }
]

使用 API 將 Block Storage for VPC 儲存卷掛載至虛擬伺服器執行個體

使用 API 將 Block Storage for VPC 儲存卷掛載至虛擬伺服器執行個體

透過直接呼叫 REST API,將 Block Storage for VPC 儲存卷掛載至虛擬伺服器實例。

建立實例的磁區連接,以連接 Block Storage for VPC 磁區。 發出一個 POST /instances 請求,並指定 volume_attachments

POST/instances/{instance_id}/volume_attachments

下列範例會建立磁區連接,並依 ID 指定磁區。

curl -X POST "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments?version=2021-04-20&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
      "delete_volume_on_instance_delete": true,
      "name": "my-volume-attachment-data-5iops",
      "volume": {"id": "d8b26921-1409-4c2f-9b46-39b5b6e0b945"}
    }'

成功的回應指出已連接磁區。

{
  "created_at": "2021-04-21T16:35:47.000Z",
  "delete_volume_on_instance_delete": true,
  "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/8f06378c-ed0e-481e-b98c-9a6dfbee1ed5/volume_attachments/9f2a645e-19c1-4f8f-b062-46b9e0671999",
  "id": "9f2a645e-19c1-4f8f-b062-46b9e0671999",
  "name": "my-volume-attachment-data-5iops",
  "status": "attached",
  "type": "data",
  "volume": {
    "crn": "crn:[...]",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/d8b26921-1409-4c2f-9b46-39b5b6e0b945",
    "id": "d8b26921-1409-4c2f-9b46-39b5b6e0b945",
    "name": "my-volume-data-5iops"
  }
}

下一步

建立更多磁區及管理現有磁區。 請參閱下列資訊。