將開機磁碟映像檔匯入至 Compute Engine

如要從實體資料中心、本機工作站的虛擬機器或者執行於其他雲端平台的虛擬機器將開機磁碟映像檔匯入至 Compute Engine,建議您使用虛擬磁碟匯入工具,自動執行本指南中的所有步驟。

如果您不想使用自動化工具,則可按照本指南中的逐步說明手動操作。

這種映像檔匯入程序一次只能匯入一個磁碟,而本指南將著重於如何匯入開機磁碟映像檔。

只有當您無法建立或遷移可在 Compute Engine 公開映像檔上執行的應用程式時,才能匯入您現有的開機磁碟。公開映像檔已經過設定,可在 Compute Engine 環境中執行,因此您可以在這些映像檔上執行應用程式,而無需擔心系統啟動載入程式和作業系統的設定。然而在下列情況下,您可能需要匯入您自己的開機磁碟:

  • 我們未提供您應用程式適用的作業系統公開映像檔。
  • 您已有一組用來在其他雲端平台上建立虛擬機器的基本映像檔。
  • 將應用程式程式碼遷移至其中一個公開映像檔所需的工作量大於完成開機磁碟映像檔匯入程序所需的工作量。

或者,您也可讓合作夥伴提供的服務協助您遷移虛擬機器。詳情請參閱將 VM 遷移至 Compute Engine 一文。

總覽

如要將開機磁碟映像檔匯入至 Compute Engine,請按照下列程序操作:

  1. 規劃您的匯入路徑。上傳開機磁碟映像檔前,您必須確定映像檔的來源路徑;映像檔在 Compute Engine 環境中開始執行後,您也必須知道如何連結至該映像檔。
  2. 準備您的開機磁碟,讓磁碟可以在 Compute Engine 環境中啟動,以便您在啟動後進行存取。
  3. 建立及壓縮開機磁碟映像檔。
  4. 將映像檔上傳至 Google Cloud Storage,並將映像檔匯入至 Compute Engine 做為自訂映像檔
  5. 使用匯入的映像檔建立虛擬機器執行個體,並確認該執行個體已正常啟動。
  6. 如果映像檔無法成功啟動,請將開機磁碟映像檔掛接至其他執行個體並重新進行設定,即可排解這個問題。
  7. 將映像檔最佳化並安裝 Linux 訪客環境,藉此讓您匯入的作業系統映像檔可與中繼資料伺服器進行通訊,並運用其他 Compute Engine 功能。

需求

現有的開機磁碟必須符合下列需求條件,您才能將開機磁碟匯入至 Compute Engine:

  • 如果您建立了自訂作業系統核心,該核心必須符合硬體與核心設定需求。多數 Linux 發行版已符合這些需求,因此這項條件僅適用於自行建立自訂作業系統並在 Compute Engine 上執行的進階使用者。
  • 開機磁碟不得超過 2048GB (2TB)。
  • 您匯入的開機磁碟必須具備可用的 MBR 磁碟分區表,或 GPT 磁碟分區表與 MBR 系統啟動載入程式結合的混合配置。
  • 您可以針對開機磁碟主要分區選擇您偏好的格式,只要開機磁碟可透過系統啟動載入程式正常啟動即可。
  • 開機磁碟上的系統啟動載入程式不可包含 quietrhgbsplashimage= 核心指令列引數。Compute Engine 不支援在啟動時顯示啟動畫面,因此您可以在系統啟動載入程式設定步驟中將相關設定值從 GRUB 設定檔中移除。

您匯入的映像檔必須符合下列需求條件:

您可以匯入任何您偏好的作業系統開機磁碟,但部分系統的設定方式比其他系統更加簡單,可輕鬆與 Compute Engine 環境結合。已通過本指南測試的作業系統如下:

  • Debian 7 和 Debian 8
  • RHEL/CentOS 6
  • openSUSE 13.x
  • Ubuntu 12.04、14.04 和 16.04

可能需要額外設定步驟而本指南未提及的作業系統如下:

  • Debian 6 以下版本
  • RHEL/CentOS 7
  • RHEL/CentOS 5 以下版本
  • Ubuntu 10.04 以下版本

