新增或調整區域永久磁碟大小

本頁面說明如何調整區域永久開機磁碟與次要 (非開機) 區域永久磁碟的大小。本頁面還說明如何在執行個體上新增及格式化新的區域永久磁碟。

您僅能將區域永久磁碟的容量調大,而無法縮減區域永久磁碟的大小。

最佳做法是使用快照進行磁碟備份,以免不慎遺失資料。

區域永久磁碟做為標準硬碟 (HDD)固態硬碟 (SSD) 使用。如需區域永久磁碟與可用永久磁碟類型的詳細說明,請參閱永久磁碟總覽。

Compute Engine 會管理區域永久磁碟背後的硬體,讓您能夠新增磁碟與調整其大小,無須處理分割或備援功能。當需要更多空間時,您可以連接一個大型的次要磁碟,然後調整其大小;或連接多個小型磁碟,然後將資料分割至多個磁碟區中。

除非您從映像檔建立磁碟,否則新的區域永久磁碟一開始並沒有資料或檔案系統。您將磁碟連接至執行個體之後,必須自行格式化這些磁碟。

如果區域標準永久磁碟或區域 SSD 永久磁碟不符合所有的效能或彈性需求,您可以新增其他儲存選項至執行個體。

您建立的每個永久磁碟都有一個 4 KB 大小的預設實體區塊。如果資料庫應用程式需要更大的實體區塊,您可以在建立磁碟時選取 16 KB。此功能不適用於開機磁碟。如要變更現有磁碟的實體區塊大小,您必須為磁碟建立快照,然後建立新的磁碟。您無法直接編輯永久磁碟的實體區塊大小。

事前準備

將區域永久磁碟新增至執行個體

建立區域標準永久磁碟或區域 SSD 永久磁碟,並將磁碟連接至現有執行個體。如果您沒有任何執行個體,請建立並啟動新的執行個體。在建立執行個體時,您最多可以連接 127 個次要非開機區域永久磁碟,讓您將應用程式、資料檔案、資料庫與記錄儲存至個別的磁碟區中。每個執行個體的總連接容量為 257 TB。如要瞭解如何使用大型磁碟區來提高效能,請參閱更大的邏輯磁碟區效能一文。

透過 Google Cloud Platform Consolegcloud 工具API 建立和連接區域永久磁碟。

主控台

Google Cloud Platform Console 中建立和連接區域永久磁碟:

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 勾選方塊,然後按一下要新增磁碟的執行個體名稱。
  3. 在「VM instance details」(執行個體詳細資料) 頁面的頂端,按一下 [Edit] (編輯)。
  4. 在「Additional disks」(其他磁碟) 下方,點選 [Add new disk] (增加新磁碟)。
  5. 指定磁碟的名稱,設定磁碟的屬性,然後指定磁碟的 [Source type] (來源類型)

  6. 您也可以選取 [Physical block size (KB)] (實體區塊大小 (KB))。磁碟預設大小為 4 KB。不過,您可以從下拉式清單中選取 16 KB 來增加磁碟的實體區塊大小。

  7. 按一下[Done] (完成) 即可完成磁碟的設定。

  8. 在「VM instance details」(VM 執行個體詳細資料) 頁面底部,按一下 [Save] (儲存) 將您的變更套用到執行個體,並增加新磁碟。

  9. 當您建立新磁碟或將新磁碟連接至執行個體之後,必須格式化和掛接磁碟,好讓作業系統能使用可用的儲存空間。

gcloud

