XEN虚拟机的安装和配置

来源:互联网 发布:电影cms解析采集 编辑:程序博客网 时间:2024/05/20 21:18

一、检查启动选项是否使用xen内核启动

1、检查xen内核文件

安装是否正常:文件位于/boot

# ls –lh /boot

total 9.5M

-rw-r--r-- 1 root root 61K Mar 16 08:19 config-2.6.18-8.el5

-rw-r--r-- 1 root root 60K Mar 16 09:27 config-2.6.18-8.el5xen

drwxr-xr-x 2 root root 1.0K Aug 15 14:47 grub

-rw------- 1 root root 1.5M Aug 13 17:18 initrd-2.6.18-8.el5.img

-rw------- 1 root root 1.5M Aug 15 14:47 initrd-2.6.18-8.el5xen.img

drwx------ 2 root root 12K Aug 13 17:15 lost+found

-rw-r--r-- 1 root root 79K Apr 1 22:49 message

-rw-r--r-- 1 root root 82K Mar 16 08:20 symvers-2.6.18-8.el5.gz

-rw-r--r-- 1 root root 83K Mar 16 09:28 symvers-2.6.18-8.el5xen.gz

-rw-r--r-- 1 root root 865K Mar 16 08:19 System.map-2.6.18-8.el5

-rw-r--r-- 1 root root 848K Mar 16 09:27 System.map-2.6.18-8.el5xen

-rw-r--r-- 1 root root 1.7M Mar 16 08:19 vmlinuz-2.6.18-8.el5

-rw-r--r-- 1 root root 2.0M Mar 16 09:27 vmlinuz-2.6.18-8.el5xen

-rw-r--r-- 1 root root 269K Mar 16 07:51 xen.gz-2.6.18-8.el5

-rwxr-xr-x 1 root root 595K Mar 16 09:43 xen-syms-2.6.18-8.el5

 

2、检查grub配置

# cat /boot/grub/grub.conf

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,0)

# kernel /vmlinuz-version ro root=/dev/sda3

# initrd /initrd-version.img

#boot=/dev/sda

default=1

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-8.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-8.el5

module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/

module /initrd-2.6.18-8.el5xen.img

title CentOS (2.6.18-8.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/

initrd /initrd-2.6.18-8.el5.img

修改其中的default=1为default=0,启用xen内核

 

3、重新启动计算机

 

4、重启后登录系统,检查XEN是否正常

4.1 执行# xm list

Name ID Mem(MiB) VCPUs State Time(s)

Domain-0 0 3919 4 r----- 16.9

出现上述结果表示xen启动正常

4.2 检查log:

#ls -lh /var/log/xen

total 8.0K

-rwxr-xr-x 1 root root 36 Aug 15 15:43 xend-debug.log

-rw-r--r-- 1 root root 1.8K Aug 15 15:43 xend.log

# cat /var/log/xen/xend-debug.log

Nothing to flush.

Nothing to flush.

表示一切正常,我们的CentOS5中的XEN服务已经成功启动。至此,我们的CentOS5的宿主机已经安装就绪。

 

二、安装XEN的Linux客户机系统

 

1、制作镜像文件

1.1 使用dd创建

#dd if=/dev/zero of=centos5.img bs=2k seek=4096k count=1

制作客户机主要磁盘

# dd if=/dev/zero of=swap.img bs=2k seek=512k count=1

制作客户机交换磁盘

 

2、创建配置文件

 

2.1 安装必须的工具

由于以前的安装是基于最小化安装,此时需要增加一个用于安装客户机系统的软件virt-manager,现在安装:

#yum –y install virt-manager

请注意由于此软件包为gnome下的图形管理程序,所以需要安装大量依赖包

此处流泪若干……忘记了这个包的名字,耽误时间2个小时……

 

2.2 开始安装客户机

# virt-install -n centos5 -r 512 --vcpus=2 --file=centos5.img --file=swap.img --nographics -l http://192.168.0.11/yum/ba...

此时如果机器CPU支持VT技术会询问是否需要开启VT支持,一般选择no,如果支持的话选择yes,此时会要求输入光驱或光盘之类。

Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. no

Starting install...

 

2.3 启动客户机的安装程序

安装由于为远程的,文本方式,部分ssh客户端下可能会有一些乱,请尝试,此部分和一般网络安装操作系统无异,在此不再详细描述。

建议分区是swap用于交换分区,主分区一个boot一个根分区

 

2.4 补充说明安装源的制作(最简单的方法)

在一台安装了CentOS5的服务器上开启httpd服务,把CentOS5的DVD整盘复制到/var/www/html/yum/base下即可

 

2.5 配置文件

安装客户机完毕后会在/etc/xen下产生一个centos5的文件就是配置文件

参考配置文件centos5:

name = "centos5"

memory = "768"

disk = [ 'tap:aio:/opt/xen/centos5/centos5.img,xvda,w', 'tap:aio:/opt/xen/centos5/swap.img,xvdb,w', ]

vif = [ 'bridge=xenbr0', ]

bootloader="/usr/bin/pygrub"

vcpus=2

on_reboot = 'restart'

on_crash = 'restart'

 

三、安装XEN的Windows客户机

 

前提:宿主计算机的CPU支持intel的VT或者AMD的amd-v,并且在BIOS中开启了对应的选项。

 

1、检查是否支持VT:

#xm info |grep xen_cap

xen_caps : xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p

# xm dmesg |grep -i vmxon

(XEN) VMXON is done

(XEN) VMXON is done

如果出现上述字段则计算机支持VT,否则很有可能是不支持或者BIOS禁用了。

也可以通过 xm dmesg或者cpuinfo等等方式查询,这里就不详细描述了。

 

2、为实现图形化远程安装开启vnc

#yum –y install vnc*

#vi /etc/xen/xend-config.sxp

编辑下列内容(请根据自己情况修改):

(vnc-listen '192.168.0.xxx')

(vncpasswd 'password')

此处的修改也可以在对应客户端的文件中修改,参后文。

 

3、重启计算机

其实应该不需要重启计算机,只需要重启xend的服务即可,但是很难重启服务成功,所以干脆重启:)

 

