若要新增 OpenStack 映像以搭配 Horizon Cloud on OpenStack Edge 使用,您必須先在 Private Cloud Director 中新增映像,或使用您的 OpenStack 開放原始碼解決方案定義映像。Horizon Cloud 映像管理系統 (IMS) 目前不適用於 Horizon Cloud on OpenStack。
附註:Horizon Cloud on OpenStack 目前僅以有限可用性 (LA) 模式提供。
此範例程序假設使用 Platform9 Private Cloud Director (PCD) 主機環境,而非 OpenStack 開放原始碼解決方案提供者的環境。範例畫面僅作為流程指引,供您執行這些步驟時參考。
步驟 1 - 上傳 Windows 和 VirtIO ISO 檔案
-
取得您的 Windows 桌面 .iso。
-
取得適用於 Windows 的 KVM VirtIO 驅動程式 .iso。如需詳細資料,請參閱 Fedora 說明文件中的使用 virtIO 驅動程式建立 Windows 虛擬機器。
-
登入 Private Cloud Director 主控台,然後按一下虛擬機器 > 映像 > 新增映像。
![PCD 畫面,其中顯示 [新增映像] 按鈕 PCD 畫面,其中顯示 [新增映像] 按鈕](images/openstack_add-image1.png)
-
選取 .iso 檔案、為其命名,並選取 iso 作為磁碟格式。選取新增映像以開始上傳程序。

-
針對 VirtIO Windows 驅動程式 .iso 檔案重複上述步驟。
步驟 2 - 為 Windows 和 VirtIO .iso 檔案建立可連結的磁碟區
-
在 Private Cloud Director 主控台中,按一下儲存區 > 磁碟區,然後選取建立新磁碟區。
![PCD 畫面,其中顯示 [建立新磁碟區] 選項 PCD 畫面,其中顯示 [建立新磁碟區] 選項](images/openstack_add-image3.png)
-
選取映像作為來源,然後搜尋並選取您已上傳的 Windows .iso 檔案。

-
為新磁碟區命名,並確保其大小略大於 .iso。也請確保將此磁碟區標記為可開機,以便用於啟動 Windows 安裝程式。