使用 gcloud 工具建立和連接區域永久磁碟:

  1. 使用 gcloud beta compute disks create 指令建立區域永久磁碟。如果您需要區域 SSD 永久磁碟以獲得額外的總處理量或 IOPS,請加上 --type 旗標並指定 pd-ssd。您也可以新增 --physical-block-size 旗標以設定實體區塊大小。

    gcloud beta compute disks create [DISK_NAME] /
        --size [DISK_SIZE] /
        --type [DISK_TYPE] /
        --physical-block-size [BLOCK_SIZE]
    

    其中:

    • [DISK_NAME] 是新磁碟的名稱。
    • [DISK_SIZE] 是新磁碟的大小 (以 GB 為單位)。可接受的大小範圍為 10 到 65,536 GB (含首尾),調整的單位為 1 GB。
    • [DISK_TYPE] 的類型是永久磁碟,可能是 pd-standardpd-ssd
    • [BLOCK_SIZE]4096 (4 KB) 或 16384 (16 KB)。4 KB 是預設的實體區塊大小。16 KB 是增加的實體區塊大小。

  2. 建立磁碟之後,請將其連接至任何執行中或已停止的執行個體。使用 gcloud compute instances attach-disk 指令:

    gcloud compute instances attach-disk [INSTANCE_NAME] /
        --disk [DISK_NAME]
    

    其中:

    • [INSTANCE_NAME] 是您要在其中新增區域永久磁碟的執行個體名稱。
    • [DISK_NAME] 是要連接至執行個體的新磁碟名稱。

    建立並連接新磁碟到執行個體後,必須格式化和掛接磁碟,使作業系統能使用可用的儲存空間。

  3. 使用 gcloud beta compute disks describe 指令查看磁碟說明。回應會包含磁碟的實體區塊大小。

API

  1. 在 API 中,使用 disks.insert 方法建構 POST 要求以建立區域永久磁碟。請包含 namesizeGbtype 屬性。如要將這個新磁碟建立為空白且未格式化的非開機磁碟,請勿為這個磁碟指定來源映像檔或來源快照。您也可以包含 physicalBlockSizeBytes 屬性以設定實體區塊大小。

    POST https://compute.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/disks
    
    {
     "name": "[DISK_NAME]",
     "sizeGb": "[DISK_SIZE]",
     "type": "zones/[ZONE]/diskTypes/[DISK_TYPE]"
     "physicalBlockSizeBytes": "[BLOCK_SIZE]"
    }
    

    其中:

    • [PROJECT_ID] 是您的專案 ID。
    • [ZONE] 是執行個體和新磁碟的所在區域。
    • [DISK_NAME] 是新磁碟的名稱。
    • [DISK_SIZE] 是新磁碟的大小 (以 GB 為單位)。可接受的大小範圍為 10 到 65,536 GB (含首尾),調整的單位為 1 GB。
    • [DISK_TYPE] 是永久磁碟的類型,可以是 pd-standardpd-ssd
    • [BLOCK_SIZE]4096 (4 KB) 或 16384 (16 KB)。4 KB 是預設的實體區塊大小。16 KB 是較大的實體區塊大小。

  2. compute.instances.attachDisk 方法建構 POST 要求,並包含您剛建立的區域永久磁碟的網址:

    POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk
    
    {
     "source": "/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]"
    }
    

    其中:

    • [PROJECT_ID] 是您的專案 ID。
    • [ZONE] 是執行個體和新磁碟的所在區域。
    • [INSTANCE_NAME] 是要新增永久磁碟的執行個體名稱。
    • [DISK_NAME] 是新磁碟的名稱。

建立並連接新磁碟到執行個體後,必須格式化和掛接磁碟,使作業系統能使用可用的儲存空間。

格式化和掛接區域永久磁碟

新的區域永久磁碟一開始並沒有資料或檔案系統。您將磁碟連接至執行個體之後,必須自行格式化這些磁碟。在 Linux 執行個體與 Windows 執行個體上的格式化程序不同。

Linux 執行個體


