如果想要dashboard上创建一个Windows的虚拟机,就要有一个Windows的镜像,而Windows的虚拟机里需要virtio作为网卡驱动。所以需要下载virtio-win iso
准备:
opentack环境下
1:一个Windows系统的iso镜像
2:wirtio-win iso 官方下载地址https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html#Direct_download
3:在openstack下安装libvirt virt-install等
centos : yum install -y virt-install virt-manager
Ubuntu:apt-get install libvirt-bin virtinst
将下载后的Windows iso 和virt-win iso放置在一个目录下(方便操作),下面我的存放地址/home/windows_image/下
下面就是正式创建:
创建一个镜像文件
qemu-img create -f qcow2 windows.qcow2 20G
用virt-install命令开始安装
用vnc连接:
virt-install –connect qemu:///system \
–name windows –ram 2048 –vcpus 2 \
–network network=default,model=virtio \
–disk path=windows.qcow2,format=qcow2,device=disk,bus=virtio \
–cdrom /home/windows_image/win.iso \
–disk path=/home/windows_image/virtio-win.iso,device=cdrom \
–vnc 192.168.2.251:8 –os-type windows –os-variant win7
输出: Starting install…
这时候就要用virt-viewer来打开界面完成安装,如果virt-viewer打开失败
就网上下载一个vnc viewer
如果vnc不能成功安装 就用spice连接
virt-install –connect qemu:///system \–name windows –ram 2048 –vcpus 2 \–network network=default,model=virtio \–disk path=windows.qcow2,format=qcow2,device=disk,bus=virtio \–cdrom /home/windows_image/win.iso \–disk path=/home/windows_image/virtio-win.iso,device=cdrom \–os-type windows –os-variant win7 –graphics spice,listen=0.0.0.0默认端口5900 多一个连接就+1(5901)
连接进去可以看到这样的界面
选择相应Windows系统
就等待安装完成,途中会重启虚拟机,如果vnc客户端断开关闭,重新再连接就好
整个完成后就开始创建一个在dashboard界面上能看到的镜像
openstack image create –disk-format qcow2 –file windows.qcow2 Windows
在界面上用镜像创建虚拟机,
或用命令nova boot
openstack flavor list
openstack image list
openstack network list
3个命令查看列表id
nova boot –flavor xxx –image xxx –nic net-id=xxxxxx –security_group default vm_name
上面的整个过程就完成了
相关问题:
上面用新建的镜像来创建虚拟机,虚拟机内就有virt-io网口驱动了。
如果虚拟机里没有virt-io驱动,则需要收到添加
(1)安装完Windows后,创建一块临时的硬盘,将其设置为virtio模式添加到Windows中,并设置网卡模式为virio
(2)开机后将提示检查到新硬件,然后安装驱动程序后关机
(3)删除新添加的临时硬盘,将原来的硬盘设置为virtio模式,开机即可识别到硬盘与网卡都为virtio模式
新建一个额外的磁盘 挂载到虚拟机上
qemu-img ceate -f qcow2 virt.img 10G
然后修改libvirt配置文件
使用虚拟机所在的计算节点中
virsh list
得到类似下面的结果
instance-00000002 running
然后直接编辑
virsh edit instance-00000002
添加
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/windows-virtio/virt.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/windows-virtio/virtio-win.iso'/>
<target dev='hdc' bus='ide'/>
</disk>
重启虚拟机。
点击更新驱动程序(上面的是我更新后的结果)
可以看到上面已经有挂载的virt-io驱动了
点解确认即可。
参考资料
https://docs.openstack.org/image-guide/windows-image.html