-
針對 VirtIO Windows 驅動程式 .iso 重複上述步驟。請注意,您不需要將 VirtIO 磁碟區標記為可開機。
步驟 3 - 透過命令列建立 Windows 虛擬機器
-
確保您的系統上已安裝 OpenStack 用戶端 CLI 工具。請參閱 OpenStack 產品說明文件中的安裝 OpenStack 命令列用戶端。
-
若要取得必要的環境變數,請選取 PCD 主控台右上角的齒輪圖示,然後選取 API 存取。
![PCD 畫面,其中顯示齒輪圖示和 [API 存取] 按鈕 PCD 畫面,其中顯示齒輪圖示和 [API 存取] 按鈕](images/openstack_add-image6.png)
-
將環境變數複製到暫存文字檔。您稍後需要複製並貼上這些變數。
![PCD 畫面,其中顯示齒輪圖示和 [API 存取] 按鈕 PCD 畫面,其中顯示齒輪圖示和 [API 存取] 按鈕](images/openstack_add-image7.png)
-
確保您可以透過直接網路連線 (VPN 或 LAN) 連線至基礎結構主機。
在後續步驟中,您將在 PCD 中建立虛擬機器。您必須使用 CLI 完成後續步驟。無法使用 UI 建立具備必要參數的虛擬機器。
-
開啟裝置上的終端機,開始建立虛擬機器的程序。將您在上一步複製的環境變數貼到終端機中。請務必將
OS_USERNAME和OS_PASSWORD等環境變數值更新為您專屬的值。
環境變數命令範例如下:
export OS_USERNAME=MyName@companyname.com export OS_PASSWORD=MySecretPassword export OS_AUTH_URL=https://hcs-regionone.app.staging-pcd.platform9.com/keystone/v3 export OS_AUTH_TYPE=password export OS_IDENTITY_API_VERSION=3 export OS_REGION_NAME=RegionOne export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_PROJECT_NAME=service export OS_INTERFACE=public -
新增兩個環境變數,分別用於
Virtual Machine Volume Name和Virtual Machine Name,如下所示。export VM_VOL_NAME=APM-W11-Vol1 export VM_NAME=APM-W11-MasterImage -
為虛擬機器建立新的磁碟區 (C: 的虛擬硬碟)。下方顯示的命令列範例會使用您剛剛建立的 $VM_VOL_NAME 變數。
openstack volume create --size 80 -- bootable $VM_VOL_NAME -
複製新建立磁碟區的識別碼,並為磁碟區識別碼建立新的變數。命令範例和參考圖如下所示。
export VM_VOL_ID=3df9859e-e10f-438b-88b1-8ef109f8a1d6
-
在同一個終端機視窗中,設定 Windows 所需的磁碟區參數。命令範例如下所示:
openstack volume set \ --image-property hw_boot_menu=true \ --image-property hw_firmware_type=uefi \ --image-property hw_machine_type=q35 \ --image-property hw_tpm_model=tpm-crb \ --image-property hw_tpm_version=2.0 \ --image-property hw_cdrom_bus=sata \ --image-property hw_disk_bus=scsi \ --image-property hw_scsi_model=virtio-scsi \ --image-property os_secure_boot=required \ --image-property os_type=windows \ $VM_VOL_NAME -
找出 Windows .iso 磁碟區的磁碟區識別碼。
openstack volume list -
複製 Windows .iso 磁碟區的識別碼,並為 Windows .iso 磁碟區建立新的變數。
export WINISO_VOL_ID=de8c8727-b77d-4335-be7f-7d580046c82f -
複製 VirtIO .iso 磁碟區的識別碼,並為 VirtIO .iso 磁碟區建立新的變數。
export VIRTIO_VOL_ID=d1f6b83a-512a-41b9-a59c-52643adf87e -
識別虛擬機器所用網路的識別碼。
openstack network list -
建立虛擬機器。請注意,伺服器是 OpenStack 中用來表示虛擬機器的術語。
**附註:**請確保
$WINISO_VOL_ID已設定為boot_index=2,使其在尚未安裝作業系統時先開機,這樣安裝完成後,Windows 磁碟區將會成為第一個開機磁碟區。openstack server create \ --flavor m1.medium \ --network $NETWORK_ID \ --block-device source_type=volume,uuid=$VM_VOL_ID,destination_type=volume,device_type=disk,boot_index=0 \ --block-device source_type=volume,uuid=$WINISO_VOL_ID,destination_type=volume,device_type=cdrom,boot_index=1 \ --block-device source_type=volume,uuid=$VIRTIO_VOL_ID,destination_type=volume,device_type=cdrom,boot_index=2 \ $VM_NAME
步驟 4 - 在虛擬機器中安裝 Windows
-
在 PCD 主控台中,按一下左側導覽窗格中的虛擬機器,然後按一下虛擬機器索引標籤,以找出並選取您的虛擬機器 (例如 APM-W11-MasterImage)。
-
按一下主控台,以檢視虛擬機器的主控台視窗。
-
繼續執行設定程序,直到系統提示您選取安裝位置。
-
當系統提示您選取 Windows 11 的安裝位置時,按一下載入驅動程式。
KVM 虛擬機器磁碟沒有原生可用的驅動程式。您必須使用 VirtIO .iso 安裝驅動程式,才能繼續。
-
找到已掛接的
virtio-win.iso,然後選取E:\amd64\w11資料夾。此資料夾包含 VirtIO 磁碟控制器的驅動程式。
-
照常繼續安裝 Windows。
-
當系統提示*「這是正確的國家或地區嗎?」*時,請依提示按 Ctrl+Shift+F3 進入稽核模式。
-
Windows 重新開機後,找到已掛接的 virtio-win .iso,並從磁碟安裝 VirtIO-Win-Drivers。