在 Linux 執行個體上格式化和掛接新磁碟。您可以使用需要的任何分區格式和設定,但我們建議使用沒有磁區分割表的單一 ext4 檔案系統。如果您需要更多儲存空間,可以稍後再調整磁碟大小

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 按一下具有新連接磁碟的執行個體旁邊的 [SSH] 按鈕。瀏覽器會開啟對於執行個體的終端機連線。

  3. 在終端機中,使用 lsblk 指令列出連接至執行個體的磁碟,並搜尋您要格式化和掛接的磁碟。

    $ sudo lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   10G  0 disk
    └─sda1   8:1    0   10G  0 part /
    sdb      8:16   0  250G  0 disk
    

    在本範例中,sdb 是新的區域永久磁碟的裝置 ID。

  4. 格式化磁碟。您可以使用需要的任何檔案格式,但我們建議使用沒有磁區分割表的單一 ext4 檔案系統。日後如果調整區域永久磁碟的大小,就能調整檔案系統的大小,而不需要修改磁碟分區。

    使用 mkfs 工具格式化磁碟。此指令會刪除指定磁碟上的所有資料,所以請確認您已正確指定磁碟裝置。為獲得最高的磁碟效能,請在 -E 旗標中使用建議的格式化選項。由於不需要在這個次要磁碟上保留根目錄空間,所以請指定 -m 0 以使用全部的可用磁碟空間。

    $ sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/[DEVICE_ID]
    

    其中 [DEVICE_ID] 是您要格式化的區域永久磁碟的裝置 ID。本範例指定 sdb,以格式化沒有磁區分割表的整個磁碟。

  5. 建立做為新磁碟掛接點的目錄。您可以使用任何想要的目錄。以下範例會在 /mnt/disks/ 下建立一個目錄。

    $ sudo mkdir -p /mnt/disks/[MNT_DIR]
    

    其中:[MNT_DIR] 是您要掛接區域永久磁碟的所在目錄。

  6. 使用掛接工具將磁碟掛接至執行個體,並啟用 discard 選項:

    $ sudo mount -o discard,defaults /dev/[DEVICE_ID] /mnt/disks/[MNT_DIR]
    

    其中:

    • [DEVICE_ID] 是您要掛接的區域永久磁碟的裝置 ID。
    • [MNT_DIR] 是您要掛接區域永久磁碟的所在目錄。
  7. 設定裝置上的讀取與寫入權限。在此範例中,授予所有使用者對裝置的寫入存取權。

    $ sudo chmod a+w /mnt/disks/[MNT_DIR]
    

    其中:[MNT_DIR] 是您已掛接區域永久磁碟的所在目錄。

或者,您可將區域永久磁碟新增至 /etc/fstab 檔案,這樣裝置就會在執行個體重新啟動時再次自動掛接。

  1. 建立您目前 /etc/fstab 檔案的備份。

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. 使用 blkid 指令搜尋區域永久磁碟的 UUID。您格式化磁碟時,系統會產生此 UUID。使用 UUID 來掛接區域永久磁碟,因為在系統之間移動磁碟時,UUID 不會改變。

    $ sudo blkid /dev/[DEVICE_ID]
    
    /dev/[DEVICE_ID]: UUID="[UUID_VALUE]" TYPE="ext4"
    

    其中:

    • [DEVICE_ID] 是您要自動掛接的區域永久磁碟的裝置 ID。如果您在磁碟上建立了磁區分割表,請指定您要掛接的分區。
    • [UUID_VALUE] 是必須包含在 /etc/fstab 檔案中的區域永久磁碟的 UUID。
  3. 以文字編輯器開啟 /etc/fstab 檔案,並建立包含 UUID 的項目。指定 nofail 選項以允許系統啟動,即使此永久磁碟無法使用也允許。例如:

    UUID=[UUID_VALUE] /mnt/disks/[MNT_DIR] ext4 discard,defaults,nofail 0 2
    

    其中:

    • [UUID_VALUE] 是必須包含在 /etc/fstab 檔案中的區域永久磁碟的 UUID。
    • [MNT_DIR] 是您已掛接區域永久磁碟的所在目錄。
    • [NOFAIL_OPTION] 變數會指定作業系統在開機時若無法掛接區域永久磁碟,所應執行的動作。如要允許系統即使無法掛接區域永久磁碟時也要繼續開機,請指定此選項。大部分的發行版本請指定 nofail 選項。若為 Ubuntu 12.04 或 Ubuntu 14.04,請指定 nobootwait 選項。

    或者,可用單一指令完成此步驟。舉例來說,下列指令會在 /etc/fstab 中建立項目,使用其 UUID 在 /mnt/disks/disk-1 掛接 /dev/sdb 區域永久磁碟。

    $ echo UUID=`sudo blkid -s UUID -o value /dev/sdb` /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
    
    UUID=c994cf26-1853-48ab-a6a5-9d7c0250fed4 /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2
    
    
  4. 使用 cat 指令驗證 /etc/fstab 項目是否正確:

    $ cat /etc/fstab
    
    LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
    UUID=d761bdc5-7e2a-4529-a393-b9aefdb623b6 /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2
    
    

如果您卸離此區域永久磁碟,或從開機磁碟為此執行個體建立快照,請編輯 /etc/fstab 檔案,並移除區域永久磁碟的項目。即使已有 nofail 選項,也請將 /etc/fstab 檔案與連結至執行個體的裝置保持同步處理,並在建立開機磁碟快照前,或在卸離區域永久磁碟時移除這些項目。

Windows 執行個體


