因为实验室需要在Openstack上安装Windows Server 2008,这里记录一下制作适用于Openstack的windows server 2008镜像的过程。
1.首先需要使用kvm等工具,利用如下的命令,下载安装。
sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils xtightvncviewer qemu-system virt-viewer
2.到http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/网站上下载virio-win的.iso文件。
这个文件是一个驱动文件,我们虚拟机windows系统中的磁盘和网卡的驱动,都需要这个iso文件来安装。
3.使用如下的命令来创建磁盘映像文件,这里创建了一个20G大小、qcow2格式的文件。
qemu-img create -f qcow2 winserver2008.img 20G
4.创建虚拟机
这里我使用virt-install来安装虚拟机。各个选项的意思,看参数也能猜个大概,就不详述了。
virt-install --connect qemu:///system -n winserver2008 --vcpus=2 -r 2048 --disk=/home/hjy/winserver2008.img,size=60,format=qcow2,bus=virtio,cache=none -c /home/hjy/work/windowsserver2008x86.iso --vnc --vncport=5909 --vnclisten=0.0.0.0 --os-type windows --os-variant=win2k8 --accelerate --network=bridge:virbr0,model=virtio --disk path=/home/hjy/work/virtio-win-0.1-81.iso,device=cdrom,perms=ro
5.利用vnc连接到虚拟机中,使用的命令如下,这里127.0.0.1是本地的ip地址,5909是刚才设置的vnc的端口。
vncviewer 127.0.0.1:5909打开后如下图所示,然后按照装系统的步骤往下执行。
注意:如果刚才已经安装了virt-viewer这个软件,则vnc会自动打开,不必使用上述命令。
在选择驱动的时候,选择我们在刚才命令行中输入的CDROM,WLH是winserver2008,WNET是winserver2003。AMD64是64位系统的驱动,X86是32位系统的驱动。
之后等待一些时间系统就会安装好了。但是这个系统是没有网络适配器和网卡驱动的。我们需要再自行安装。
6.给windows server2008 安装网卡驱动
关闭虚拟机,在命令行下输入如下命令,开启虚拟机管理界面,在该界面中可管理我们的虚拟机。(不是必要步骤)
virt-manager
在虚拟机中,安装网卡驱动程序,根据系统提示,这个驱动程序可在CDROM中搜索,安装完成后就可以在虚拟机里上网了,如下图所示。
配置windows server 2008,在系统属性中将远程桌面打开,如下图所示,配置完成后,关机。然后将img镜像文件上传至Openstack。
7.使用dashboard,将我们创建的img文件上传到openstack,如下图所示。
点击创建镜像后,要等待一阵子,才能安装好。安装完成后,就可以通过vnc访问了。
8.可通过控制台vnc访问我们安装的windows,如下图所示
至此,我们就做好可以在openstack上使用的Windows Server 2008的镜像文件了。
在这个过程中还遇到过一些问题:
1.创建镜像失败:主要原因是驱动没有安装正确,尤其是网卡;
2.可使用kvm-ok命令查看openstack的compute节点主机是否支持虚拟化,如果不支持的话,是不可以在该节点上安装虚拟机的。(由于我在配置环境时,刚好遇上实验室电脑配件升级,恰巧把BIOS中的CPU虚拟化选项给关了,导致虚拟机镜像无法创建。后来通过nova-compute.log日志文件发现该错误,便进入BIOS开启CPU虚拟化,然后镜像就可以创建了。)