跳到主內容
版本:3.0

從 ISO 映像檔建立虛擬機器

從 ISO 映像檔建立虛擬機器的概覽

若您的來賓作業系統沒有對應的雲端映像檔,您可以透過從來賓 ISO 檔案開機來手動安裝。 本指南說明如何安裝基於 ISO 檔案的 Windows 客體作業系統虛擬機器。

安裝過程需要準備並上傳正確的映像檔、執行命令列(CLI)介面指令來配置虛擬硬體,並將完成的安裝轉換為可重複使用的 Glance 映像範本。 完成後,即可使用該範本部署新的虛擬機器,無需重複安裝程序。

您將負責

  1. 取得所需映像檔:下載 Windows 安裝 ISO 檔以及任何必要的驅動程式映像檔。 對於 Windows 虛擬機器,這通常包含 VirtIO 驅動程式 ISO 檔,以確保硬體相容性。
  2. 上傳並設定映像檔:將您的 ISO 檔案加入環境,並將其掛載至新的虛擬機器。 此步驟將設定虛擬硬體,以便虛擬機器能從安裝媒體開機。 此步驟將設定虛擬硬體,以便虛擬機器能從安裝媒體開機。
  3. 安裝作業系統:從 ISO 檔案啟動虛擬機器,並完成 Windows 的安裝。 這與標準的作業系統安裝流程相似,僅在驅動程式設定方面有幾項針對虛擬機的特定步驟。 這與標準的作業系統安裝流程相似,僅在驅動程式設定方面有幾項針對虛擬機的特定步驟。
  4. 將虛擬機器轉換為範本:安裝完成後,將已安裝的磁碟進行通用化處理,並將其儲存為可重複使用的映像檔範本至 Glance。 這是未來虛擬機器將以此為基礎建構的主映像檔。
  5. 從範本部署虛擬機器:使用已儲存的範本,按需啟動新的 Windows 虛擬機器——配置一致、可重複部署,且開箱即用。

先決條件

要使用 ISO 映像檔建立虛擬機器,您需要以下檔案:

  1. ISO 映像檔:請透過官方來源或儲存庫下載您的客體作業系統的可開機 ISO 映像檔。
  2. VirtIO 驅動程式套件:為確保在 CubeCOS 上獲得最佳的相容性與效能,請安裝適用於 Windows 作業系統的 VirtIO 驅動程式。

將必要的 ISO 映像檔上傳至 CubeCOS 映像庫

上傳客製 ISO 映像檔

  1. 在你的本地機器上,從官方作業系統供應商或經核實的儲存庫下載所需的 ISO 映像檔。

  2. 開啟一個終端機工作階段。

  3. 使用具有叢集 VIP 管理存取權限的電腦,透過 scp 指令將 ISO 映像檔上傳至 CubeCOS 映像儲存庫。

    請使用你的映像檔名稱與叢集 IP 取代指令中的欄位:

    scp replace-with-your-image-name.iso root@<your-cluster-vip>:/mnt/cephfs/glance/
  4. 請等待上傳完成。 上傳所需時間取決於影像大小與網路頻寬。

上傳 VirtIO 驅動程式套件

  1. 請從 VirtIO 穩定版下載頁面 下載 VirtIO 驅動程式套件。

  2. 開啟一個終端機工作階段。

  3. 使用具有叢集 VIP 管理存取權限的電腦,透過 scp 指令將 ISO 映像檔上傳至 CubeCOS 映像儲存庫。

    請使用你的映像檔名稱與叢集 IP 取代指令中的欄位:

    scp virtio-win.iso root@<your-cluster-vip>:/mnt/cephfs/glance/
  4. 請等待上傳完成。 上傳所需時間取決於影像大小與網路頻寬。

為虛擬機器安裝準備安裝磁碟區

在虛擬機器安裝過程中,必須先將 ISO 映像檔和驅動程式套件匯入為映像檔,才能將其掛載為磁碟。

Repeat 適用於作業系統 ISO 檔及驅動程式套件的操作