使用 Windows 磁碟管理,即可在 Windows 執行個體上格式化和掛接新磁碟。

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 按一下擁有調整過大小的磁碟之執行個體旁邊的 [RDP] 按鈕。瀏覽器會開啟對於執行個體的遠端桌面協定連線。

  3. 在 Windows [Start] (開始) 按鈕上按一下滑鼠右鍵,然後選取 [磁碟管理]

    於 Windows [Start] (開始) 按鈕的右鍵功能表,選取 [磁碟管理]。

  4. 如果您尚未初始化區域永久磁碟,「磁碟管理」會提示您選取新磁碟的分區配置。選取 [GPT],然後按一下 [OK] (確定)

    在磁碟初始化視窗中,選取磁碟分區配置。

  5. 磁碟初始化後,請在未配置的磁碟空間上按一下滑鼠右鍵,然後選取 [New Simple Volume] (新增簡單磁碟區)

    以已連接的磁碟建立新簡單磁碟區。

  6. 請按照「New Simple Volume Wizard」(新增簡單磁碟區精靈) 中的操作說明,設定新的磁碟區。您可以使用任何想要的磁碟分區格式,但在此範例中請選取 NTFS。此外,也請勾選 [Perform a quick format] (執行快速格式化),以加速執行格式化程序。或者,在「Allocation unit size」(配置單位大小) 欄位中設定叢集大小。叢集大小會限制分區的大小上限。如果您日後想要嘗試調整區域永久磁碟與此分區的大小,請記住這點。

    在「New Simple Volume Wizard」(新增簡單磁碟區精靈) 中,選取磁碟分區格式類型。

  7. 結束精靈並完成磁碟區格式化作業後,請查看連接磁碟清單中的 Status 資料欄,確認新磁碟的狀態為 Healthy

    確認磁碟已連線且處於健康狀態。

您現在可以將檔案寫入至區域永久磁碟。

調整區域永久磁碟的大小

您的執行個體需要更多儲存空間時,可以調整區域永久磁碟的大小;只有在需要將資料分割到專屬分區時,才需要連接多個次要磁碟

您可隨時調整磁碟大小,無論磁碟是否連接執行中的執行個體。

調整磁碟大小不應刪除或修改磁碟資料,但建議您先為磁碟建立快照,再進行任何變更。

主控台

  1. 前往「Disks」(磁碟) 頁面,查看專案中的區域永久磁碟清單。

    前往「Disks」(磁碟) 頁面

  2. 按一下您要調整大小的磁碟名稱。
  3. 在磁碟詳細資料頁面的頂端,按一下 [Edit] (編輯)
  4. 在「Size」(大小) 欄位中輸入磁碟的新大小。具有 MBR 磁區分割表的開機磁碟與次要磁碟大小的調整上限是 2 TB。
  5. 在磁碟詳細資料頁面底部,按一下 [Save] (儲存),將您的變更套用到磁碟。
  6. 調整磁碟大小後,必須調整檔案系統的大小,使作業系統能存取其他空間。

gcloud


gcloud工具中,使用 disks resize 指令並以 GB 為單位的需要磁碟大小來指定 --size 旗標。

gcloud compute disks resize [DISK_NAME] --size [DISK_SIZE]

其中:

  • [DISK_NAME] 是您要調整大小的磁碟名稱。
  • [DISK_SIZE] 是磁碟的新大小,單位為 GB。具有 MBR 磁區分割表的開機磁碟與次要磁碟的大小調整上限是 2 TB。

調整磁碟大小後,必須調整檔案系統的大小,使作業系統能存取其他空間。

API


在 API 中,建構對 compute.disks.resize 方法的 POST 要求。在要求主體中指定 sizeGb 參數,並將該參數設定為您要的磁碟大小,單位為 GB。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/resize

{
 "sizeGb": "[DISK_SIZE]"
}

其中:

  • [PROJECT_ID] 是您的專案 ID。
  • [ZONE] 是您磁碟所在的區域。
  • [DISK_NAME] 是要調整大小的磁碟名稱。
  • [DISK_SIZE] 是磁碟的新大小,單位為 GB。具有 MBR 磁區分割表的開機磁碟與次要磁碟的大小調整上限是 2 TB。

調整磁碟大小後,必須調整檔案系統的大小,使作業系統能存取其他空間。

