Username: Password:

Xen上安装windows2k3
来源: ChinaUnix博客  作者: ChinaUnix博客   发布时间:2008-01-01 19:41:00

在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的时候用鼠标会很的不爽,请习惯用键盘。


喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