如要變更磁碟類型、位置或專案,必須建立新磁碟。 現有磁碟的屬性無法修改,因此本文說明如何對磁碟進行下列變更:
- 變更磁碟類型,例如將 Hyperdisk Throughput 磁碟區變更為 Hyperdisk Balanced 磁碟區。
- 變更磁碟的加密類型,例如將磁碟的加密方式從使用 Google 產生的金鑰,改為使用客戶自行管理的加密金鑰 (CMEK)。
- 將磁碟移入或移出 Hyperdisk 集區。
- 將磁碟移至其他區域或可用區。
- 將磁碟移至其他專案。
如要執行上述任何工作,請按照下列步驟操作:
- 建立現有磁碟的快照。
- 建立正確類型的新磁碟,或在儲存集區內 (稱為「放置位置」),使用快照做為磁碟的資料來源。
- 驗證新磁碟後,即可刪除原始磁碟。
事前準備
-
如要將新的 Hyperdisk 磁碟區放入 Hyperdisk 儲存空間集區或 Hyperdisk Exapool,請參閱「在 Hyperdisk 集區建立磁碟的限制」。
-
如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上範例的預計用途分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,您不需要設定驗證機制。
gcloud
-
安裝 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 角色:
- Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) -
如要連線至可做為服務帳戶執行的 VM:服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備變更磁碟類型所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要變更磁碟類型,必須具備下列權限:
-
如要建立磁碟快照,請按照下列步驟操作:
-
專案的
compute.snapshots.create -
磁碟上的
compute.disks.createSnapshot
-
專案的
-
如要建立新磁碟:
compute.disks.create專案 -
如要從標準或封存快照建立新磁碟,請按照下列步驟操作:
-
在要建立磁碟的專案中,具備
compute.disks.create權限 -
compute.snapshots.useReadOnly快照
-
在要建立磁碟的專案中,具備
-
如要在集區中建立磁碟,請按照下列步驟操作:
-
專案的
compute.storagePools.use -
專案的
compute.disks.create
-
專案的
-
如要將磁碟連接至 VM,請按照下列步驟操作:
-
VM 上的
compute.instances.attachDisk -
compute.disks.use要附加至 VM 的磁碟區
-
VM 上的
-
如要刪除磁碟:
compute.disks.delete在專案中
變更磁碟的類型、位置、專案或位置
如要在磁碟上執行下列任何工作,請建立磁碟快照,然後從快照建立新磁碟:
- 將 Persistent Disk 磁碟區移至 Hyperdisk
- 在集區內外重新建立磁碟
- 將磁碟移至其他專案
- 將磁碟移至其他區域或可用區
如要將磁碟移至其他專案,必須使用 Google Cloud CLI 或 REST,無法使用 Google Cloud 控制台。
控制台
-
準備建立磁碟快照:
- 請參閱「Compute Engine 磁碟快照的最佳做法」,瞭解如何準備磁碟以建立快照。
- 請參閱「建立磁碟快照排程」,瞭解如何建立快照排程並附加至磁碟。定期使用排定的快照備份磁碟,可降低意外遺失資料的風險。
重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到
UPLOADING狀態後,再恢復工作負載。詳情請參閱「手動建立應用程式一致快照」中的表格。
- 選用:如要在集區中建立新的 Hyperdisk,您必須建立儲存空間集區 (如果沒有的話)。
前往「Disks」(磁碟) 頁面。
前往「Disks」(磁碟) 頁面- 按一下「+ 建立磁碟」。
在「Disk Type」(磁碟類型) 下方,選取「Hyperdisk Extreme」、「Hyperdisk Throughput」或「Hyperdisk Balanced」。
選用:如要使用集區,必須選取 Hyperdisk Balanced 或 Hyperdisk Throughput。
- 在「Disk source type」(磁碟來源類型) 中選取「Snapshot」(快照),然後選取要還原的快照名稱。
- 指定新磁碟的「Size」(大小),以 GiB 為單位。這個數字必須等於或大於快照的原始來源磁碟。
選用:如要變更磁碟類型,請變更預設值:
- Hyperdisk Balanced:變更「Provisioned IOPS」(佈建 IOPS) 值和「Provisioned throughput」(佈建輸送量) 值。
- Hyperdisk Extreme:變更「佈建 IOPS」值。
- Hyperdisk Throughput:變更「佈建輸送量」值。
選用:如要在集區中建立新磁碟,請按照下列步驟操作:
- 在「Storage pool」(儲存空間集區) 專區中,選取「Enable storage pool」(啟用儲存空間集區)。
選擇要在當中建立磁碟的集區名稱。
清單中只會顯示所選可用區中的集區。
- 按一下「Create」(建立),建立新的磁碟。
- 建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。
gcloud
-
準備建立磁碟快照:
- 請參閱「Compute Engine 磁碟快照的最佳做法」,瞭解如何準備磁碟以建立快照。
- 請參閱「建立磁碟快照排程」,瞭解如何建立快照排程並附加至磁碟。透過排定的快照定期備份磁碟,可降低意外遺失資料的風險。
重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到
UPLOADING狀態後,再繼續執行工作負載。詳情請參閱「手動建立應用程式一致快照」中的表格。
使用
disks create指令,依據快照建立 Hyperdisk 磁碟區。gcloud compute disks create DISK_NAME \ --project=DISK_PROJECT \ --zone=ZONE \ --storage-pool=STORAGE_POOL_NAME \ --size=SIZE \ --source-snapshot=projects/SNAPSHOT_PROJECT/global/snapshots/SNAPSHOT_NAME \ --type=DISK_TYPE \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUT
更改下列內容:
- DISK_PROJECT:要在其中建立磁碟的專案。
- DISK_NAME:磁碟的專屬名稱。您可以提供以空格分隔的磁碟名稱清單,建立多個具有相同屬性的磁碟。
- ZONE::要建立磁碟的可用區。如要在集區中建立磁碟,必須指定集區所在的可用區。請以「區域-時區」格式指定這個值,例如
us-central1-a。 - STORAGE_POOL_NAME:選用:要在其中建立磁碟的集區名稱。如未加入這個參數,系統會建立獨立 Hyperdisk。
- SIZE:選用:新磁碟的佈建容量。大小必須大於或等於來源永久磁碟的大小。值必須是整數,後面接著大小單位 GB (gibibyte) 或 TB (tebibyte)。如未指定大小,系統會使用 100 GB 做為預設值。
- SNAPSHOT_PROJECT:專案名稱,內含您從原始磁碟建立的來源快照。
- SNAPSHOT_NAME:從原始磁碟建立的快照名稱。
- DISK_TYPE:要建立的磁碟類型。如果在集區中建立磁碟,這個值就必須與集區的類型相符,也就是
hyperdisk-balanced或hyperdisk-throughput。 - PROVISIONED_IOPS:選用:要為磁碟佈建的 IOPS。只有在建立 Hyperdisk Balanced 或 Hyperdisk Extreme 磁碟時,才能使用這個參數。
- PROVISIONED_THROUGHPUT:選用:針對 Hyperdisk Balanced 和 Hyperdisk Throughput 磁碟,以每秒百萬位元組 (MB) 為單位,為磁碟佈建處理量。值必須是正整數。
建立磁碟後,您可以將磁碟連結至任何執行中或已停止的運算執行個體。
REST
-
準備建立磁碟快照:
- 請參閱「Compute Engine 磁碟快照的最佳做法」,瞭解如何準備磁碟以建立快照。
- 請參閱「建立磁碟快照排程」,瞭解如何建立快照排程並附加至磁碟。透過排定的快照定期備份磁碟,可降低意外遺失資料的風險。
重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到
UPLOADING狀態後,再繼續執行工作負載。詳情請參閱「手動建立應用程式一致性快照」一文中的表格。
-
為現有磁碟建立快照。
。 建構
POST要求,傳送至disks.insert方法。加入name、sizeGb、type和sourceSnapshot屬性。POST https://compute.googleapis.com/compute/v1/projects/DISK_PROJECT/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "https://compute.googleapis.com/compute/v1/projects/DISK_PROJECT/zones/ZONE/diskTypes/DISK_TYPE", "sourceSnapshot": "projects/SNAPSHOT_PROJECT/global/snapshots/SNAPSHOT_NAME", "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT", "accessMode": "DISK_ACCESS_MODE" }更改下列內容:
DISK_PROJECT:要建立磁碟的專案ZONE:運算執行個體和新磁碟所在的可用區DISK_NAME:新磁碟的名稱DISK_SIZE:選用,新磁碟的大小。值必須是整數,後面接著大小單位,例如 GB 代表十億位元組,TB 代表兆位元組。DISK_TYPE:磁碟類型。如要建立 Hyperdisk 磁碟區,請使用下列其中一個值:hyperdisk-balanced、hyperdisk-extreme、hyperdisk-ml或hyperdisk-throughput。SNAPSHOT_PROJECT:專案名稱,內含您從原始磁碟建立的快照。SNAPSHOT_NAME:您從原始磁碟建立的快照名稱。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 (預先發布版)
選用:使用
compute.disks.get方法查看磁碟說明。建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。
將可用區磁碟變更為區域性 Hyperdisk
如要將現有的可用區磁碟變更為區域性 Hyperdisk,必須依據來源磁碟建立新的 Hyperdisk Balanced High Availability 磁碟區。這是因為 Hyperdisk Balanced High Availability 是唯一支援的區域性 Hyperdisk。
如何從可用區磁碟建立 Hyperdisk Balanced High Availability 磁碟區,取決於可用區磁碟的類型:
如果是 Hyperdisk Balanced 磁碟區 (包括開機磁碟和資料磁碟) 和 Hyperdisk Extreme 磁碟區,請複製來源磁碟,建立 Hyperdisk Balanced High Availability 磁碟區。
如為 Hyperdisk ML、Hyperdisk Throughput 和 Persistent Disk 磁碟區,請按照本節的操作說明操作。
如要從上述磁碟類型建立 Hyperdisk Balanced High Availability 磁碟區,您必須從可用區磁碟的快照建立 Hyperdisk Balanced High Availability 磁碟區。
您可以使用 Google Cloud 控制台、gcloud CLI、Terraform 供應商 (適用於 Google Cloud) 或 REST。
控制台
-
準備建立磁碟快照:
- 請參閱「Compute Engine 磁碟快照的最佳做法」,瞭解如何準備磁碟以建立快照。
- 請參閱「建立磁碟快照排程」,瞭解如何建立快照排程並附加至磁碟。透過排定的快照定期備份磁碟,可降低意外遺失資料的風險。
重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到
UPLOADING狀態後,再恢復工作負載。詳情請參閱「手動建立應用程式一致快照」一文中的表格。
前往「Disks」(磁碟) 頁面。
前往「Disks」(磁碟) 頁面- 按一下「+ 建立磁碟」。
- 指定磁碟名稱。
- 在「位置」欄位中,選擇「區域性」。
在「Region」(區域) 和「Zone」(可用區) 欄位中,指定磁碟的主要可用區。
磁碟必須與要連接的運算執行個體位於相同區域。
- 在「Replica zone」(副本可用區) 欄位中指定次要可用區。
- 在「Disk source type」(磁碟來源類型) 部分,選取「Snapshot」(快照),然後選取要還原的快照名稱。
在「磁碟類型」下方,選取「Hyperdisk Balanced High Availability」。
如果清單中未顯示 Hyperdisk Balanced High Availability 磁碟類型,您可能需要選擇提供 Hyperdisk Balanced High Availability 磁碟的區域。
- 指定新磁碟的「Size」(大小),以 GiB 為單位。這個數字必須等於或大於快照的原始來源磁碟。
選用:變更新磁碟的預設「Provisioned IOPS」(佈建的每秒輸入/輸出作業數) 和「佈建輸送量」 值:
- 按一下「建立」,建立新的磁碟。
- 建立磁碟後,您可以將磁碟連接至任何執行中或已停止的運算執行個體。
gcloud
-
準備建立磁碟快照:
- 請參閱「Compute Engine 磁碟快照的最佳做法」,瞭解如何準備磁碟以建立快照。
- 請參閱「建立磁碟快照排程」,瞭解如何建立快照排程並附加至磁碟。透過排定的快照定期備份磁碟,可降低意外遺失資料的風險。
重要事項:如果您在建立快照前暫停應用程式,請等到快照資源達到
UPLOADING狀態後,再繼續執行工作負載。詳情請參閱「手動建立應用程式一致快照」一文中的表格。
使用
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 代表 gibibyte,TB 代表 tebibyte。SNAPSHOT_NAME:您從原始磁碟建立的快照名稱。PROVISIONED_IOPS:選用:要為磁碟佈建的 IOPS。PROVISIONED_THROUGHPUT:(選用) 為磁碟佈建的每秒 MB 輸送量。REGION:區域磁碟所在的區域,例如:europe-west1ZONE1、ZONE2:兩個磁碟副本所在的區域內可用區,例如:europe-west1-b,europe-west1-c
Terraform
如要建立 Hyperdisk Balanced High Availability 磁碟區,可以使用 google_compute_region_disk 資源,如下列範例所示,但請將磁碟類型從 pd-ssd 變更為 hyperdisk-balanced-high-availability。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
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:專案 IDREGION:區域磁碟所在的區域,例如:europe-west1DISK_NAME:新磁碟的名稱SNAPSHOT_NAME:您從原始磁碟建立的快照名稱。ZONE1、ZONE2:新磁碟副本應位於的可用區,例如:europe-west1-b,europe-west1-cDISK_SIZE:新磁碟的大小 (以 GiB 為單位)
讓 VM 執行個體可存取新磁碟
建立磁碟後,您必須連結磁碟或連結區域磁碟至運算執行個體,才能使用磁碟。
由於您建立的新磁碟並非空白磁碟,因此將磁碟連結至執行個體後,只需掛接磁碟,即可供作業系統使用。
如要瞭解如何掛接磁碟,請參閱下列資源:
- 掛接磁碟 (Linux)
- 在 Windows VM 格式化及掛接非開機磁碟
移除原始磁碟
驗證新磁碟後,您可以:
後續步驟
- 進一步瞭解 Hyperdisk。
- 進一步瞭解 Hyperdisk 集區
- 瞭解如何修改 Hyperdisk 磁碟區的大小和佈建效能。
- 對新的 Hyperdisk 效能進行基準測試。