調整區域永久磁碟上檔案系統與分區的大小

當您調整區域永久磁碟的大小之後,您必須設定磁碟上的檔案系統,才能使用額外的磁碟空間。如果磁碟具有磁區分割表,例如開機磁碟,就必須加大分區,並調整該分區上檔案系統的大小。如果區域永久磁碟只擁有一個檔案系統,沒有磁區分割表,您可以只調整檔案系統的大小。

或者,採用最新版公開映像檔的執行個體,能在系統重新開機後自動調整它們的分區與檔案系統的大小。SUSE Linux Enterprise Server (SLES) 公開映像檔是唯一不支援此功能的映像檔。

在修改區域永久磁碟上的檔案系統之前,請先建立快照

Linux 執行個體


在 Linux 執行個體上連線至執行個體,並手動調整分區與檔案系統的大小,以使用您新增的磁碟空間。完成此手動程序後,無需重新啟動執行個體。

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 按一下具有新連接磁碟的執行個體旁邊的 [SSH] 按鈕。瀏覽器會開啟對於執行個體的終端機連線。

  3. 識別具有您要調整大小的檔案系統與分區的磁碟。如果磁碟已掛接,您可以使用 df 指令和 lsblk 指令來比較檔案系統的大小,並找出磁碟 ID。在本範例中,/dev/sda1 分區位於大小經過調整的 20 GB 開機磁碟上,但是磁區分割表與檔案系統僅為作業系統提供 9.7 GB 空間。此外,/dev/sdb 次要磁碟沒有磁區分割表,但是該磁碟上的檔案系統僅為作業系統提供 250 GB 空間。

    $ sudo df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1       9.7G  1.2G  8.5G  12% /
    /dev/sdb        250G   60M  250G   1% /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    在此範例中,df 指令顯示 /dev/sda1 分區做為根檔案系統掛接,/dev/sdb 磁碟則在 /mnt/disks/disk-1 做為次要磁碟掛接。

    如果您的磁碟上有寫入的檔案系統,並且沒有磁區分割表,可以略過說明如何安裝 growpart 公用程式及如何擴大分區的步驟 4。

  4. 如果您要調整大小的磁碟具有磁區分割表,在調整檔案系統的大小之前,就必須加大分區。使用 growpart 調整映像檔分區大小。

    1. 如要在 Debian 伺服器上安裝 growpart,請執行:

      $ sudo apt -y install cloud-guest-utils
    2. 如要在 CentOS 伺服器上安裝 growpart,請執行:

      $  sudo yum -y install cloud-utils-growpart

      如需安裝後使用此工具的說明,請執行 growpart -h

    3. 安裝 growpart 工具後,您就可以擴大分區。

      $ sudo growpart /dev/[DEVICE_ID] [PARTITION_NUMBER]

      其中 [DEVICE_ID] 是裝置 ID,[PARTITION_NUMBER] 是該裝置的分區號碼。例如 sudo growpart /dev/sda 1,請注意裝置 ID 與分區號碼之間有一個空格。

  5. 擴充磁碟或分區上的檔案系統,以使用新增的空間。

    如果您使用的是 ext4,請使用 resize2fs 指令。如果您加大磁碟上的分區,請指定分區。如果磁碟沒有磁區分割表,請僅指定磁碟 ID。

    $ sudo resize2fs /dev/[DEVICE_ID][PARTITION_NUMBER]

    其中 [DEVICE_ID] 是裝置 ID,[PARTITION_NUMBER] 是您調整檔案系統大小所在裝置的分區號碼。例如,/dev/sda 指向磁碟,/dev/sda1 指向該磁碟上的第一個分區。

    如果您使用的是 xfs,請使用 xfs_growfs 指令擴充檔案系統,並指定掛接點,而不是裝置 ID:

    $ sudo xfs_growfs /mnt/disks/disk-1

    disk-1 是掛接點。

  6. 您也可以使用 df 指令來確認檔案系統已調整大小。

    $ df -h /dev/[DEVICE_ID]
    
    Filesystem        Size  Used Avail Use% Mounted on
    /dev/[DEVICE_ID]  493G   70M  492G   1% /mnt/disks/disk-1
    

    其中 [DEVICE_ID] 是您要檢視檔案系統設定所在磁碟的裝置 ID。

Windows 執行個體