匯入映像檔的費用

在您開始之前,請先瞭解匯入程序的費用。如要使用網路輸入將開機磁碟映像檔上傳至 Google Cloud Storage,以及匯入該映像檔做為 Compute Engine 自訂映像檔,您都不需支付任何費用。然而,匯入程序中部分的特定步驟會產生下列費用:

  • 在 Google Cloud Storage Standard 值區中暫時儲存已壓縮映像檔的費用。在您匯入檔案做為自訂 Compute Engine 映像檔前,必須使用臨時 Google Cloud Storage 值區保留您的檔案。完成匯入程序後,您就可以移除值區。
  • 將自訂映像檔匯入至 Compute Engine 後儲存自訂映像檔的費用。
  • 從現有的資料中心、網路服務供應商或現有的雲端服務輸出資料時可能產生的費用。即使您已壓縮映像檔,映像檔仍可能非常大,因此當您將這些檔案複製到 Compute Engine 時,部分平台可能會收取巨額的輸出費用。
  • Compute Engine 永久磁碟虛擬機器執行個體 (可讓您在匯入映像檔至 Compute Engine 後對映像檔進行設定) 的費用。

規劃及準備您的匯入路徑

匯入磁碟的方法取決於您要遷移至 Compute Engine 的現有系統設定。您需要可以建立及壓縮開機磁碟映像檔的系統,以及將該映像檔上傳至 Google Cloud Storage 的系統。規劃匯入路徑時,請注意下列事項:

  • 映像檔匯入路徑會要求您於作業系統正在運作的環境中設定開機磁碟。這個程序可能會導致開機磁碟無法在 Compute Engine 以外的環境中啟動。如果您要將系統匯入至 Compute Engine,就必須負責確保您不會遺失磁碟上的資料,或造成運作中的商業應用程式服務中斷。
  • 找出您現有的系統存取設定,然後規劃將系統匯入至 Compute Engine 後您要如何存取系統。
    • 如果系統目前已有使用者登入或 SSH 設定,您可以只設定系統啟動載入程式,之後再設定讓映像檔在 Compute Engine 上以最高效能執行。您可以透過現有 SSH 設定或互動式序列主控台中的使用者直接登入功能,存取執行個體。
    • 如果您的系統目前沒有使用者登入或 SSH 設定,您必須先設定開機磁碟,開機磁碟在 Compute Engine 上啟動後才能存取執行個體。
  • 匯入程序可能需要幾小時或幾天才會完成,實際時間取決於開機磁碟的大小和網路連線的速度。
  • 您建立及壓縮開機磁碟映像檔的系統必須具備足夠的儲存空間,才能在儲存裝置 (而不是開機磁碟本身) 上建立映像檔。一般來說,您的映像檔和 tar.gz 檔案會使用開機磁碟本身 2 至 3 倍的儲存空間。
  • 針對您要匯入的現有系統瞭解其檔案系統結構。
    • 如果您的作業系統和應用程式檔案分佈在多個磁碟中,請個別匯入每個磁碟,然後使用每個映像檔建立您 Compute Engine 虛擬機器執行個體的專屬永久磁碟。
    • 如果您的系統設有 RAID 開機磁碟區 (將多個磁碟做為單一邏輯磁碟區),請為完整陣列建立單一映像檔,而不要為陣列中的每個磁碟建立個別的映像檔。如果您是使用 Compute Engine 永久磁牒,就無需設定 RAID。
  • 如果您的系統使用可信平台模組或軟體層級加密技術對開機磁碟內容加密,請在建立開機磁碟映像檔前先對開機磁碟解密。Google 無法讀取已加密的映像檔。在您上傳映像檔後,Google 會對您的映像檔加密,並讓您針對永久磁碟Cloud Storage 值區提供自己的加密金鑰。

當您確認或建立您要完成匯入程序的系統後,請連線至該系統並設定系統啟動載入程式

準備開機磁碟映像檔

