在Xen下安装Windows虚拟机全过程
+------------------------------------------------------------------------------------------------------------------------------- ATTENTION: Befor taking the following steps, make sure you have followe
+-------------------------------------------------------------------------------------------------------------------------------
ATTENTION: Befor taking the following steps, make sure you have followed the xen-install.txt to install xen & vnc parts correctly.
+-------------------------------------------------------------------------------------------------------------------------------
1. 建立虚拟机路径
就是你的虚拟机文件在宿主机中存放的地方,先要建立出来
[root@server201 /]# mkdir /opt/xen/kcwin2k3_2
[root@server201 /]# cd /opt/xen/kcwin2k3_2
按照我的习惯就是建立虚拟机在 /opt/xen/xxxx 下建立
2.建立Windows2003虚拟机
[root@server201 kcwin2k3_2]# virt-install -n kcwin2k3_2 --file=disk1.img --file=disk2.img --vnc -v -c /iso/win2k3.iso -r 512 --vcpus=1
How large would you like the disk (disk1.img) to be (in gigabytes)? 8
How large would you like the disk (disk2.img) to be (in gigabytes)? 1
这里就是用 virt-install 命令来安装虚拟机,其中的参数我再解释一下
--------------------------------------------------------------------
virt-install 建立虚拟机的命令
-n 虚拟机的命名
--file 虚拟机的磁盘文件
--vnc 使用VNC终端连接方式
-r 虚拟机的内存容量
--vcpus 虚拟机的CPU数量
-v 可视
-c 安装镜像的路径
之后出现以下提示信息:
Starting install...
Unable to connect to graphical console; DISPLAY is not set. Please connect to localhost:5900
Domain installation still in progress. You can reconnect to the console to complete the installation process.
这里其实已经开始安装了,但是由于文字终端不支持图象,所以希望用户通过5900端口连接图形终端,并且这个虚拟机的安装并没有终止,仍然再继续。
问题是,这里,虚拟机已经初始化形成了,目前的工作只是在安装这个虚拟机的系统而已。可以先关闭掉这台虚拟机,以后再启动继续安装系统,这里我们还有很多工作要做。
3.修改这台虚拟机的配置文件
[root@server201 kcwin2k3_2]# cd /etc/xen/
[root@server201 xen]# ls
auto kcwin2k3_2 xend-config.sxp xmexample1 xmexample.vti
kcentos5 qemu-ifup xend-pci-permissive.sxp xmexample2
kcwin2k3 scripts xend-pci-quirks.sxp xmexample.hvm
(还记得这里之前说到过建立一个虚拟机后,在它的配置文档路径会有一个同名的配置文件么,我们要修改它。这些我标注黄色的文件都是几个我安装的虚拟机的配置文件,目前这篇中正在指的是kcwin2k3_2这个虚拟机,从名字上可以看出这已经是我安装的第二台Windows虚拟机了 )
[root@server201 xen]# vi kcwin2k3_2 (现在我们来编辑这个配置文件)
----------------------这个是原版由应用程序生成的配置文件----------------------
# Automatically generated xen config file
name = "kcwin2k3_2"
builder = "hvm"
memory = "512"
disk = [ 'file:/opt/xen/kcwin2k3_2/disk1.img,hda,w',
'file:/opt/xen/kcwin2k3_2/disk2.img,hdb,w', ]
vif = [ 'type=ioemu, mac=00:16:3e:3f:74:8f, bridge=xenbr0', ]
uuid = "fb0f5b19-30b7-b349-ceaf-2d4332ebf65d"
device_model = "/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1
vncunused=1
apic=1
acpi=1
pae=1
vcpus=1
serial = "pty" # enable serial console
on_reboot = 'restart'
on_crash = 'restart'
------------------------------------------------------------------------------------------------------------------
但是这样子是不够的,我们需要对其做比较多的修改,至于每一项是做什么用的,接下去会解释,现在我修改的这个配置文件如下
------------------------------------------------------------------------------------------------------------------
# Automatically generated xen config file
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
(若是要用XEN虚拟机安装Windows系统,以上这一段要添加。可以看出这个虚拟机是通过HVM方式建立的,关于HVM方式虚拟机的具体参数的描述也有非常详细的解释,就是HVM的模版帮助文件,它就在Xen的配置路径下,文件名默认为 /etc/xen/xmexample.hvm)
name = "kcwin2k3_2" (虚拟机的命名)
builder = "hvm" (hvm方式的虚拟机)
memory = "512" (内存为512M,这里单位是MB)
disk = [ 'file:/opt/xen/kcwin2k3_2/disk1.img,hda,w', (还记得建立虚拟机时的参数--file=吗?这里就是虚拟机的第一块虚拟磁盘)
'file:/opt/xen/kcwin2k3_2/disk2.img,hdb,w', (这个则是虚拟机的第二块虚拟磁盘,可写,而且是虚拟hdb位置)
'file:/iso/win2k3.iso,hdc:cdrom,r', ] (这一项则是后来添加的,指定了虚拟机的CDROM,目标其实是宿主机上的一张Win2k3安装ISO镜像的路径,然后r代表只读)
vif = [ 'type=ioemu, mac=00:16:3e:3f:74:8f, bridge=xenbr0', ] (这个是虚拟机的虚拟网络接口)
uuid = "fb0f5b19-30b7-b349-ceaf-2d4332ebf65d"
device_model = "/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1 (启用VNC)
vncunused=1 (这个手册当中竟然解释为...skipping...汗)
vnclisten="0.0.0.0" (这条也是后来添加的,VNC开放的网卡地址,这里表示不限制)
vncdisplay=1 (VNC显示,这条也是后来添加的)
#apic=1
#acpi=1
apic=0 (apic比较贱,这里要设定为0,默认值是1,它会造成安装Windows的时候会一直卡在一个画面里)
acpi=0 (同apci,这里也要设定成0,默认也是1。可以看到前两行的默认值是被我注释掉的)
pae=1
boot="dc" (这里是虚拟机的启动顺序,d表示从CDROM,c表示从本地磁盘,a表示从软盘。从左到右顺序,建议安装完系统之后,这里就改为“c”,只从硬盘启动)
vcpus=1 (虚拟机的CPU数量)
serial = "pty" # enable serial console
on_reboot='restart'
on_crash='restart'
------------------------------------------------------------------------------------
到这里就算是改好了这个虚拟机的配置文件,以上用草绿色标识的内容是后加上去的,请主要参考/etc/xen/xmexample.hvm这个模版文件,有非常详细的关于HVM虚拟机的说明。
8.再启动虚拟机
[root@server201 xen]# xm create kcwin2k3_2
Using config file "./kcwin2k3_2".
Error: VM name 'kcwin2k3_2' already in use by domain 1
这里是说这个kcwin2k3_2的机器已经启动了, 我现在让它关闭重新启动
[root@server201 xen]# xm destroy kcwin2k3_2
记得,完全关闭虚拟机的时候请用 xm destroy name 或 xm destroy ID 命令,而不要用 xm shutdown。
[root@server201 xen]# xm create kcwin2k3_2
Using config file "./kcwin2k3_2".
Started domain kcwin2k3_2 (出现这条提示则表示启动成功)
接下来就可以在远端使用VNC的客户端连接宿主机进行安装了,之前有人建议使用RealVNC的客户端连接,而不是UltraVNC。我一试果然不假,用UltraVNC的话,会非常花屏。另外要建议的一点则是,在VNC下安装Windows的时候用鼠标会非常的不爽,请习惯用键盘。
更多推荐
所有评论(0)