admin管理员组

文章数量:1545075

openstack-虚拟机windows2016镜像制作

一、准备工作(kvm环境,vnc远程连接工具)

  1. 准备好windows 2016的ISO镜像文件
https://msdn.itellyou/
  1. 下载VirtIO驱动(已测试2012r2为126版 2016为164版)
官网地址:https://docs.fedoraproject/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html
下载地址:https://fedorapeople/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/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

本文标签: 镜像WindowsOpenStackServer