在運作中的系統上,準備開機磁碟映像檔,讓該映像檔在 Compute Engine 環境中運作。

  • 在開機磁碟上設定系統啟動載入程式,讓映像檔在 Compute Engine 上啟動。
  • 在開機磁碟上設定 SSH 或使用者登入存取權,以便您將開機磁碟匯入至 Compute Engine 並做為虛擬機器執行個體啟動後進行存取。

這項程序可能會導致系統在 Compute Engine 環境外無法啟動,因此最佳做法是在隔離的系統上使用您要匯入的開機磁碟副本完成這個步驟。

設定系統啟動載入程式

在系統上設定系統啟動載入程式,讓系統可在 Compute Engine 上啟動。

  1. 在您要匯入開機磁碟的系統上,連線至終端機。

  2. 編輯 GRUB 設定檔。這個檔案通常位於 /etc/default/grub,但在部分版本較舊的發行版上,該檔案可能位於非標準的目錄中。

  3. 對 GRUB 設定檔進行下列變更:

    • 移除任何包含 splashimage= 的行。Compute Engine 不支援在啟動時顯示啟動畫面。
    • 移除 rhgbquiet 核心指令列引數。
    • console=ttyS0,38400n8d 新增至核心指令列引數,讓執行個體可透過互動式序列主控台正常運作。
  4. 重新產生 grub.cfg 檔案。根據您的發行版使用下列其中一個指令。

    • Debian 和 Ubuntu:sudo update-grub
    • RHEL、CentOS、SUSE、openSUSE:sudo grub-mkconfig -o /boot/grub/grub.cfg
  5. 編輯 /etc/fstab 檔案,並移除該開機磁碟上所有磁碟和磁碟分區的路徑參照,但不要移除開機磁碟本身和該開機磁碟上的磁碟分區。/etc/fstab 中的無效項目可能會導致您的系統啟動程序終止。

完成系統啟動載入程式設定後,請建立及壓縮磁碟映像檔

設定映像檔的 SSH 或使用者登入存取權

當映像檔以虛擬機器執行個體在 Compute Engine 中執行後,您必須能夠存取該執行個體。如要連線至執行個體,可使用現有的 SSH 設定,或透過使用者名稱和密碼登入來連線至互動式序列主控台

建立及壓縮磁碟映像檔前,請先完成 SSH 或使用者登入設定。

建立及壓縮磁碟映像檔

為您要匯入至 Compute Engine 的系統建立及壓縮開機磁碟映像檔。建立及壓縮映像檔的程序會視您系統運作的平台而有所不同。

一般

您可以在幾乎所有的系統上使用這項程序建立 RAW 映像檔,可讓您匯入至 Compute Engine。如果您要匯入的系統正在運作中,仍可以在該系統上完成這項程序;或者,您也可以在其他系統上連結您的開機磁碟做為次要磁碟,然後從已停止的磁碟建立開機磁碟映像檔。請確認您有足夠的可存空間,可用來暫時保留磁碟映像檔。以下範例將說明如何從運作中的系統建立映像檔。

  1. 在您要匯入開機磁碟的系統上,連線至終端機。

  2. 使用 lsblk 指令找到您要從中建立映像檔的來源開機磁碟,以及具有足夠儲存空間寫入映像檔的位置。在以下範例中,/dev/sda 是來源開機磁碟,而 /dev/sdb 是掛接在 /tmp 目錄的大型次要磁碟。雖然 /dev/sda 正在運作,您仍可以從中建立映像檔。不過,建議您在中止的系統上進行這項操作,而不要使用主動處理資料或執行應用程式的系統。

    $ lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0  100G  0 disk
    ├─sda1   8:1    0   96G  0 part /
    ├─sda2   8:2    0    1K  0 part
    └─sda3   8:5    0    4G  0 part [SWAP]
    sdb      8:16   0  500G  0 disk /tmp
    sr0     11:0    1 1024M  0 rom
    
  3. 從您的開機磁碟建立映像檔。

    $ sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
    
  4. 切換至您已寫入 disk.raw 檔案所在的目錄。

    $ cd /tmp
    
  5. 將原始磁碟壓縮成 tar.gz 格式。這個步驟會壓縮映像檔,讓您將該映像檔更快上傳至 Google Cloud Storage。如果您是使用 OSX,請安裝 gtar 並在這個步驟中使用這個格式,而不要使用 tar

    $ sudo tar -Sczf /tmp/compressed-image.tar.gz disk.raw
    

