變更磁碟類型


本文將說明如何在磁碟上執行特定工作。如要執行下列任一項工作,您必須建立新的磁碟。您無法對磁碟進行下列變更。

  • 變更磁碟類型,例如將 Hyperdisk Throughput 磁碟區變更為 Hyperdisk Balanced 磁碟區。
  • 變更磁碟的加密類型,例如將磁碟的加密方式從使用 Google 產生的金鑰改為使用客戶自行管理的加密金鑰 (CMEK)。
  • 將磁碟移入或移出 Hyperdisk 儲存空間集區

如要執行上述任一任務,請按照下列步驟操作:

  1. 建立現有磁碟的快照。
  2. 使用快照做為磁碟的資料來源,建立正確類型的新磁碟,或在儲存空間叢集中建立新磁碟 (稱為「放置位置」)。
  3. 確認新磁碟後,您就可以刪除原始磁碟。

事前準備

必要角色和權限

如要取得變更磁碟類型所需的權限,請要求管理員授予您專案的下列 IAM 角色:

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

這些預先定義的角色包含變更磁碟類型所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要變更磁碟類型,您必須具備下列權限:

  • 如要建立磁碟的快照,請按照下列步驟操作:
    • compute.snapshots.create 專案
    • 磁碟的 compute.disks.createSnapshot 權限
  • 建立新磁碟: compute.disks.create 專案
  • 如何在儲存空間集區中建立磁碟:
    • compute.storagePools.use 專案
    • compute.disks.create 專案
  • 如何將磁碟連接至 VM:
    • compute.instances.attachDisk 在 VM 上
    • compute.disks.use 在要連結至 VM 的磁碟區上
  • 如要刪除磁碟,請按照下列步驟操作: compute.disks.delete 在專案中

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

變更磁碟的類型或位置

如要將永久磁碟磁區遷移至 Hyperdisk,或是在儲存空間叢集中或之外重新建立磁碟,請建立磁碟的快照,然後在建立新磁碟時使用該快照。

建立新的 Hyperdisk 磁碟區時,您可以將其建立為獨立磁碟,也可以在儲存空間資源池中建立磁碟 (如果有)。

主控台

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照之前暫停應用程式,請務必在快照資源達到 UPLOADING 狀態後才恢復工作負載。

    詳情請參閱「手動建立應用程式一致快照」一文中的表格。

  2. 建立現有磁碟的快照

  3. 選用:如要在儲存空間集區中建立新的 Hyperdisk,您必須建立儲存空間集區 (如果尚未建立)。
  4. 前往「Disks」(磁碟) 頁面。

    前往「磁碟」
  5. 按一下「+ 建立磁碟」
  6. 在「磁碟類型」下方,選取「Hyperdisk Extreme」、「Hyperdisk Throughput」或「Hyperdisk Balanced」

    選用:如要使用儲存空間集區,請選取 Hyperdisk Balanced 或 Hyperdisk Throughput。

  7. 針對「Disk source type」(磁碟來源類型),選取「Snapshot」(快照),然後選取要還原的快照名稱。
  8. 指定新磁碟的大小 (以 GiB 為單位)。這個數字必須等於或大於快照原始來源磁碟的大小。
  9. 選用:如要變更磁碟類型,請變更預設值:

    • Hyperdisk Balanced:變更 Provisioned IOPS 值和 Provisioned throughput 值。
    • Hyperdisk Extreme:變更「已佈建的 IOPS」值。
    • Hyperdisk 處理量:變更「已配置的輸送量」值。
  10. 選用:如要在儲存空間集區中建立新磁碟,請按照下列步驟操作:

    1. 在「儲存空間集區」專區中,選取「啟用儲存空間集區」
    2. 選擇要在其中建立磁碟的儲存空間集區名稱。

      清單中只會顯示所選可用區中的儲存空間集區。

  11. 按一下「Create」建立新磁碟。
  12. 建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。

