Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7410407
  • 博文数量: 1756
  • 博客积分: 18684
  • 博客等级: 上将
  • 技术积分: 16232
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 10:28
个人简介

啥也没写

文章分类

全部博文(1756)

文章存档

2024年(2)

2023年(44)

2022年(39)

2021年(46)

2020年(43)

2019年(27)

2018年(44)

2017年(50)

2016年(47)

2015年(15)

2014年(21)

2013年(43)

2012年(143)

2011年(228)

2010年(263)

2009年(384)

2008年(246)

2007年(30)

2006年(38)

2005年(2)

2004年(1)

分类: LINUX

2009-07-21 13:21:18

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的时候用鼠标会非常的不爽,请习惯用键盘。
阅读(916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~