AWS EC2

如果您要匯入 Amazon EC2 執行個體,請使用 AMI 工具打包 Amazon EBS 磁碟區:

  1. 帳戶設定主控台中找到並記下您的 Amazon 帳戶 ID

  2. 在您的 Amazon EC2 執行個體上,下載並安裝 EC2 AMI 工具。

  3. 透過以下引數以根權限執行 ec2-bundle-vol,分別將 cert-<hash>.pem 替換為憑證檔案,pk-<hash>.pem 替換為私密金鑰,以及 AWS_ACCOUNT_ID 替換為您的 Amazon 帳戶 ID。這個指令會建立 image 檔案。

    ec2-bundle-vol -c /tmp/build/cert-<hash>.pem \
        -k /tmp/build/pk-<hash>.pem -u AWS_ACCOUNT_ID \
        -r x86_64 --no-filter --exclude /tmp/build \
        --grub-config /tmp/build/menu.lst \
        --fstab /tmp/build/fstab
    
  4. 將原始磁碟壓縮成 tar.gz 格式。這個步驟會壓縮映像檔,讓您將該映像檔更快上傳至 Google Cloud Storage。如果您是使用 OSX,請安裝 gtar 並在這個步驟中使用這個格式,而不要使用 tar

    $ sudo tar -Sczf /tmp/compressed-image.tar.gz disk.raw
    

Virtual Box

如果您已在 VirtualBox 環境中準備好您的系統,可以使用 VBoxManage 工具將 .vdi.qcow2 磁碟映像檔轉換為 disk.raw 格式。

  1. 關閉您要匯入的 VirtualBox 訪客機器。您可以透過 VirtualBox 介面或 VBoxManage 公用程式關閉訪客機器。

    VBoxManage controlvm [GUEST_NAME] acpipowerbutton
    

    其中 [GUEST_NAME] 是訪客機器的名稱。

  2. 透過 VBoxManage 公用程式將訪客映像檔轉換為 RAW 格式:

    VBoxManage clonemedium [GUEST_IMAGE] \
        ~/disk.raw --format RAW
    

    其中 [GUEST_IMAGE] 是訪客映像檔 .vdi.qcow2 檔案的路徑。

  3. 將原始磁碟壓縮成 tar.gz 格式。這個步驟會壓縮映像檔,讓您將該映像檔更快上傳至 Google Cloud Storage。如果您是使用 OSX,請安裝 gtar 並在這個步驟中使用這個格式,而不要使用 tar

    $ sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

映像檔已經過壓縮且準備就緒,可上傳至 Google Cloud Storage。

將映像檔匯入至您的自訂映像檔清單

將檔案上傳至 Google Cloud Storage,並將映像檔匯入至您的自訂映像檔清單。此外,您可以在映像檔匯入期間對映像檔加密

透過主控台或 Cloud SDK 工具匯入映像檔:

主控台

compressed-image.tar.gz 檔案複製到本機工作站,然後使用 GCP 主控台建立值區並上傳檔案

  1. 前往 GCP 主控台的 Cloud Storage「Browser」(瀏覽器) 頁面。

    前往「Browser」(瀏覽器) 頁面

  2. 按一下頁面頂端的 [Create bucket] (建立值區)。
  3. 指定專屬的值區名稱、Standard 儲存空間級別以及您要儲存映像檔的位置。
  4. 按一下 [Create] (建立) 即可建立值區。「Browser」(瀏覽器) 頁面會隨即切換到新值區的頁面。
  5. 按一下頁面頂端的 [Upload files] (上傳檔案)。
  6. 在檔案對話方塊中,選取您已從您的系統下載的 compressed-image.tar.gz 檔案。系統會從本機工作站上傳這個檔案。這個步驟可能需要幾小時才會完成,實際時間取決於壓縮映像檔的大小和網路連線的速度。