-
安裝驅動程式後,請重新開機虛擬機器,以準備進行後續步驟。
步驟 5 - 下載並安裝 Horizon Agent
-
登入您的 Omnissa Customer Connect 帳戶,並從 Horizon Agents Installer 64 位元下載最新的 Horizon Agents Installer (HAI)。
-
接受預設安裝參數 (您也可以選擇啟用其他核取方塊)、選取成功完成後自動重新啟動系統核取方塊,然後按一下繼續安裝。
步驟 6 - 安裝並設定 Cloudbase-Init
-
下載 Cloudbase-Init。請參閱 Cloudbase-Init。
您不需要指定任何詳細資料即可下載安裝程式。向下捲動頁面,直到看到否,只顯示下載項目的連結,然後按一下該連結。
-
選取以 LocalSystem 身分執行 Cloudbase-Init 服務。
-
安裝 Cloudbase-Init 後,移至
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf,然後開啟cloudbase-init.conf。 -
將
cloudbase-init.conf的全部內容取代為下列項目,然後儲存檔案。[DEFAULT] verbose=true debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN mtu_use_dhcp_config=true ntp_use_dhcp_config=true local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ check_latest_version=false metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService plugins=cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin allow_reboot=false -
依照 Horizon 產品說明文件中準備客體 Windows 作業系統以進行遠端桌面部署所述準備客體作業系統,但有下列例外:
- 略過指示您安裝 Omnissa Tools 的步驟。
- 不要將虛擬機器新增至網域。
- 此階段不要使用 Sysprep 進行一般化。
- 略過指示您安裝 Omnissa Tools 的步驟。
步驟 7 - 下載並執行 Windows OS Optimization Tool for Horizon
-
從 Omnissa Customer Connect 的下載 OS Optimization Tool 下載最新的 OS Optimization Tool。
-
從 OS Optimization Tool (OSOT) 頂端列功能表中,選取最佳化以執行 Windows OS Optimization Tool 的最佳化階段。

-
按一下分析按鈕,然後按一下最佳化按鈕,以指定虛擬機器的所選最佳化項目。
![OS Optimization Tool,其中顯示 [分析] 按鈕 OS Optimization Tool,其中顯示 [分析] 按鈕](images/openstack_add-image13.png)
![OS Optimization Tool,其中顯示 [最佳化] 按鈕 OS Optimization Tool,其中顯示 [最佳化] 按鈕](images/openstack_add-image14.png)
-
從先前選取最佳化的同一個 OSOT 頂端列功能表中,選取一般化以執行 Windows OS Optimization Tool 的一般化階段。
-
在產生的指示頁面上,將管理員密碼欄位留空,確保已啟用自動重新啟動核取方塊,然後按一下一般化。
虛擬機器重新開機後,將不再處於稽核模式,並會自動以管理員帳戶登入。
可能發生的問題與因應措施: 如果一般化失敗,且虛擬機器未自動重新開機,請檢閱
C:\Windows\System32\Sysprep\Panther中的記錄檔。如果您看到類似下列內容的記錄項目:BiUpdateEfiEntry failed c000000d BiExportBcdObjects failed c000000d BiExportStoreAlterationsToEfi failed c000000d Failed to export alterations to firmware. Status: c000000d之後,請在虛擬機器上嘗試下列因應措施:
- 移至開始 > 執行 >
tpm.msc。 - 在右側面板中選取清除 TPM。
- 當系統提示重新開機時,選取確定,機器應會接著如預期繼續執行。
- 移至開始 > 執行 >
-
在虛擬機器上建立備用本機管理員帳戶,以便在停用內建管理員帳戶時,仍可用來登入該機器。

-
基於安全考量,請為管理員帳戶設定密碼。
-
從先前選取一般化的同一個 OSOT 頂端列功能表中,選取 [完成] 以執行 Windows OS Optimization Tool 的完成階段。
-
在產生的頁面上,接受預設核取方塊選取項目,然後按一下完成。
此動作需要數分鐘才能完成。等待最佳化工具的此階段完成後再繼續。
步驟 8 - 完成快照虛擬機器的部署組態
-
在 Private Cloud Director 主控台中,選取虛擬機器 (例如 APM-GoldenImage-v1),然後按一下電源動作 > 停止,以關閉虛擬機器電源。您可以按一下 UI 最右側的三個垂直點來存取電源動作功能表。
-
從上述 UI 最右側的相同三個垂直點,按一下其他動作 > 管理磁碟區。
-
僅中斷連結 VirtIO 和 Windows Installer 磁碟區。範例畫面如下所示。

-
編輯快照虛擬機器,並將
block_device_mapping內容設定為"delete_on_termination": true。 -
在左側導覽窗格中,按一下虛擬機器 > 映像。選取虛擬機器快照索引標籤,然後選取您的快照。
-
選取編輯內容並找到
block_device_mapping內容。在其值欄位中,找到名為delete_on_termination的鍵,將其值從false變更為true,然後按一下更新內容。![編輯內容頁面,其中顯示區塊裝置對應內容和 [更新內容] 按鈕 編輯內容頁面,其中顯示區塊裝置對應內容和 [更新內容] 按鈕](images/openstack_add-image17.png)
此頁面對您有幫助嗎?