使用 Windows 磁碟管理工具,在 Windows 執行個體上調整分區大小。

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 按一下擁有調整過大小的磁碟之執行個體旁邊的 [RDP] 按鈕。瀏覽器會開啟對於執行個體的遠端桌面協定連線。
  3. 在 Windows [Start] (開始) 按鈕上按一下滑鼠右鍵,然後選取 [Disk Management] (磁碟管理) 以開啟磁碟管理工具。

    於 Windows [Start] (開始) 按鈕的右鍵功能表,選取 [Windows Disk Manager] (Windows 磁碟管理員) 工具。

  4. 重新整理「Disk Management」(磁碟管理) 工具,讓其識別區域永久磁碟上的其他空間。在「Disk Management」(磁碟管理) 視窗頂端,按一下 [Action] (動作),然後選取 [Refresh] (重新整理)

    按一下 [Action] (動作) 選單,選取 [Refresh] (重新整理) 以更新「Disk Management」(磁碟管理) 工具內的永久磁碟資訊。

  5. 在您調整過大小的磁碟中的已格式化分區上按一下滑鼠右鍵,然後選取 [Extend Volume] (延伸磁碟區)

    在磁碟的已格式化部分按一下滑鼠右鍵,選取 [Extend Volume] (延伸磁碟區) 選項。

  6. 按照「Extend Volume Wizard」(延伸磁碟區精靈)內的操作說明,延伸現有分區以包括其他磁碟空間。如果現有分區採用 NTFS 格式化,最大分區大小受限於其叢集大小設定

  7. 結束精靈並完成磁碟區格式化作業後,請檢查已連接磁碟清單上的 Status 資料欄,確認新磁碟的狀態為 Healthy

    查看 Windows 辨識的磁碟清單,確認執行個體已連線且處於健康狀態。

您現在可以使用其他區域永久磁碟空間來儲存資料。

復原無法存取的執行個體或整個開機磁碟

如果執行個體已耗盡磁碟空間,或者沒有執行 Linux 訪客環境,那麼即使您已增加背後支持的永久磁碟的大小,也無法自動調整根檔案系統的大小。如果無法連線至執行個體,或者開機磁碟已滿且無法調整其大小,那麼您必須建立一個新的執行個體,然後從快照重新建立開機磁碟來調整其大小。

您必須知道要重新建立的開機磁碟的大小。請在 Compute Engine 控制台上執行查詢作業,來確認磁碟大小。

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

    1. 勾選您無法連線的執行個體旁邊的方塊。
    2. 按一下執行個體名稱,開啟「VM instance details」(VM 執行個體詳細資料) 頁面。
    3. 按一下「VM instances details」(VM 執行個體詳細資料) 頁面頂端的 [Stop] (停止),以停止執行個體。
    4. 向下捲動至「Boot Disk」(開機磁碟) 部分,記下開機磁碟的大小。
  2. 前往「Disks」(磁碟) 頁面,查看專案中的區域永久磁碟清單。

    前往「Disks」(磁碟) 頁面

    1. 從清單中選取該執行個體的開機磁碟。
    2. 按一下 [Create Snapshot] (建立快照),以建立磁碟的快照。
  3. 前往 Google Cloud Platform Console 的「Snapshots」(快照) 頁面。
    前往「SNAPSHOTS」(快照) 頁面
    1. 輸入快照名稱
    2. 從「Source disk」(來源磁碟) 下拉式選單中選擇磁碟。
    3. 輸入磁碟的詳細資料。
  4. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  5. 輸入執行個體的詳細資料。
  6. 變更開機磁碟。
    1. 選取快照
    2. 選取開機磁碟快照。
    3. 選取開機磁碟類型
    4. 輸入磁碟的新大小。
    5. 按一下 [Select] (選取)
  7. 按一下 [Create] (建立)
  8. 掛接及格式化磁碟。

設定區域永久磁碟的自動刪除狀態

相關虛擬機器執行個體遭刪除時,您可以自動刪除讀取/寫入區域永久磁碟。這項行為受到特定已連接區域永久磁碟之虛擬機器執行個體上的 autoDelete 屬性控制,而且可隨時更新。同樣地,您也可將 autoDelete 值標示為「false」,防止區域永久磁碟遭到刪除。

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 勾選與磁碟相關聯的執行個體旁邊的方塊。
  3. 按一下執行個體名稱。
  4. 「VM instance details」(VM 執行個體詳細資料) 頁面隨即顯示。
  5. 按一下頁面頂端的 [Edit] (編輯)
  6. 捲動至「Additional disks」(其他磁碟)部分。
  7. 按一下鉛筆圖示來編輯磁碟的刪除規則
  8. 按一下 [Done] (完成) 來儲存變更。
  9. 按一下 [Save] (儲存) 來更新執行個體。