將映像檔上傳至 Google Cloud Storage 後,請將映像檔匯入至您的自訂映像檔清單。

  1. 前往 GCP 主控台的「映像檔」頁面。

    前往「映像檔」頁面

  2. 按一下頁面頂端的 [建立映像檔]
  3. 在 [Name] (名稱) 欄位中,為映像檔指定專屬名稱。
  4. (選用) 為新的映像檔指定映像檔系列,或調整特定加密設定。
  5. 按一下 [Source] (來源) 選單並選取 [Cloud Storage file] (Cloud Storage 檔案)。
  6. 輸入您以上傳至 Cloud Storage 的 compressed-image.tar.gz 檔案路徑。

    [BUCKET_NAME]/compressed-image.tar.gz
    
  7. 按一下 [Create] (建立) 按鈕即可匯入映像檔。這個程序可能需要幾分鐘才會完成,實際時間取決於開機磁碟映像檔的大小。

這個映像檔現已包含在「Images」(映像檔) 頁面中,但您必須設定系統啟動載入程式,才能使用該映像檔建立可運作的虛擬機器執行個體。

gcloud 和 gsutil

只要使用 gsutil 工具和 gcloud 工具,即可上傳已壓縮的開機磁碟映像檔。您可以在您已建立開機磁碟映像檔的系統上完成這項程序;或者,您也可以將該檔案複製到其他系統,然後在該系統上完成上傳程序。

  1. 在您要上傳 compressed-image.tar.gz 的來源系統上安裝並初始化 Cloud SDK

  2. 使用 gsutil 工具建立新的 Cloud Storage 值區。

     $ gsutil mb gs://[BUCKET_NAME]
     

  3. compressed-image.tar.gz 檔案上傳至新的值區。

     $ gsutil cp compressed-image.tar.gz gs://[BUCKET_NAME]
     

  4. 匯入映像檔為新的自訂映像檔。

     $ gcloud compute images create [IMAGE_NAME] --source-uri gs://[BUCKET_NAME]/compressed-image.tar.gz
     

這個映像檔現已包含在自訂映像檔清單中,但您必須設定系統啟動載入程式,才能使用該映像檔建立可運作的虛擬機器執行個體。

  $ gcloud compute images list --no-standard-images
  
  NAME                                            PROJECT                  FAMILY                    DEPRECATED  STATUS
  [IMAGE_NAME]                                    [PROJECT_ID]                                                   READY
  

測試已匯入的映像檔並確保運作正常

確認已匯入的映像檔如預期般正常運作,然後透過使用該映像檔的開機磁碟建立執行個體。

主控台

  1. 前往 GCP 主控台的「VM 執行個體」頁面。

    前往「執行個體」頁面

  2. 按一下 [Create instance] (建立執行個體) 按鈕。
  3. 在「Boot disk」(開機磁碟) 區段中,按一下 [Change] (變更) 開始設定您的開機磁碟。
  4. 在「Custom images」(自訂映像檔) 分頁中,按一下您已匯入的映像檔。
  5. 按一下 [選取] 即可確認開機磁碟的設定。
  6. 按一下 [建立] 按鈕,即可建立執行個體。

gcloud

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --image [IMAGE_NAME]

其中:

  • [INSTANCE_NAME] 是您執行個體的專屬名稱。
  • [ZONE] 是您建立獨立磁碟的區域。
  • [IMAGE_NAME] 是您匯入的映像檔名稱。

建立執行個體後,請確認該執行個體正常啟動,並查看序列埠輸出內容:

主控台

  1. 前往 GCP 主控台的「VM 執行個體」頁面。

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

  2. 在執行個體清單上,按一下您從已匯入映像檔建立的執行個體名稱。執行個體詳細資料頁面會隨即開啟。
  3. 在執行個體詳細資料頁面底部,按一下 [View serial port] (查看序列埠) 即可查看這個執行個體的序列埠輸出內容。