在繼續之前,請針對以下項目重複此步驟:

  1. 作業系統安裝 ISO 檔。
  2. 如有適用,請提供驅動程式套件。
  1. 開啟一個終端機工作階段。

  2. 透過 SSH 連線至叢集 VIP,並以 root 使用者身分登入

    ssh root@<your-cluster-vip>
  3. 請確認您的 ISO 檔案已成功上傳至映像檔目錄。

    ls /mnt/cephfs/glance/
  4. 從 ISO 映像檔建立可開機硬碟區。

    • 對於 Windows,請使用 Windows 作業系統 索引標籤,以加入 Windows 系統所需的額外作業系統規格。
    • 若要設定 Linux 及其他安裝媒體(包括 VirtIO 驅動程式套件),請使用 Linux 及其他作業系統 索引標籤。
    openstack image create \
    --disk-format iso \
    --container-format bare \
    --public \
    --property hw_firmware_type=uefi \
    --property hw_machine_type=q35 \
    --property hw_scsi_model=virtio-scsi \
    --property hw_disk_bus=virtio \
    --property os_secure_boot='optional' \
    --property os_type=windows \
    --file <replace-with-full-path-to-iso-image>.iso \
    <replace-with-imported-image-name>.iso

建立基於 ISO 的可開機虛擬機器範本

建立基於 ISO 的虛擬機器需要透過 Nova 命令列介面 (CLI) 進行手動操作。

透過命令列(CLI)介面建立基於 ISO 的虛擬機器

  1. 透過 SSH 開啟終端機提示符。

  2. 透過 SSH 連線至叢集 VIP,並以 root 使用者身分登入

    ssh root@<your-cluster-vip>
  3. 要建立範本虛擬機器,請先替換以下參數,然後執行該指令。

    1. 虛擬機器名稱:輸入虛擬機器的顯示名稱。
    2. 規格:輸入規格詳細資訊,以將資源分配給虛擬機器。
    3. 網路:前往 網路 > 網路 取得網路 ID,並複製該網路 ID 供虛擬機器使用。
    4. 開機映像 UUID:前往 運算 > 映像檔,並複製 ISO 開機媒體的映像檔 ID。
    5. (僅適用於 Windows 電腦)VirtIO 驅動程式 UUID:前往 運算 > 映像檔,並複製 VirtIO 驅動程式媒體的映像檔 ID。
    6. 開機磁碟區大小:開機磁碟區的目標大小(單位:GB)。
    openstack server create <replace-with-virtual-machine-name> \
    --flavor <replace-with-flavor-size> \
    --network <replace-with-network-uuid> \
    --block-device source_type=image,uuid=<replace-with-boot-media-id>,destination_type=volume,volume_size=10,disk_bus=sata,device_type=cdrom,boot_index=0 \
    --block-device source_type=image,uuid=<replace-with-virtio-media-id>,destination_type=volume,volume_size=10,disk_bus=sata,device_type=cdrom,boot_index=1 \
    --block-device source_type=blank,destination_type=volume,volume_size=<replace-with-size-of-boot-volume>,disk_bus=virtio,device_type=disk,boot_index=2
  4. 開啟 CubeCOS 網頁管理介面,確認虛擬機已成功建立且處於 ActiveBuild 狀態。

    Verify Windows VM build in management UI

安裝基於 ISO 的虛擬機器

使用虛擬主控台安裝 Windows 客體作業系統