gcloud


如要設定區域永久磁碟的自動刪除狀態,請使用 gcloud compute instances set-disk-auto-delete 指令:

gcloud compute instances set-disk-auto-delete example-instance \
    [--auto-delete|--no-auto-delete] \
     --disk example-disk

API


如果您使用的是 API,請對以下 URI 發出 POST 要求:

https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/example-instance/setDiskAutoDelete?deviceName=deviceName,autoDelete=true

如果您使用的是用戶端程式庫,請使用 instances().setDiskAutoDelete 方法:

def setAutoDelete(gce_service, auth_http):
  request = gce_service.instances().setDiskAutoDelete(project=example-project, zone=us-central1-f, deviceName=my-new-device, instance=example-instance, autoDelete=True)
  response = request.execute(http=auth_http)

  print response

在多個執行個體之間共用區域永久磁碟

在唯讀模式中可將非開機永久磁碟連接至一個以上的虛擬機器執行個體,讓您在多個執行個體之間共用靜態資料。在一個永久磁碟上的多個執行個體之間共用靜態資料,成本比為個別執行個體將資料複製到專屬磁碟來得便宜。

如果您將永久磁碟連接到多個執行個體,所有執行個體必須在唯讀模式中連接永久磁碟。您無法在讀寫模式中將永久磁碟連接到多個執行個體。如果您需要在多個執行個體之間共用動態儲存空間,可以使用下列其中一個選項:

如果您擁有的永久磁碟中有要在多個執行個體之間共用的資料,請將其從任何讀寫執行個體卸離,並將其連接至唯讀模式中的一個或多個執行個體。

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面,查看您專案中的執行個體清單。

    前往「Instances」(執行個體) 頁面

  2. 在「Name」(名稱) 資料欄中,按一下您要連接磁碟的執行個體名稱。「VM instance details」(VM 執行個體詳細資料) 頁面隨即開啟。
  3. 在執行個體詳細資料頁面的頂端,按一下 [Edit] (編輯)
  4. 在「Additional disks」(其他磁碟) 部分,按一下以下其中一個選項:
    1. [Add a disk] (新增磁碟),以唯讀模式將磁碟新增至執行個體。
    2. [Attach existing disk] (連接現有的磁碟),以選擇一個現有磁碟並以唯讀模式將它連接至您的執行個體。
  5. 指定磁碟的其他選項。
  6. 按一下 [Done] (完成) 以套用變更。
  7. 在「VM instance details」(VM 執行個體詳細資料) 頁面底部,按一下 [Save] (儲存) 將變更套用至執行個體。
  8. 連線至執行個體並掛接磁碟。
  9. 重複此程序,以唯讀模式新增磁碟到其他執行個體。

gcloud

gcloud 工具中,使用 compute instances attach-disk 指令,並指定具有 ro選項的 --mode 旗標。

gcloud compute instances attach-disk [INSTANCE_NAME] \
    --disk [DISK_NAME] \
    --mode ro

其中:

  • [INSTANCE_NAME] 是您要連接區域永久磁碟的執行個體名稱。
  • [DISK_NAME] 是您要連接的磁碟名稱。

連接磁碟後,連線至執行個體並掛接磁碟。

為您要以唯讀模式新增磁碟的每一個執行個體重複此指令。

API

在 API 中,建構對 compute.instances.attachDisk 方法的 POST 要求。在要求主體中,將 mode 參數指定為 READ_ONLY

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk

{
 "source": "zones/[ZONE]/disks/[DISK_NAME]",
 "mode": "READ_ONLY"
}

其中:

  • [INSTANCE_NAME] 是您要連接區域永久磁碟的執行個體名稱。
  • [PROJECT_ID] 是您的專案 ID。
  • [ZONE] 是您磁碟所在的區域。
  • [DISK_NAME] 是您要連接的磁碟名稱。

連接磁碟後,連線至執行個體並掛接磁碟。

為您要以唯讀模式新增磁碟的每一個執行個體重複此要求。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件