openstack-虛拟機windows2016鏡像制作
一、準備工作(kvm環境,vnc遠端連接配接工具)
- 準備好windows 2016的ISO鏡像檔案
https://msdn.itellyou.cn/
- 下載下傳VirtIO驅動(已測試2012r2為126版 2016為164版)
官網位址:https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html
下載下傳位址:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
二、安裝作業系統
2.1、建立鏡像磁盤
qemu-img create -f qcow2 win2016.qcow2 20G
2.2、啟動虛機
virt-install --name winserver2016-1 --memory 8192 --vcpus 4 --network network=default,model=virtio --disk path=win2016.qcow2,format=qcow2,device=disk,bus=virtio --cdrom /iso1/cn_windows_server_2016_vl_x64_dvd_11636695.iso --disk path=/iso1/virtio/virtio-win-0.1.164.iso,device=cdrom --graphics vnc,listen=0.0.0.0 --virt-type kvm --os-type windows --os-variant win2k16 --boot cdrom
vi /etc/libvirt/qemu/winserver2016-1.xml 修改配置如下
将驅動盤與鏡像盤對換(had改為hdb,hdb改為had)
###寫入配置
virsh define /etc/libvirt/qemu/winserver2016-1.xml
###啟動虛拟機
virsh start winserver2016-1.xml
2.3、安裝virtIO驅動
- 此處注意:viostor為磁盤驅動 硬碟驅動裝好後,還需要裝virtio序列槽驅動 找到對應版本序列槽驅動
2.4、設定密碼
2.5、更新驅動
三、安裝cloudbase-int和QGA
3.1、下載下傳cloudbase-init包
根據Windows作業系統的不同位數,需要下載下傳不同版本的Cloudbase-init工具安裝包。
Cloudbase官網http://www.cloudbase.it/cloud-init-for-windows-instances/。
Cloudbase-init分為穩定版本和Beta版本兩種。
穩定版本擷取路徑:
- 64位:https://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi
- 32位:https://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x86.msi
Beta版本擷取路徑:
- 64位:https://www.cloudbase.it/downloads/CloudbaseInitSetup_x64.msi
- 32位:https://www.cloudbase.it/downloads/CloudbaseInitSetup_x86.msi
3.2、下載下傳QGA工具安裝包
下載下傳位址:
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-7.5.0-2.el7ev/
QGA也可以用virtIO驅動包中的
3.3、上傳至虛機中
1.在主控端搭建http
Yum install -y httpd
Systemctl start httpd
2.把需要上傳的檔案打包壓縮
Tar –zcvf pack.tart.gz pack
3.把檔案上傳至/var/www/html下
4。在windows中下載下傳
打開浏覽器輸入主控端IP加/var/www/html下需要下載下傳的檔案名
下載下傳完成後,清除下載下傳記錄以及通路記錄。
3.4、cloudbase-init安裝
3.4.1、安裝
在“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”。
3.4.2、配置cloudbase-init.conf檔案
在cloudbase-init安裝路徑的配置檔案“
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
”的最後一行,增加配置項“netbios_host_name_compatibility=false”,使Windows系統的hostname長度支援到63個字元。
在cloudbase-init安裝路徑的配置檔案“
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
”中增加配置項
“first_logon_behaviour=no”,配置首次登陸系統不用修改密碼。
3.4.3、禁止cloudbase自動生成密碼
注:預設情況下,如果沒有admin_pass,cloudbase工具會生成一個随機密碼,這裡修改避免自動生成密碼。
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\ Python\Lib\site-packages\cloudbaseinit\plugins\common\setuserpassword.py
3.5、安裝QGA
3.5.1、安裝(輕按兩下安裝)
3.5.2、啟動服務
五、标準化制定
。。。
六、上傳鏡像
6.1、轉換格式qcow2轉raw
qemu-img convert -f qcow2 -O raw win2016.qcow2 win2016.raw
6.2、上傳鏡像
正确實作密碼重置,上傳鏡像至glance的時候需要添加特定的metadata,添加
hw_qemu_guest_agent=yes
用于通知nova此鏡像需要啟用QGA。如果是windows鏡像需要同步增加屬性
os_type="windows"
glance image-create --name win10-test --file windows10.qcow2 --disk-format qcow2 --container-format=bare --property os_type="windows" --property hw_qemu_guest_agent=yes –progress