您可以根據工作負載需求變化,修改 Google Cloud Hyperdisk 磁碟區的大小和效能。舉例來說,您可以增加磁碟區的佈建大小,儲存更多資料。您也可以視需求減少或增加佈建的效能,藉此降低成本或提升效能。
本頁說明如何修改 Hyperdisk 磁碟區的佈建大小和效能。
如要修改 Hyperdisk 磁碟區的其他屬性,請參閱「修改 Persistent Disk 或 Hyperdisk 的設定」。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
必要角色和權限
如要取得修改 Hyperdisk 所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
- Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) -
如要連線至可做為服務帳戶執行的 Compute 執行個體:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備 compute.disks.update 權限,可修改 Hyperdisk。
存取模式變更
如要設定 Hyperdisk 磁碟區的存取模式,以便將磁碟區連結至多個執行個體,請參閱「Hyperdisk 磁碟區的存取模式」。
限制
以下限制適用於 Hyperdisk 磁碟區的大小和效能修改。
修改 Hyperdisk 大小和效能的次數有限,如下所示:
大小調整:
- Hyperdisk Throughput:每 6 小時一次
- Hyperdisk Balanced:4 小時內兩次
- 所有其他 Hyperdisk 類型:每 4 小時一次
修改佈建的 IOPS 或處理量:
- Hyperdisk ML:每 6 小時一次
- 所有其他 Hyperdisk 類型:每 4 小時一次
最佳做法
由於磁碟大小或效能的更新頻率有限,建議您遵循下列最佳做法:
建議您同時修改大小和效能。舉例來說,如果您打算在短時間內修改磁碟大小和佈建 IOPS,請規劃在單一要求中進行這兩項變更。
為磁碟選擇新的佈建效能或大小值時,請注意,您必須等待一段時間,才能進行進一步變更。
舉例來說,假設您想將 500 GiB 的 Hyperdisk Balanced High Availability 磁碟區大小增加至 1 TiB,請確認工作負載在接下來 4 小時內不會需要超過 1 TiB 的磁碟空間,因為 4 小時過後才能再次增加大小。
修改 Hyperdisk 磁碟區大小
您可以增加 Hyperdisk 磁碟區的大小,但無法縮減。如要縮減現有磁碟區的大小,請參閱「縮減 Hyperdisk 磁碟區的大小」。
Hyperdisk 磁碟區的大小限制
您為 Hyperdisk 磁碟區指定的大小必須在下列範圍內:
| 磁碟類型 | 大小下限 | 大小上限 | 預設大小 |
|---|---|---|---|
| Hyperdisk Balanced | 4 GiB | 64 TiB1 | 100 GiB |
| Hyperdisk Balanced High Availability | 4 GiB | 64 TiB | 100 GiB |
| Hyperdisk Extreme | 64 GiB | 64 TiB | 1 TiB |
| Hyperdisk Throughput | 2 TiB | 32 TiB | 2 TiB |
| Hyperdisk ML | 4 GiB | 64 TiB | 100 GiB |
不過,附加至執行個體的所有 Hyperdisk 磁碟區總大小,不得超過 執行個體的 Hyperdisk 大小和附加限制。
調降 Hyperdisk 磁碟區的容量
您無法縮減 Hyperdisk 磁碟區的大小。你必須將磁碟區替換為較小的磁碟區。如要這麼做,請建立大小較小的空白磁碟區,然後將原始磁碟區的內容複製到新磁碟區。然後就可以使用新磁碟區,取代原始磁碟區。
如要以較小的磁碟區取代磁碟區,請按照下列步驟操作:
- 建立空白的 Hyperdisk 磁碟區,並指定所需大小。請確認新磁碟的容量足以容納來源磁碟的資料。
- 將兩個磁碟區都附加至同一個執行個體。如需操作說明,請參閱「將非開機磁碟連接至 VM」。
- 格式化並掛接新磁碟區。請參閱 Linux 和 Windows 執行個體的操作說明。
- 使用作業系統 (OS) 提供的公用程式,將原始磁碟區的資料複製到新磁碟區。舉例來說,在 Linux 中,您可以使用
rsync或dd。如果是 Windows 執行個體,可以使用robocopy。 - 確認新磁碟區包含所有資料,且運作正常。
- 更新應用程式或作業系統,即可使用新磁碟區。
- 確認遷移作業成功後,即可卸離並刪除原始的較大磁碟區。
準備增加 Hyperdisk 磁碟區大小
即使 Hyperdisk 磁碟區已連結至執行中的執行個體,您仍可調整或增加其大小。不過,如果 Hyperdisk 磁碟區處於多重寫入模式,您必須先從所有執行個體卸離磁碟區,才能調整大小。
您可以按照下列頻率調整 Hyperdisk 磁碟區大小:
- Hyperdisk Throughput:每 6 小時一次
- Hyperdisk Balanced:4 小時內兩次
- 所有其他 Hyperdisk 類型:每 4 小時一次
建議用來增加 Hyperdisk 磁碟區大小的程序
如要增加 Hyperdisk 磁碟區的大小,請按照下列步驟操作:
請參閱「最佳做法」一文。
如果音量處於多重寫入器模式,請完成下列工作:
修改 Hyperdisk 磁碟區的佈建效能
您可以根據工作負載需求變化,修改磁碟區的佈建 IOPS 或輸送量。舉例來說,如果您預期某段時間的流量會增加,可以提高 Hyperdisk 磁碟區的佈建 IOPS,然後在忙碌期結束時降低佈建效能。
即使磁碟區已連結至執行中的執行個體,您仍可變更磁碟區的佈建效能。變更 Hyperdisk 磁碟區的佈建效能不會影響磁碟上的資料。
下表概略說明各 Hyperdisk 類型支援的容量和效能變更。
| Hyperdisk 類型 | 可自訂的輸送量 | 可自訂 IOPS | 可在 VM 之間共用 |
|---|---|---|---|
| Hyperdisk Balanced | 是 | 是 | 是 |
| Hyperdisk Balanced High Availability |
是 | 是 | 是 |
| Hyperdisk Extreme | 否 | 是 | 是 |
| Hyperdisk ML | 是 | 否 | 是, 唯讀模式 |
| Hyperdisk Throughput | 是 | 否 | 否 |
Hyperdisk 磁碟區的效能限制
下表列出各 Hyperdisk 類型可指定的效能限制。不過,您可以指定的 IOPS 和處理量等級也取決於磁碟區大小。如需各項限制的詳細摘要,請參閱 Hyperdisk Balanced、Hyperdisk Balanced High Availability、Hyperdisk Extreme、Hyperdisk ML 和 Hyperdisk Throughput 的「大小和效能限制」一節。
| Hyperdisk 類型 | IOPS 上限 | 處理量上限 (MiB/秒) |
|---|---|---|
| Hyperdisk Balanced | 160,000 | 2,400 |
| Hyperdisk Balanced High Availability | 100,000 | 2,400 |
| Hyperdisk Extreme | 350,000 | 您無法為 Hyperdisk Extreme 磁碟區佈建處理量等級。每 1,000 IOPS 的磁碟區可獲得 250 MiB/s 的總處理量,最高可達 5,000 MiB/s。 |
| Hyperdisk ML | 您無法佈建 IOPS 層級,但每佈建 1 MiB/s 的總處理量,就會有 16 個 IOPS,最多可達 33,554,432 個 IOPS。 | 2,097,152 |
| Hyperdisk Throughput | 您無法佈建 IOPS 級別,但每佈建 1 MiB/s 的輸送量,就會有 4 個 IOPS,最多可達 9,600 個 IOPS。 | 2,400 |
準備修改 Hyperdisk 磁碟區的佈建效能
除了 Hyperdisk ML 以外,所有 Hyperdisk 類型每 4 小時只能變更一次佈建 IOPS 或輸送量。如果是 Hyperdisk ML 磁碟區,每 6 小時只能變更一次佈建輸送量。如果您嘗試在指定限制內多次修改 Hyperdisk 磁碟區,就會看到類似 Cannot update provisioned throughput due to being rate limited. 的錯誤訊息。
變更佈建的 IOPS 或輸送量後,最多可能需要 15 分鐘才會生效。但以下例外狀況除外:
- 如果是 Hyperdisk ML 磁碟區,變更最多可能需要 20 分鐘才會生效。
- 如果是處於多重寫入模式的磁碟,且變更時已連接至多個 VM,則效能變更最多可能需要 6 小時才會生效。
如要修改 Hyperdisk 的佈建效能,請按照「變更 Hyperdisk 磁碟區的大小或佈建效能」一文中的程序操作。
增加 Hyperdisk 大小或變更其佈建效能
修改 Hyperdisk 大小和效能的次數有限。因此,為避免延誤,請詳閱「限制」和「最佳做法」。
您可以使用 Cloud de Confiance 控制台、gcloud CLI 或 REST,變更 Hyperdisk 磁碟區的佈建大小和效能。
控制台
前往 Cloud de Confiance 控制台的「Disks」(磁碟) 頁面。
在專案的磁碟清單中,按一下要變更容量或佈建效能的 Hyperdisk 磁碟區名稱。
在磁碟詳細資料頁面中,按一下「編輯」。
- 在「Size」(大小) 欄位中輸入磁碟的新大小。磁碟大小必須在支援的值範圍內。
- 如果是 Hyperdisk Extreme、Hyperdisk Balanced 和 Hyperdisk Balanced High Availability: 在「佈建 IOPS」欄位中,輸入磁碟區的新 IOPS 值。
- 如果是 Hyperdisk Throughput、Hyperdisk ML、Hyperdisk Balanced 和 Hyperdisk Balanced High Availability,請在「佈建輸送量」欄位中,輸入磁碟區的新輸送量值。
按一下「儲存」,將變更套用至磁碟。
gcloud
使用 disks update 指令,並指定 --size、--provisioned-iops 或 --provisioned-throughput 旗標。
如要變更 Hyperdisk Balanced High Availability 磁碟區的大小,請加入 --region 旗標。
gcloud compute disks update DISK_NAME \
--size=DISK_SIZE \
[--region=REGION] \
--provisioned-iops=IOPS_LIMIT \
--provisioned-throughput=THROUGHPUT_LIMIT
更改下列內容:
- DISK_NAME:要修改的 Hyperdisk 磁碟區名稱。
- DISK_SIZE:(選填) 磁碟的新大小。這個值必須是整數,後面加上大小單位,例如 GB 代表吉位元組,TB 代表太位元組。磁碟大小必須在支援的值範圍內。
- REGION:選用。Hyperdisk Balanced High Availability 磁碟所在的區域
- IOPS_LIMIT:選用:Hyperdisk Extreme、Hyperdisk Balanced 和 Hyperdisk Balanced High Availability 磁碟區的 IOPS 設定。值必須在支援的值範圍內。
- THROUGHPUT_LIMIT:選用:Hyperdisk Throughput、Hyperdisk ML、Hyperdisk Balanced 或 Hyperdisk Balanced High Availability 磁碟區的處理量設定,指定為以 MiB/秒為單位的處理量整數。值必須在支援的值範圍內。
REST
建構對 compute.disks.update 方法的 PATCH 要求。在要求主體中,指定 sizeGb、provisionedIops 或 provisionedThroughput 參數。
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
{
"sizeGb": "DISK_SIZE,
"provisionedIops": "IOPS_LIMIT",
"provisionedThroughput": "THROUGHPUT_LIMIT"
}
如要修改 Hyperdisk Balanced High Availability 磁碟區,請對 compute.regionDisks.update 方法建構 PATCH 要求。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME
{
"sizeGb": "DISK_SIZE,
"provisionedIops": "IOPS_LIMIT",
"provisionedThroughput": "THROUGHPUT_LIMIT"
}
更改下列內容:
PROJECT_ID:您的專案 ID。ZONE:Hyperdisk 磁碟區所在的可用區。REGION:如果是 Hyperdisk Balanced High Availability 磁碟,這是磁碟所在的區域。DISK_NAME:要修改的 Hyperdisk 磁碟區名稱。DISK_SIZE:(選填) 磁碟的新大小。這個值必須是整數,後面加上大小單位,例如 GB 代表吉位元組,TB 代表太位元組。磁碟大小必須在支援的值範圍內。IOPS_LIMIT:選用:Hyperdisk Extreme、Hyperdisk Balanced 或 Hyperdisk Balanced High Availability 磁碟區的 IOPS 設定。值必須在支援的值範圍內。THROUGHPUT_LIMIT:選用:Hyperdisk Balanced、Hyperdisk ML、Hyperdisk Balanced 或 Hyperdisk Balanced High Availability 磁碟區的輸送量設定,指定為以 MiB/秒為單位的輸送量整數。值必須在支援的值範圍內。
如果您嘗試在指定限制內多次修改 Hyperdisk 磁碟區的大小或效能,就會收到 Cannot update provisioned throughput due to being rate limited 或 Disk cannot be resized due to being rate limited 等錯誤訊息。
備份 Hyperdisk 磁碟區
調整磁碟大小不會刪除或修改磁碟資料,但建議您先建立快照備份磁碟,再對檔案系統或磁碟分割區進行任何變更。
調整檔案系統和分區大小
增加 Hyperdisk 磁碟區大小後,您可能需要調整其檔案系統和分區的大小:
開機磁碟:如果您使用自訂 Linux 映像檔或自訂 Windows 映像檔,則必須手動調整根分區和檔案系統的大小。如果是使用公開映像檔的 VM,在您增加開機磁碟大小並重新啟動 VM 後,Compute Engine 會自動調整根分割區和檔案系統的大小。
非開機磁碟:增加磁碟大小後,您必須擴充磁碟上的檔案系統,才能使用新增的空間。
以下範例說明如何手動調整開機磁碟的根分區和檔案系統大小,以及如何手動調整不含分區資料表的非開機資料磁碟檔案系統大小。這個範例假設附加的磁碟先前已格式化並掛接。
Linux VM
前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
按一下具有新連接磁碟的執行個體旁邊的「SSH」SSH按鈕。瀏覽器會開啟對於執行個體的終端機連線。
使用
df和lsblk指令列出檔案系統的大小,並找出磁碟的裝置名稱。$ sudo df -Th Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 3.9G 0 3.9G 0% /dev /dev/nvme0n1p1 ext4 9.7G 2.0G 7.2G 22% / /dev/nvme0n1p15 vfat 124M 12M 113M 10% /boot/efi /dev/nvme0n2 ext4 98G 24K 98G 1% /mnt/disks/data
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 20G 0 disk ├─nvme0n1p1 259:5 0 9.9G 0 part / ├─nvme0n1p14 259:6 0 3M 0 part └─nvme0n1p15 259:7 0 124M 0 part /boot/efi nvme0n2 259:4 0 100G 0 disk /mnt/disks/data
這個範例包含下列磁碟:
- 開機磁碟:
/dev/nvme0n1p1分割區位於已調整為 20 GB 的開機磁碟上。磁區分割表與檔案系統僅為作業系統提供 9.9 GB 空間。 - 非開機資料磁碟:
/dev/nvme0n2非開機資料磁碟沒有磁區分割表,但該磁碟上的檔案系統為作業系統提供 100 GB 空間。這個磁碟的掛接目錄為/mnt/disks/data。
請注意
df指令輸出內容中的「類型」欄,該欄會指出磁碟使用的是ext4或xfs檔案系統。- 開機磁碟:
確認分割區類型:
sudo parted -l
首次在調整磁碟大小後執行這項指令時,您可能會看到類似以下的訊息:
Warning: Not all of the space available to /dev/nvme0n1 appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting? Fix/Ignore?
如果輸入
Fix,作業系統會自動重新分割磁碟,讓作業系統使用額外空間。如果沒有其他磁碟要修改,請直接跳到最後一個步驟。如果選擇不使用自動修正選項,或該選項無法使用,請查看要重新分割磁碟的資訊:
sudo parted -l /dev/DEVICE_NAME
尋找「Partition Table」(分區表) 欄位,如果值為
msdos,則磁碟具有 MBR 分區類型。也就是說,這類磁碟的大小上限為 2 TB。如果是開機磁碟,請調整磁碟上的根分區和檔案系統大小。這個範例假設 VM 映像檔不支援自動根分割區和檔案系統大小調整。
使用
parted調整根分區大小。舉例來說,下列指令會將裝置的分區 1 擴充至最大可能大小:在裝置上開啟「
parted」:sudo parted /dev/DEVICE_NAME
在提示中輸入:
(parted) resizepart在
Partition number?提示字元中輸入:1
在
Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?提示字元中輸入:Yes
在
End?提示中輸入100%
在
(parted)提示字元中輸入:(parted) quit
使用
parted -l查看新的分區資料表。sudo parted -l /dev/DEVICE_NAME Model: nvme_card-pd (nvme) Disk /dev/DEVICE_NAME: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 14 1049kB 4194kB 3146kB bios_grub 15 4194kB 134MB 130MB fat16 boot, esp 1 134MB 21.5GB 21.3GB ext4擴充檔案系統:
如果您使用的是
ext4,請使用resize2fs指令:sudo resize2fs /dev/DEVICE_NAME
如果您使用的是
xfs,請使用xfs_growfs指令:sudo xfs_growfs -d /
如果您使用 btrfs,請使用
btrfs指令:sudo btrfs filesystem resize max /
如為非開機資料磁碟,請調整磁碟上的檔案系統大小。
如果您使用的是
ext4,請使用resize2fs指令擴充檔案系統:sudo resize2fs /dev/DATA_DEVICE_NAME
將
DATA_DEVICE_NAME替換為資料磁碟的裝置名稱。在本範例中,裝置名稱為/dev/nvme0n2。如果您使用的是
xfs,請使用xfs_growfs指令擴充檔案系統:sudo xfs_growfs MOUNT_DIR
如果您使用 btrfs,請使用
btrfs指令擴充檔案系統:sudo btrfs filesystem resize max MOUNT_DIR
將 MOUNT_DIR 替換為裝置的掛接點。您可以在
lsblk指令輸出的MOUNTPOINT欄中找到掛接點。
使用
df指令確認檔案系統已擴充。例如:df -h /dev/DATA_DEVICE_NAME Filesystem Size Used Avail Use% Mounted on /dev/DATA_DEVICE_NAME 118G 70M 118G 1% MOUNT_DIR
Windows VM
使用 Windows 磁碟管理公用程式,在 Windows 執行個體上調整分區大小。
前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
在擁有調整過大小的磁碟之執行個體旁邊,按一下「RDP」RDP按鈕。瀏覽器會開啟對於執行個體的遠端桌面協定連線。
在 Windows「開始」按鈕上按一下滑鼠右鍵,然後選取「磁碟管理」以開啟磁碟管理工具。
在 Powershell 中執行下列指令,顯示磁碟分割類型:
在「Partition Style」欄下方,如果值為 MBR,則磁碟具有 MBR 分區類型。這表示這類磁碟的大小上限為 2 TB。Get-Disk
重新整理「Disk Management」(磁碟管理) 工具,讓其識別區域永久磁碟上的其他空間。在「Disk Management」(磁碟管理) 視窗頂端,按一下「Action」(動作),然後選取「Refresh」(重新整理)。
在您調整過大小的磁碟中的已格式化分區上按一下滑鼠右鍵,然後選取「延伸磁碟區」。
按照「Extend Volume Wizard」(延伸磁碟區精靈) 內的操作說明,延伸現有分區以包括其他磁碟空間。如果現有分區採用 NTFS 格式化,最大分區大小受限於其叢集大小設定。
結束精靈並完成磁碟區格式化作業後,請檢查已連接磁碟清單上的
Status資料欄,確認新磁碟的狀態為Healthy。
完成這項程序後,不必重新啟動 VM。您現在可以使用新增的磁碟空間儲存資料。
後續步驟
- 進一步瞭解 Hyperdisk。
- 瞭解如何分析 Hyperdisk 磁碟區目前的 IOPS 級別。