4、安装windows

安装前述步骤准备好磁盘镜像文件,传输win的iso文件后执行

#virt-install -n mini -r 768 --vcpus=2 --file=mini.img --vnc -v -c /opt/yum/pwinxp.iso

应该出现以下提示:

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.

!!请注意此种方式比较适合宿主机开启xwin图形系统并且在宿主机上操作。

 

4.1 检查vnc的监听

# netstat -anp |grep 5900

tcp 0 0 192.168.0.xxx:5900 0.0.0.0:* LISTEN 2748/qemu-dm

出现上述结果表明vnc已经开启(此时远程宿主机不需要开启xwin)。

此处监听端口可能有所改变,默认为590X。

 

4.2 使用vnc客户端连接

建议使用realvnc客户端连接!ultravnc在连接后会出现刷屏的情况,几乎无法操作。密码为在第二步设置的密码或者在配置文件中设置的密码。

 

4.3安装windows

安装过程中如果停止在如下画面或者不断重启:

画面主要停止在starting windows...的蓝色界面上

此种问题一般是由于ACPI的问题,请在引导光盘启动后提示按F2或者F6的时候按下F7,禁用ACPI,或者使用以下配置文件mini.hvm直接强制关闭:

import os, re

arch = os.uname()[4]

if re.search('64', arch):

arch_libdir = 'lib64'

else:

arch_libdir = 'lib'

kernel = "/usr/lib/xen/boot/hvmloader"

name = "mini"

builder = "hvm"

memory = "768"

shadow_memory = 8

disk = [ 'file:/opt/xen/mini/mini.img,hda,w', 'file:/opt/yum/pwinxp.iso,hdc:cdrom,r', ]

vif = [ 'type=ioemu,bridge=xenbr0', ]

device_model = "/usr/lib/xen/bin/qemu-dm"

kernel = "/usr/lib/xen/boot/hvmloader"

vnc=1

vnclisten="192.168.0.xxx"

vncdisplay=1

vncpasswd='password'

vncunused=1

apic=0

acpi=0

pae=1

boot="dc"

vcpus=2

serial = "pty" # enable serial console

on_reboot = 'restart'

on_crash = 'restart'

请注意cdrom我们没有使用单独的

cdrom=”/opt/yum/en2003entsp2.iso”来配置,使用此会出现以下错误:

错误为cdrom启动错误,错误代码0002

快速启动vnc客户端查看启动信息(修改配置文件),请注意在第一次修改配置文件后安装会重启,请在重启前修正启动顺序为

boot="c"

此时进入正常安装模式。以后可以去掉disk里面的cdrom选项或者修改,也可以添加删除磁盘信息。

 

5、其它说明

此种情况也可以用于安装linux类带xwin的系统;开启vnc仅仅是安装需求,一般情况下建议关闭!

Windows安装完毕后在客户机中安装远程控制软件如vnc或者radmin之类后关闭配置文件中的vnc选项,确保宿主机的安全。