gcloud

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照之前暫停應用程式,請務必在快照資源達到 UPLOADING 狀態後才恢復工作負載。

    詳情請參閱「手動建立應用程式一致快照」一文中的表格。

  2. 建立現有磁碟的快照

  3. 使用 disks create 指令,從快照建立 Hyperdisk 磁碟區。

    gcloud compute disks create DISK_NAME \
     --zone=ZONE \
     --storage-pool=STORAGE_POOL_NAME \
     --size=SIZE \
     --source-snapshot=SNAPSHOT_NAME \
     --type=DISK_TYPE \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT
    

    更改下列內容:

    • DISK_NAME:磁碟的專屬名稱。您可以提供以空格分隔的磁碟名稱清單,建立多個具有相同屬性的磁碟。
    • ZONE:您要建立磁碟的可用區。如果您想在儲存空間集區中建立磁碟,必須指定儲存空間集區所在的區域。請以區域-區域格式指定這個值,例如 us-central1-a
    • STORAGE_POOL_NAME:選用:建立磁碟的儲存空間集區名稱。如果未納入這個參數,系統會建立獨立的 Hyperdisk。
    • SIZE:選用:新磁碟的已佈建容量。大小必須大於或等於來源永久磁碟的大小。這個值必須是整數,後面接大小單位:GB 代表 gibibyte,TB 代表 tebibyte。如果未指定大小,系統會使用 100 GB 做為預設值。
    • SNAPSHOT_NAME:您從原始磁碟建立的快照名稱。
    • DISK_TYPE:要建立的磁碟類型。如果是在儲存空間資源池中建立磁碟,則此值必須與 Hyperdisk 儲存空間資源池的類型相符,也就是 hyperdisk-balancedhyperdisk-throughput
    • PROVISIONED_IOPS:選用:為磁碟佈建的 IOPS。您只能在建立 Hyperdisk Balanced 或 Hyperdisk Extreme 磁碟時使用這個參數。
    • PROVISIONED_THROUGHPUT:選用項目:針對 Hyperdisk Balanced 和 Hyperdisk Throughput 磁碟,為磁碟配置的處理量 (以每秒兆位元組 (MB) 為單位)。值必須是正整數。
  4. 建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。

REST

  1. 使用 disks.insert 方法建構 POST 要求,以建立區域 Hyperdisk。加入 namesizeGbtypesourceSnapshot 屬性。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    {
       "name": "DISK_NAME",
       "sizeGb": "DISK_SIZE",
       "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
       "sourceSnapshot": "SNAPSHOT_NAME",
       "provisionedIops": "IOPS_LIMIT",
       "provisionedThroughput": "THROUGHPUT_LIMIT",
       "accessMode": "DISK_ACCESS_MODE"
    }
    

    更改下列內容:

    • PROJECT_ID:您的專案 ID
    • ZONE:運算執行個體和新磁碟所在的區域
    • DISK_NAME:新磁碟的名稱
    • DISK_SIZE:(選用) 新磁碟的大小。值必須是整數,後面加上大小單位,例如 GB (吉位元組) 或 TB (太位元組)。
    • DISK_TYPE:磁碟類型。如要建立 Hyperdisk 磁碟區,請使用下列任一值:hyperdisk-balancedhyperdisk-extremehyperdisk-mlhyperdisk-throughput
    • IOPS_LIMIT:選用:對於 Hyperdisk Balanced 和 Hyperdisk Extreme,這是磁碟每秒可處理的 I/O 作業數量。
    • THROUGHPUT_LIMIT:選用:對於 Hyperdisk Balanced、Hyperdisk ML 或 Hyperdisk Throughput 磁碟區,這項屬性是整數,代表磁碟可處理的處理量 (以每秒 MiB 為單位)。
    • DISK_ACCESS_MODE:計算執行個體如何存取磁碟上的資料。支援的值如下:

      • READ_WRITE_SINGLE,用於從單一執行個體讀取/寫入資料。這是預設值。
      • READ_WRITE_MANY,用於多個例項的讀寫存取權。
      • READ_ONLY_MANY:用於多個執行個體的唯讀存取權。

      您可以為下列磁碟類型設定存取模式:

      • Hyperdisk Balanced
      • Hyperdisk ML
      • Hyperdisk Balanced High Availability (Preview)
  2. 選用:使用 compute.disks.get 方法查看磁碟說明。

  3. 建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。

將區域磁碟變更為地區性 Hyperdisk 平衡高可用性磁碟

如要將區域磁碟變更為 Hyperdisk 平衡高可用性磁碟,請建立區域磁碟的快照,然後在建立地區磁碟時使用該快照做為來源。