如果執行個體在 Booting from Hard Disk 0... 時停止,您必須從 Compute Engine 環境內部排解這個問題,或者在原始系統上重新設定開機磁碟並重複執行匯入程序。

gcloud

gcloud compute instances get-serial-port-output [INSTANCE_NAME]

如果執行個體在 Booting from Hard Disk 0... 時停止,您必須從 Compute Engine 環境內部排解這個問題,或者在原始系統上重新設定開機磁碟並重複執行匯入程序。

您也能以連線至執行個體的方式來測試執行個體。請透過下列任一方式連線至執行個體:

  • SSH:如果執行個體已有可用的 SSH 設定,您就能使用 SSH 和私密金鑰連線至執行個體。您可以在「Instances」(執行個體) 頁面上找到執行個體 IP 位址。
  • 互動式序列主控台:如果您需要不透過 SSH 設定直接登入執行個體,可以啟用互動式序列主控台並藉由使用者名稱和密碼登入。

排解開機磁碟問題

如果您的執行個體未啟動,並且您無法連結至執行個體或透過互動式序列主控台登入,請找出開機磁碟未能完成啟動和開機程序的原因。

找到啟動和開機程序失敗的原因後,可以透過下列任一方式修正這個問題:

在 Compute Engine 中排解開機磁碟問題

請在連線至臨時虛擬機器執行個體的次要磁碟上,掛接您匯入的映像檔。接著,使用 GCP 主控台或 gcloud 工具,從您上傳的映像檔建立獨立磁碟,並透過已連結的獨立磁碟建立臨時虛擬機器。您可以使用這個執行個體修改獨立磁碟上的檔案,並修正導致該映像檔無法完成啟動程序的問題。

主控台

您可以從您匯入的開機磁碟映像檔建立獨立磁碟。或者,從執行個體卸離開機磁碟,然後使用卸離的開機磁碟建立執行個體。

建立臨時執行個體並連結獨立磁碟,然後設定系統啟動載入程式,讓執行個體能在 GCP 主控台環境中正常運作。

  1. 前往 Cloud Platform 主控台中的「VM 執行個體」頁面。

    前往「執行個體」頁面

  2. 按一下 [Create instance] (建立執行個體) 按鈕。
  3. 在「Create a new instance」(建立新執行個體) 頁面上,指定執行個體名稱和執行個體所在區域。這個區域必須與您建立獨立磁碟的區域相同。
  4. 展開 [Management, security, disks, networking, sole tenancy] (管理、安全性、磁碟、網路、單獨租用) 區段。
  5. 在「Additional disks」(其他磁碟) 區段中的「Disks」(磁碟) 分頁之下,按一下 [Attach existing disk] (連接現有的磁碟)。系統會隨即顯示新的區段。
  6. 在「Disk」(磁碟) 區段之下,從下拉式選單中選取您建立的獨立磁碟。這項操作會將獨立磁碟連接至執行個體,以便您日後進行掛接及修改磁碟內容。
  7. 按一下 [Done] (完成) 即可將磁碟連接完畢。
  8. 按一下 [Create] (建立) 按鈕即可建立執行個體。

gcloud

您可以從您匯入的開機磁碟映像檔建立獨立磁碟。或者,從執行個體卸離開機磁碟,然後使用卸離的開機磁碟建立執行個體。

gcloud compute disks create [DISK_NAME] --zone [ZONE] --image [IMAGE_NAME]

其中:

  • [DISK_NAME] 是新獨立磁碟的名稱。
  • [ZONE] 是鄰近的區域。建立臨時執行個體時,您必須使用相同的執行個體。
  • [IMAGE_NAME] 是您匯入的開機磁碟映像檔名稱。

建立臨時執行個體並連結獨立磁碟,然後設定系統啟動載入程式,讓執行個體能在 GCP 主控台環境中正常運作。

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --disk name=[DISK_NAME]

其中:

  • [INSTANCE_NAME] 是您執行個體的專屬名稱。
  • [ZONE] 是您建立獨立磁碟的區域。
  • [DISK_NAME] 是您從匯入的開機磁碟映像檔建立的獨立磁碟名稱。

