Xen上安装Microsoft的系统与安装Linux系统,这两者之间还是有一点点的差别的。
趁热打铁,今天又在XEN上安装上了Window 2003 Server。
这里我将其中的过程和自己的一些理解记录下来。
环境:上一集当中交代的环境,已经安装好了Xen的服务,并且192.168.0.201是宿主机,在其上已经整合了Yum+FTP服务程序。
1.安装vnc部件
===============================================================
由于Windows的安装方式默认通过的是图形界面方式,而这就需要了VNC的支持。所以,上来安装Windows系统之前先要给宿主服务器安装上VNC功能的部件。
[root@server201 kcwin2k3]# yum install vnc*
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing: (VNC程序包)
vnc i386 4.1.2-9.el5 base 160 k
vnc-server i386 4.1.2-9.el5 base 1.2 M
Transaction Summary
=============================================================================
2.启动VNC的服务器端程序
[root@server201 kcwin2k3]# service vncserver start
Starting VNC server: no displays configured [ OK ]
这里提示是说已经启动了VNC服务端程序,但是它没有经过配置。没有关系,之后会交代如何配置。
/!------------------------------------------------------------------------------------------------------------------
3.检查VNC服务器的状况
[root@server201 xen]# netstat -nap|grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 5484/qemu-dm
用netstat命令跟加nap参数,并且过滤5900端口。这里说明运行正常。
-------------------------------------------------------------------------------------------------------------------!/
注:空的宿主机装好VNCSERVER后是监听不到5900端口的,只有当宿主机上有一台HVM虚拟机以后才能看到上面的信息。
4.配置VNC服务器
由于需要在安装Xen虚拟机的时候要用到VNC的连接,所以要进行VNC的配置,这个文件的路径在 /etc/xen/xend-config.sxp
[root@server201 ~]# vi /etc/xen/xend-config.sxp
在这个文件中其实主要修改以下两行
(vnc-listen '0.0.0.0') (将监听地址改为0.0.0.0表示启用本宿主机上的所有网卡地址)
(vncpasswd '123456') (将VNC的连接密码设置为123456)
修改以上两行,注意去掉注释号,保存退出
配置完后重新启动VNC服务以及Xen服务,使参数生效
[root@server201 xen]# service xend start
Starting xend: [ OK ]
到这里VNC服务部分基本上已经没有问题了。建议将服务器完整reboot。由于没有将服务设定为随系统启动,因此在进入系统之后最好别忘记手动启动VNC服务以及Xen服务。
[root@server201 xen]# service xend start
Starting xend: [ OK ]
[root@server201 xen]# service vncserver start
Starting vncserver: [ OK ]
另外也可以使用chkconfig命令设置这两个服务随系统启动的方式:
[root@server201 xen]# chkconfig --level 2345 xend on
[root@server201 xen]# chkconfig --level 2345 vncserver on
5.建立虚拟机路径
就是你的虚拟机文件在宿主机中存放的地方,先要建立出来
[root@server201 /]# mkdir /opt/xen/kcwin2k3_2
[root@server201 /]# cd /opt/xen/kcwin2k3_2
按照我的习惯就是建立虚拟机在 /opt/xen/xxxx 下建立
6.建立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端口连接图形终端,并且这个虚拟机的安装并没有终止,仍然再继续。
问题是,这里,虚拟机已经初始化形成了,目前的工作只是在安装这个虚拟机的系统而已。可以先关闭掉这台虚拟机,以后再启动继续安装系统,这里我们还有很多工作要做。
7.修改这台虚拟机的配置文件
[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'
~
~
"kcwin2k3_2" 19L, 515C
-----------------------------------------------------------------
但是这样子是不够的,我们需要对其做比较多的修改,至于每一项是做什么用的,接下去会解释。
现在我修改的这个配置文件如下
--------------------------------------------------------------------------------------
# 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的时候用鼠标会非常的不爽,请习惯用键盘。
阅读(954) | 评论(0) | 转发(0) |