主控台

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照之前暫停應用程式,請務必在快照資源達到 UPLOADING 狀態後才恢復工作負載。

    詳情請參閱「手動建立應用程式一致快照」一文中的表格。

  2. 建立現有磁碟的快照

  3. 前往「Disks」(磁碟) 頁面。

    前往「磁碟」
  4. 按一下「+ 建立磁碟」
  5. 指定磁碟的名稱。
  6. 在「Location」欄位中,選擇「Regional」
  7. 在「區域」和「可用區」欄位中,指定磁碟的主要可用區。

    磁碟必須與您要附加的運算執行個體位於相同的區域。

  8. 在「副本可用區」欄位中指定次要可用區。
  9. 針對「Disk source type」(磁碟來源類型),選取「Snapshot」(快照),然後選取要還原的快照名稱。
  10. 在「磁碟類型」下方,選取「Hyperdisk Balanced High Availability」

    如果清單中沒有 Hyperdisk 平衡高可用性磁碟類型,您可能需要選擇提供 Hyperdisk 平衡高可用性磁碟的地區

  11. 指定新磁碟的大小 (以 GiB 為單位)。這個數字必須等於或大於快照原始來源磁碟的大小。
  12. 選用:變更新磁碟的預設已配置 IOPS已配置傳輸量值:

  13. 按一下「Create」建立新磁碟。
  14. 建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。

gcloud

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照之前暫停應用程式,請務必在快照資源達到 UPLOADING 狀態後才恢復工作負載。

    詳情請參閱「手動建立應用程式一致快照」一文中的表格。

  2. 建立現有磁碟的快照

  3. 使用 disks create 指令,從快照建立 Hyperdisk 平衡高可用性磁碟。

    gcloud compute disks create DISK_NAME \
     --size=SIZE \
     --type=hyperdisk-balanced-high-availability \
     --source-snapshot=SNAPSHOT_NAME \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT \
     --region=REGION \
     --replica-zones=ZONE1,ZONE2
    

    更改下列內容:

    • DISK_NAME:磁碟的專屬名稱。
    • SIZE:選填:新磁碟的已佈建容量。大小必須大於或等於來源磁碟的大小。這個值必須是整數,後接大小單位:GB 代表 gibibyte,TB 代表 tebibyte。
    • SNAPSHOT_NAME:您從原始磁碟建立的快照名稱。
    • PROVISIONED_IOPS:選用:為磁碟配置的 IOPS。
    • PROVISIONED_THROUGHPUT:選用:為磁碟配置的傳輸量 (以 MB/秒為單位)。
    • REGION:地區磁碟的所在地區,例如:europe-west1
    • ZONE1ZONE2:這兩個磁碟備用資源所在的區域,例如:europe-west1-b,europe-west1-c

Terraform

如要建立 Hyperdisk Balanced High Availability 磁碟區,您可以使用 google_compute_region_disk 資源,如以下範例所示,但請將磁碟類型從 pd-ssd 變更為 hyperdisk-balanced-high-availability

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

REST

如要建立 Hyperdisk 平衡高可用性磁碟區,請對 compute.regionDisks.insert 方法建構 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
{
  "name": "DISK_NAME",
  "sourceSnapshot": "SNAPSHOT_NAME",
  "region": "projects/PROJECT_ID/regions/REGION",
  "replicaZones": [
    "projects/PROJECT_ID/zones/ZONE1",
    "projects/PROJECT_ID/zones/ZONE2"
  ],
  "sizeGb": "DISK_SIZE",
  "type": "projects/PROJECT_ID/regions/REGION/diskTypes/hyperdisk-balanced-high-availability"
}

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • REGION:地區磁碟的所在地區,例如:europe-west1
  • DISK_NAME:新磁碟的名稱
  • SNAPSHOT_NAME:您從原始磁碟建立的快照名稱。
  • ZONE1ZONE2:新磁碟備用資源所在的區域,例如:europe-west1-b,europe-west1-c
  • DISK_SIZE:新磁碟的大小 (以 GiB 為單位)

讓 VM 執行個體可存取新的磁碟

建立磁碟後,您必須連接磁碟將地區磁碟連接至運算執行個體,才能使用磁碟。

由於您建立的新磁碟並非空白磁碟,因此將磁碟連接至執行個體後,只需掛接磁碟即可讓作業系統使用。

如要瞭解如何掛接磁碟,請參閱下列資訊:

移除原始磁碟

驗證新磁碟後,您可以:

後續步驟