匯入虛擬磁碟

如果您內部環境中的虛擬磁碟具有您需要的軟體和設定 (有時稱為黃金磁碟或黃金映像檔),則可以透過把這些虛擬磁碟匯入 Compute Engine 並使用產生的映像檔建立新的虛擬機器來節省時間。匯入工具支援多數虛擬磁碟檔案格式,包含 VMDK 與 VHD。

若是從 Compute Engine 匯出磁碟,則您不需要重新匯入。您可改為從磁碟建立更多映像檔。

如果您需要自動化系統來遷移數個虛擬機器,請參閱將 VM 遷移至 Compute Engine 的總覽

事前準備

支援的作業系統

為了能夠在 Compute Engine 上開機,您的虛擬磁碟必須執行下列其中一種作業系統。

  • Linux 作業系統:
    • CentOS 6、CentOS 7
    • Debian 8、Debian 9
    • Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 7
    • Ubuntu 14.04 LTS、Ubuntu 16.04 LTS
  • Windows Server 作業系統:
    • Windows Server 2008 R2、Windows Server 2012 R2、Windows Server 2012 R2 Core、Windows Server 2016、Windows Server 2016 Core

限制

此功能具有下列限制:

  • Linux 虛擬磁碟必須使用 grub 做為系統啟動載入程式。
  • Windows 或 Linux 均不支援 UEFI 系統啟動載入程式。
  • Linux 虛擬磁碟必須符合與自訂 OS 映像檔相同的條件,其中包括對 Virtio-SCSI 儲存控制器裝置的支援。
  • 安裝在 Windows 虛擬磁碟上時,用以將應用程式加入許可清單的軟體 (例如 Carbon Black 的 Cb Protection) 可能會導致匯入程序失敗。您可能需要在匯入之前解除安裝此類軟體。
  • 如果您要匯入執行 RHEL 的虛擬磁碟,您必須在匯入之前於虛擬磁碟上安裝 python-boto 套件,然後系統才會支援自備授權 (BYOL)。
  • Windows Server 作業系統的虛擬磁碟不支援自備授權功能。

匯入虛擬磁碟

檢查相容性

在您嘗試匯入虛擬機器的磁碟之前,請在虛擬機器中下載及執行我們的預先檢查工具。預先檢查工具會驗證是否沒有不相容的情況。

匯入可開機的虛擬磁碟

使用 gcloud compute images import 指令建立可開機的 Compute Engine 映像檔。儘管 Compute Engine 可以啟動大多數的開機磁碟映像檔,import 指令仍可確保磁碟具有所需驅動程式與最新的訪客環境套件,這是啟動執行個體並使用 SSH 或 RDP 連線至執行個體的必要條件。

您可從 Cloud Storage 值區或您的本機工作站匯入虛擬磁碟檔案。如果您從工作站匯入虛擬磁碟檔案,匯入工具會為您將檔案自動上傳至 Cloud Storage 值區。您也可以選擇自行將虛擬磁碟檔案上傳至 Cloud Storage,然後再啟動匯入程序,但請注意,您必須將檔案上傳至值區,並確定該值區存在於您要用於匯入程序的專案之中。

gcloud compute images import [IMAGE_NAME] \
    --source-file [SOURCE_FILE] \
    --os [OS]

其中:

  • [IMAGE_NAME] 是目標映像檔的名稱。
  • [SOURCE_FILE] 是虛擬磁碟檔案。映像檔可以是本機檔案或儲存在 Cloud Storage 中的檔案。如果您的虛擬磁碟是本機檔案,您可以使用絕對或相對路徑。如果您的虛擬磁碟檔案已儲存在 Cloud Storage 中,檔案必須存在於用於匯入程序之專案的儲存值區中,且您必須以 gs://[BUCKET_NAME]/[OBJECT_NAME] 格式指定檔案的完整路徑。
  • [OS] 是 SOURCE_FILE 的作業系統,且必須是以下其中一項:centos-6centos-7debian-8debian-9rhel-6rhel-7rhel-6-byolrhel-7-byolubuntu-1404ubuntu-1604windows-2008r2windows-2012r2windows-2016

