两种方法,一是在openstack平台外制作,在创建openstack镜像时上载,二是直接在openstack glance所在机器上制作再上载。
第一种方法可以我这是在我桌面电脑win10上安装vmware workstation,里面安装linux desktop,在ubuntu desktop里安装虚拟机管理程序
用到命令序列:
grep vmx /proc/cpuinfo //查看是否支持虚拟化
sudo apt-get install kvm qemu libvirt-bin virtinst virt-manager virt-viewer //安装需要的组件
sudo virt-manager 运行图形化虚拟机管理界面
注意加载virtio 硬盘和网卡驱动程序,也可以在安装好后增加一块virtio硬盘的方法,添加virtio驱动,可以通过增加软盘/cdrom的方法加载virtio-win驱动程序cfd或iso文件
第二种增加镜像的方法,通过命令建立虚拟机安装环境,再通过vnc viewer客户端软件连接后安装,安装配置完成后上载到glance服务器 使用到的命令序列如下:
apt install virtinst //安装镜像安装程序
apt-get install lrzsz //安装xshell 在windows和linux间传递文件
virsh net-list
virsh net-start default
brctl show
qemu-img create -f qcow2 winserver2008.qcow2 10G //建立空的镜像文件
qemu-img info winserver2008.qcow2
cat /etc/passwd
sed -i 's/#vnc_listen = "0.0.0.0"/vnc_listen = "0.0.0.0"/g' /etc/libvirt/qemu.conf
sed -i 's/#group = "root"/group = "root"/g' /etc/libvirt/qemu.conf
sed -i 's/#user = "root"/user = "root"/g' /etc/libvirt/qemu.conf
chmod 666 winserver2008.qcow2
service libvirtd restart
virt-install --virt-type kvm --name winserver2003 --ram 2048 --cdrom=/root/virtio-win-0.1-81.iso --disk /root/winserver2003.qcow2,format=qcow2,bus=virtio --disk path=/root/win2k3.iso,device=cdrom --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=windows --os-variant=winxp
--disk 优先于 --cdrom 作为安装盘 运行该命令后正常启动,即可通过vnc viewer连接安装
注意安装系统时要安装支持virtio 的硬盘和网卡驱动程序,参照网络上找到的一种方法
OpenStack 默认使用 virtio 磁盘和网卡,virtio 的性能很好。由于 windows 没有自带 virtio 的驱动,需要手动安装,步骤如下:
添加一个 virtio 类型的磁盘。
virsh edit win2008r2sp1
修改当前的网卡设备为 virtio。
重启操作系统,安装 virtio 的驱动程序。
需要可以压缩安装好的qcow2文件
qemu-img convert -c -O qcow2 oldwin.qcow2 newwin.qcow2
最后,上传到openstack系统
glance image-create --name "win2008" --file /root/win2008.qcow2 --disk-format qcow2 --container-format bare --visibility public --progress
完成后可以到openstack web界面查看是否增加了镜像文件。
有了镜像文件,就可以创建实例,绑定浮点IP,以下是一个实例: