變更磁碟類型

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

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

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

  1. 建立現有磁碟的快照。
  2. 使用快照做為磁碟的資料來源,建立正確類型的新磁碟,或在儲存集區內建立磁碟 (稱為「放置位置」)。
  3. 驗證新磁碟後,即可刪除原始磁碟。

事前準備

  • 如要將新的 Hyperdisk 磁碟區放入 Hyperdisk 儲存空間集區或 Hyperdisk Exapool,請參閱在 Hyperdisk 集區中建立磁碟的限制

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

必要角色和權限

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

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

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

所需權限

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

  • 如要建立磁碟快照,請按照下列步驟操作:
    • 專案的 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,請在集區內或集區外重新建立磁碟,或將磁碟移至其他區域或可用區,方法是建立磁碟快照,然後在建立新磁碟時使用該快照。

控制台

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到 UPLOADING 狀態後,再繼續執行工作負載。

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

  2. 建立現有磁碟的快照

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

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

    選用:如要使用集區,必須選取 Hyperdisk Balanced 或 Hyperdisk Throughput。

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

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

    1. 在「儲存空間集區」部分,選取「啟用儲存空間集區」
    2. 選擇要在哪個集區中建立磁碟。

      清單中只會顯示所選區域中的集區。

  11. 按一下「建立」建立新磁碟。
  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 代表 GiB,TB 代表 TiB。如未指定大小,系統會使用 100 GB 做為預設值。
    • SNAPSHOT_NAME:從原始磁碟建立的快照名稱。
    • DISK_TYPE:要建立的磁碟類型。如果在集區中建立磁碟,這個值必須與集區的類型相符,也就是 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 (預先發布版)
  2. 選用:使用 compute.disks.get 方法查看磁碟說明。

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

將區域磁碟變更為地區 Hyperdisk Balanced High Availability 磁碟

如要將區域磁碟變更為 Hyperdisk Balanced High Availability 磁碟,請建立區域磁碟的快照,並在建立地區磁碟時使用該快照做為來源。

控制台

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到 UPLOADING 狀態後,再繼續執行工作負載。

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

  2. 建立現有磁碟的快照

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

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

    磁碟必須與您打算連接的運算執行個體位於相同區域。

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

    如果清單中未顯示 Hyperdisk Balanced High Availability 磁碟類型,您可能需要選擇提供 Hyperdisk Balanced High Availability 磁碟的區域

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

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

gcloud

  1. 準備建立磁碟快照:

    重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到 UPLOADING 狀態後,再繼續執行工作負載。

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

  2. 建立現有磁碟的快照

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

    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 代表 GiB,TB 代表 TiB。
    • 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 Balanced High Availability 磁碟區,請對 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 執行個體存取新磁碟

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

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

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

移除原始磁碟

驗證新磁碟後,您可以:

後續步驟