如果您指定本機檔案,視虛擬磁碟的大小以及網路連線速度而定,上傳作業可能會花費很長的時間。視磁碟大小而定,匯入作業可能需要十分鐘的時間。

以下範例匯入了儲存在 gs://your_gcs_bucket 中,名為 your_server.vmdkdebian-9 虛擬磁碟。

gcloud compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/your_server.vmdk \
    --os debian-9

匯入不可開機的虛擬磁碟

如果您的虛擬磁碟上沒有安裝可開機作業系統,您仍可使用 --data-disk 標記而非 --os 標記來匯入。這樣的做法會跳過安裝驅動程式及訪客環境套件的步驟,使映像檔可在 Compute Engine 上開機。

gcloud compute images import [IMAGE_NAME] \
        --source-file [SOURCE_FILE] \
        --data-disk

其中:

  • [IMAGE_NAME] 是目標映像檔的名稱。
  • [SOURCE_FILE] 是虛擬磁碟檔案。映像檔可以是本機檔案或儲存在 Cloud Storage 中的檔案。如果您的虛擬磁碟是本機檔案,您可以使用絕對或相對路徑。如果您的虛擬磁碟檔案已儲存在 Cloud Storage 中,檔案必須存在於用於匯入程序之專案的儲存值區中,且您必須以 gs://[BUCKET_NAME]/[OBJECT_NAME] 格式指定檔案的完整路徑。

將映像檔設定為可開機

如果您的 Compute Engine 自訂映像檔上有可開機作業系統,但沒有必要的 Compute Engine 驅動程式或訪客環境套件,您可以使用映像檔匯入工具來將該映像檔設定為可在 Compute Engine 上開機。

使用 --source-image 標記來指定要設定為可開機的自訂映像檔,而非使用 --source-file 標記來指定要匯入的新磁碟。

gcloud compute images import [IMAGE_NAME] \
        --source-image [SOURCE_IMAGE] \
        --os [OS]

其中

  • [IMAGE_NAME] 是目標映像檔的名稱。
  • [SOURCE_IMAGE] 是來源映像檔的名稱。
  • [OS] 是 SOURCE_IMAGE 的作業系統,且必須是以下其中一項:centos-6centos-7debian-8debian-9rhel-6rhel-7rhel-6-byolrhel-7-byolubuntu-1404ubuntu-1604windows-2008r2windows-2012r2windows-2016

以下範例將名為 my-image 的 Compute Engine 映像檔轉變成名為 my-bootable-image 的可開機映像檔。在此範例中,在映像檔上安裝的作業系統是 Ubuntu 16.04。

gcloud compute images import my-bootable-image --source-image=my-image --os=ubuntu-1604

自備授權 (BYOL) 的支援

使用 Windows Server 與 Red Hat Enterprise Linux (RHEL) 作業系統的虛擬磁碟預設會匯入並設定為進階級 OS 映像檔,而這會產生額外的費用。

如果您想要針對 RHEL 使用您自己的軟體訂閱項目,可為 [OS] 欄位指定以下其中一個 BYOL 值,將磁碟匯入為 BYOL 授權映像檔。

  • rhel-6-byol
  • rhel-7-byol

Windows Server 虛擬磁碟目前不支援 BYOL。

資源清除

儲存在 Cloud Storage 上的檔案與 Compute Engine 中的映像檔會產生費用。匯入工具會將虛擬磁碟檔案匯入至 Cloud Storage 並建立一個 Compute Engine 自訂映像檔。

在您驗證映像檔正確匯入,且可正確啟動為 Compute Engine 執行個體之後,便可從 Cloud Storage 刪除虛擬磁碟檔案。工具將該檔案上傳至 Cloud Storage 時,會輸出檔案的 URI。此 URI 的格式如下:gs://<bucket name>/tmpimage/<image name>

如果您使用 --data-disk 標記匯入映像檔,然後再次使用 --source-image 標記執行 import 工具,以將該映像檔設定為可開機,則第一個映像檔仍將存在。如果您不需要該映像檔,可以考慮刪除。如果您為 [IMAGE_NAME][SOURCE_IMAGE] 參數指定相同的映像檔名稱,則系統將自動覆寫映像檔,您也不需要再進行清除。

後續步驟

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

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

這個網頁
Compute Engine 說明文件