當您建立連結獨立磁碟的執行個體後,系統會為您建立虛擬環境,可讓您透過原始開機磁碟映像檔修改系統啟動載入程式。

連線至執行個體,掛接獨立磁碟,然後設定系統啟動載入程式,讓執行個體在 Compute Engine 正常啟動。

  1. 透過瀏覽器建立 SSH 連線或使用 gcloud compute ssh 指令,以便連線至臨時執行個體
  2. 使用 blkid 指令找到您要修改的磁碟以及您需要掛接的磁碟分區。在以下範例中,/dev/sdb 是您匯入的磁碟。

    $ 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  100G  0 disk
    ├─sdb1   8:17   0   96G  0 part
    ├─sdb2   8:18   0    1K  0 part
    └─sdb5   8:21   0    4G  0 part
    
  3. 將獨立磁碟的根磁碟分區掛接至 /tmp 目錄。在以下範例中,/dev/sdb1 是根磁碟分區,而其他分區不需要任何修改。您的分區配置可能會要求您掛接多個磁碟分區,以便存取所有您必須變更的檔案。

    $ sudo mount /dev/sdb1 /tmp
    
  4. 編輯可能導致磁碟啟動程序失敗的檔案。詳情請參閱系統啟動載入程式設定操作說明

  5. 從臨時執行個體卸載開機磁碟。

    $ sudo umount /tmp
    

完成這個磁碟的設定時,請卸離磁碟並用來做為新執行個體的開機磁碟。

主控台

從臨時執行個體卸離獨立磁碟。

  1. 前往 Cloud Platform 主控台中的「VM 執行個體」頁面。

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

  2. 在執行個體清單上,按一下您修改的獨立磁碟所在的臨時個體名稱。執行個體詳細資料頁面隨即會開啟。
  3. 在執行個體詳細資料頁面的頂端,按一下 [Edit] (編輯)。
  4. 在「Additional disks」(其他磁碟) 區段之下,按一下獨立磁碟旁邊的 [X],表示您要從臨時執行個體卸離獨立磁碟。
  5. 在執行個體詳細資料頁面的底部,按一下 [Save] (儲存) 即可儲存變更。

使用卸離的獨立磁碟建立新執行個體。

  1. 前往 Cloud Platform 主控台中的「VM 執行個體」頁面。

    前往「執行個體」頁面

  2. 按一下 [Create instance] (建立執行個體) 按鈕。
  3. 在「Create a new instance」(建立新執行個體) 頁面上,指定執行個體名稱和執行個體所在區域。這個區域必須與您建立獨立磁碟的區域相同。
  4. 在「Boot disk」(開機磁碟) 區段中,按一下 [Change] (變更) 開始設定您的開機磁碟。
  5. 在「Existing disks」(現有磁碟) 分頁中,選擇獨立開機磁碟做為這個新執行個體的開機磁碟。
  6. 按一下 [Create] (建立) 按鈕即可建立執行個體。

gcloud

從臨時執行個體卸離獨立磁碟。

gcloud compute instances detach-disk [INSTANCE_NAME] --disk [DISK_NAME]

其中:

  • [INSTANCE_NAME] 是您執行個體的專屬名稱。
  • [DISK_NAME] 是新獨立磁碟的名稱。

使用卸離的獨立磁碟建立新執行個體。

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --disk name=[DISK_NAME],boot=yes

其中:

  • [INSTANCE_NAME] 是您執行個體的專屬名稱。
  • [ZONE] 是獨立磁碟所在的區域。
  • [DISK_NAME] 是您從匯入的開機磁碟映像檔建立的獨立磁碟名稱。

測試您使用已修改的開機磁碟建立的執行個體。如果您仍無法連線至執行個體,請再次詳閱序列控制台輸出內容,找出啟動程序失敗的原因,然後重複執行疑難排解程序,直到您修復開機磁碟映像檔的問題。

後續步驟

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

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

這個網頁
Compute Engine 說明文件