請先從 Windows 安裝 ISO 檔案啟動虛擬機器,並在完成作業系統設定之前安裝所需的 VirtIO 驅動程式。 這些驅動程式可讓 Windows 識別由 CubeCOS 提供的虛擬網路介面和儲存硬碟。 若未設定這些選項,安裝程式將無法偵測到開機硬碟,且在安裝過程中及安裝完成後,將無法連線至網路。

  1. 出現提示時,請按任意鍵以從 CD 或 DVD 開機。

    Windows UEFI boot console view

  2. 若要從 VirtIO 驅動程式套件中瀏覽所需的驅動程式,請選取 載入驅動程式 以瀏覽相關目錄。

    Verify Windows VM build in management UI

  3. 選取 virtio-win-<version> 硬碟,並安裝以下所需的驅動程式:

    1. NetKVM:用於在安裝期間及安裝後流程中支援網路功能的網路驅動程式。
      1. 開啟 NetKVM 資料夾。
      2. 請選擇與您的 Windows 版本對應的資料夾。
      3. 若要掃描該資料夾以尋找驅動程式,請選取 amd64 資料夾,然後按一下「掃描」。
      4. 點擊「下一步」以安裝驅動程式。
    2. viostor:用於偵測由 CubeCOS 連接的 virtio 硬碟所需的儲存驅動程式。
      1. 開啟 viostor 資料夾。
      2. 請選擇與您的 Windows 版本對應的資料夾。
      3. 若要掃描該資料夾以尋找驅動程式,請選取 amd64 資料夾,然後按一下「掃描」。
      4. 點擊「下一步」以安裝驅動程式。

    Select required VirtIO driver

  4. 選擇要安裝的硬碟,並完成客體作業系統的安裝。

  5. 作業系統重新啟動後,請使用預設的登入憑證登入。

  6. 導航至已掛載的 virtio-win-<version> 資料夾。

  7. 請以系統管理員權限依序安裝以下套件:

    1. virtio-win-gt-x64.msi:此檔案會安裝所有相關驅動程式,以確保客體作業系統能在 CubeCOS 上正常運作。
    2. virtio-win-guest-tool.exe:此客體工具提供效能監控功能,且是虛擬客體中支援快照保護所必需的。

將已安裝的虛擬機器轉換為映像檔範本

待客體作業系統安裝完成後,請將虛擬機的開機磁碟轉換為 Glance 映像檔。 生成的映像檔可作為未來相同配置虛擬機器的可重複使用部署範本。

  1. 請前往 儲存 > 磁碟,並找到 Windows 客體作業系統的磁碟。

  2. 在 Windows 客體作業系統硬碟上點選 更多 下拉選單,前往 資料保護 > 建立映像檔

    Select required VirtIO driver

  3. 在「建立影像」對話方塊中,輸入:

    1. 映像檔名稱:設定您的 Windows 客體作業系統範本名稱。
    2. 格式:設定 RAW 未格式化磁碟格式。

    Select required VirtIO driver

  4. 映像檔將開始上傳,狀態顯示為「正在上傳」。 映像檔將開始上傳,狀態顯示為「正在上傳」。 Select required VirtIO driver

  5. 前往 運算 > 映像檔 確認新建立映像檔的狀態,系統將顯示 儲存中,表示映像檔正在建立中。

  6. 當狀態顯示為 Active 時,即表示映像檔已成功上傳。

    Select required VirtIO driver

在新的範本虛擬機上設定 metadata

要正確部署此上傳的映像檔作為虛擬機器範本,需要提供硬體和作業系統的元資料。 這些屬性會告知虛擬機器管理程式,該如何為客體作業系統設定韌體、硬碟匯流排及安全性功能。 請透過 CubeCOS 管理介面中的管理員檢視畫面設定元資料。

  1. 若需了解如何透過點擊右上角的「管理員」切換至管理員檢視,請參閱 存取管理員檢視

    Select required VirtIO driver

  2. 選擇 計算 > 影像,並定位至您剛才上傳的影像。

  3. 若要編輯所需的元資料,請點選 更多 > 管理元資料 的下拉選單。

    Select required VirtIO driver

  4. 請在圖片中新增下列 metadata 欄位。

    虛擬信賴平台模組(vTPM)設定需符合客體作業系統的需求

    以下兩項僅在客體作業系統要求時才需添加。

    • hw_tpm_version = 2.0
    • hw_tpm_model = tpm-crb
    僅適用於 Windows 作業系統

    您必須設定:

    • os_type=windows
    元資料欄位
    hw_firmware_typeuefi
    hw_disk_busvirtio
    hw_machine_typeq35
    hw_scsi_modelvirtio-scsi
    os_secure_bootoptional
    hw_tpm_version2.0
    hw_tpm_modeltpm-crb
    os_typewindows

    選擇所需的 VirtIO 驅動程式

  5. 選取映像檔名稱以開啟其詳細資訊,並確認所有元資料均已正確套用。

    Select required VirtIO driver

  6. 確認無誤後,您即可使用此範本建立新的虛擬機器。