操作場景
為了保證使用私有鏡像創建的新云主機可以通過“用戶數據注入”功能注入初始化自定義信息(例如為云主機設置登錄密碼),建議您在創建私有鏡像前安裝Cloudbase-Init工具。
- 不安裝Cloudbase-Init工具,將無法對云主機進行自定義配置,只能使用鏡像原有密碼登錄云主機。
- 使用公共鏡像創建的云主機,默認已經安裝Cloudbase-Init,不需要執行安裝及配置操作。
- 使用外部鏡像文件創建的云主機,請按照指導安裝及配置Cloudbase-Init。
前提條件
- 已為云主機綁定彈性公網IP。
- 已登錄到云主機。
- 云主機的網卡屬性為DHCP方式。
- 已安裝一鍵式重置密碼插件。
因為安裝Cloudbase-Init工具的操作步驟中如果有重啟云主機的操作,可能導致密碼被修改為一個隨機密碼,所以需要安裝一鍵式重置密碼插件重置密碼。操作步驟請參考安裝一鍵式重置密碼插件。
安裝Cloudbase-Init工具
- 在Windows操作系統中,單擊“開始”,選擇“控制面板 > 程序 > 程序和功能”查看是否安裝Cloudbase-Init。
? 是,無需重復安裝,直接執行下文“配置Cloudbase-Init工具”。
? 否,執行以下安裝操作步驟。
- 操作系統是否為Windows桌面版。
? 是,執行3。
? 否,若操作系統為Windows Server版本,請執行4。
- 如果操作系統是Windows桌面版,如Windows 7或者Windows 10,那么需要在安裝Cloudbase-Init前確保Adminstrator賬號未禁用。以Windows 7為例,具體操作請以實際為準。
a. 在操作系統中單擊“開始”,選擇的“控制面板 > 系統和安全 > 管理工具”。
b. 雙擊“計算機管理”。
c. 選擇“系統工具 > 本地用戶和組 > 用戶”。
d. 右鍵單擊“Administrator”,選擇“屬性”。
e. 確認已取消勾選“賬戶已禁用”選項。
- 下載Cloudbase-Init工具安裝包。
根據Windows操作系統的不同位數,您需要下載不同版本的Cloudbase-Init工具安裝包。Cloudbase官網://www.cloudbase.it/cloud-init-for-windows-instances/。
Cloudbase-Init分為穩定版本和Beta版本兩種。
穩定版本獲取路徑:
? 64位://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi
? 32位://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x86.msi
Beta版本獲取路徑:
? 64位://www.cloudbase.it/downloads/CloudbaseInitSetup_x64.msi
? 32位://www.cloudbase.it/downloads/CloudbaseInitSetup_x86.msi
- 雙擊打開Cloudbase-Init工具安裝包開始安裝。
- 單擊“Next”。
- 勾選“I accept the terms in the License Agreement”,單擊“Next”。
- 使用Cloudbase-Init默認安裝路徑進行安裝,單擊“Next”。
- 在“Configuration options”窗口中,設置用戶名為“Administrator”,日志輸出串口選擇“COM1”,且不勾選“Run Cloudbase-Init service as LocalSystem”。如下圖所示。
說明:
- 圖片中的版本號僅供參考,請以實際情況為準。
設置參數


- 單擊“Next”。
- 單擊“Install”。
- 在“Files in Use”窗口保留默認勾選“Close the application and
attempt to restart them”,單擊“OK”。 - 操作系統是否為Windows桌面版。
? 是,執行15。
? 否,執行14。
- 在“Completed the Cloudbase-Init Setup
Wizard ”窗口,請勿勾選“Run Sysprep to create a generalized Image. This is necessary if you
plan to duplicate this instance, for example by creating a Glance image”及“Shutdown when Sysprep terminate”。如下圖所示。
完成安裝


說明:
- 圖片中的版本號僅供參考,請以實際情況為準。
- 單擊“Finish”。
配置Cloudbase-Init工具
- 在Cloudbase-Init安裝路徑下的配置文件“C:\Program Files\Cloudbase
Solutions\Cloudbase-Init\conf\cloudbase-init.conf”中執行以下操作:
a. 在配置文件最后一行,增加配置項“netbios_host_name_compatibility=false”,使Windows系統的hostname長度支持到63個字符。
說明:
- NetBIOS長度受Windows系統本身的限制還只支持小于等于15個字符。
b. 增加配置項“metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService”,配置agent訪問OpenStack數據源。
c. (可選)增加如下配置項,配置獲取metadata的重試次數和間隔。
retry_count=40
retry_count_interval=5
d. (可選)增加如下配置項,防止Windows添加默認路由導致metadata網絡不通。
[openstack]
add_metadata_private_ip_route=False
e. (可選)當Cloudbase-Init為0.9.12及以上版本時,用戶可以自定義配置密碼長度。
操作方法:修改配置項“user_password_length”的值,完成密碼長度的自定義配置。
f.(可選)選擇密碼注入方式首次登錄時,系統默認強制用戶修改登錄密碼,若用戶根據個人意愿,不需要修改首次登錄使用的密碼時,可關閉此功能。
操作方法:增加配置項“first_logon_behaviour=no”。
- 為了防止鏡像中DHCP租期過長導致創建的云主機無法正確的獲取地址,用戶需要釋放當前的DHCP地址。
在Windows命令行中,執行以下命令釋放當前的DHCP地址。
ipconfig /release
說明:
- 此操作會中斷網絡,對云主機的使用會產生影響。當云主機再次開機后,網絡會自動恢復。
- 使用Windows操作系統云主機制作鏡像時,需修改云主機SAN策略為OnlineAll類型。否則可能導致使用鏡像創建云主機時磁盤處于脫機狀態。
Windows操作系統SAN策略分為三種類型:OnlineAll、OfflineShared、OfflineInternal
Windows操作系統SAN策略類型
| 類型 | 說明 |
|---|---|
| OnlineAll | 表示所有新發現磁盤都置于在線模式。 |
| OfflineShared | 表示所有共享總線上(比如FC、ISCSI)的新發現磁盤都置于離線模式,非共享總線上的磁盤都置于在線模式。 |
| OfflineInternal | 表示所有新發現磁盤都置于離線模式。 |
a. 運行cmd.exe,執行以下命令,使用DiskPart工具來查詢云主機當前的SAN策略。
diskpart
b. 執行以下命令查看云主機當前的SAN策略。
san
- 如果SAN策略為OnlineAll,請執行exit命令退出DiskPart。
- 否,請執行步驟3.c。
c. 執行以下命令修改云主機SAN策略為OnlineAll。
san policy=onlineall