Xen 初学者指南

上一篇 / 下一篇  2007-12-11 23:47:54 / 个人分类:Virtualization

51Testing软件测试网9UH:J.@"KC

51Testing软件测试网K ?;kqj.l zJJ
作者:北南南北
7Y rB]Hv{0l0来自:LinuxSir.Org51Testing软件测试网-xji.YO{
摘要: 本文是根据 《Xen v3.0 用户手册》的实践篇,将初学者需要掌握的Xen基础知识清点了一下。在本文中举了一个实例,用Slackware虚拟 Fedora ;最好能对大家有点帮助吧;51Testing软件测试网 @2p9`+?){4{

51Testing软件测试网;k"u H,ZW1DPf1^Z

 51Testing软件测试网D TW!pu \ [cZ

q8a3Da*O@A$N{0目录

_ N2gX&_P9e051Testing软件测试网s ~ F}[ H

 

Y,_4I W8B0

K3b\?"^00、本文约定
;Q!j%z8h|`:F\+Y"^01、什么是Xen51Testing软件测试网J D%Y)C#V+\ b"`lm

51Testing软件测试网'Kp}$r,rT

1.1 Xen的特性51Testing软件测试网#lk*~/} nd
1.2 Xen的应用范围51Testing软件测试网 m%kf.qs2[E
1.3 Xen的操作系统支持和硬件支持

j3t1B8{.O$y0n0

s\SM [1H){0
$v4zHv1_02、Xen的一点理论基础51Testing软件测试网M:^} }:I1e6b
3、Xen的安装51Testing软件测试网 d"cd,F4U%Y4r

51Testing软件测试网X G P*E2f4a

3.1 安装Xen的准备工作51Testing软件测试网uK|8R [O7M
3.2 在Redhat/Fedora 操作平台上的安装51Testing软件测试网Qz1^2\@|+|
3.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版)51Testing软件测试网:MF H-P j*Tu;DnL`n
3.4 通过Xen的源码包编译安装(仅供参考)51Testing软件测试网 }J AR3K)v#e[

NLF,T.~l03.41 编译原理51Testing软件测试网f.Td$Xfa'W!M
3.42 编译过程简说51Testing软件测试网|c4Y%N)PApX#c
3.43 创建initrd文件51Testing软件测试网6d2`a+s&[.[
3.44 关于xen0和xenU内核说明

Q @4S;G cIO*a$s051Testing软件测试网+s"qy!N Z

4、引导XenLinux的GRUB配置51Testing软件测试网(c#r)\k6s ^.A

51Testing软件测试网"b3xc:rd

4.1 判断系统所在的分区
]p)u |jC s W04.2 查看/boot目录中xen相关的配置文件51Testing软件测试网"y;@W Hn^'C.`x-Iv
4.3  禁掉 TLS Libraries51Testing软件测试网@bH.E8YY
4.4 引导XenLinux的GRUB内容

n }/h |5Md x1t#P0

WY.Qg!w*s05、Xen的配置和管理工具51Testing软件测试网&N\ ~MD7ov d\

51Testing软件测试网 HC&e4JL

5.1 Xen的相关文件存放位置51Testing软件测试网ka'Xr P6[d

51Testing软件测试网,_6T)_$C%_,}"Q

5.11 内核及xen自身存放于 /boot
#R6YqG2KH^Xe05.12 内核模块存放于 /lib/modules
"bGVh(gWD05.13 xen的配置文件及守护程序的存放位置51Testing软件测试网Q[]E#JBW-Zo
5.14 可执行命令存放于/usr/sbin

)ke2eR-K.T0

|*G o)o a05.2 Xen服务器的启动51Testing软件测试网)n:Pp'iX7C)F
5.3 Xen 管理工具xm51Testing软件测试网.\o-| K)no

51Testing软件测试网k4b&k H?;h7d}z[

5.31 列出所有正在运行的虚拟操作系统51Testing软件测试网J]9w6t7[ O}&ft
5.32 通过配置文件来引导虚拟的操作系统
f&NQ.w8gX r05.33 从终端或控制台登录正在运行的虚拟操作系统
T J CLu:w:Gz05.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统
$|zC#V [0]y:t4}05.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统51Testing软件测试网P:a#GC9]%YXC4W
5.36 调整虚拟平台/虚拟操作系统的占用内存51Testing软件测试网;]"tE ~wFCD:M
5.37 关闭被虚拟的系统51Testing软件测试网d(L#C PR2u%Dp
5.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数51Testing软件测试网Xk6s7YX
5.39  查看虚拟系统运行的状态51Testing软件测试网 H6Q'z3U2\6j9Z

YP+w C9lK0{06、虚拟操作系统的文件存储系统51Testing软件测试网'x#d5B;xQ

51Testing软件测试网/V tiYs6b'}

6.1 以实际物理硬盘做为虚拟操作系统文件系统

.f2Z1j,^b9x)FT051Testing软件测试网I*@ g[3xd m4W^

6.11  准备物理分区及创建文件系统
tIgLkWS3{1M06.12 在物理分区上构建操作系统
`Vjc5R"cc/f06.13 虚拟操作系统的引导文件中关于文件系统的定义

8@j6Wg8?_*V7d0

2W(|%}Ic.C]v06.2 以映像文件做为文件系统

6j1DS{C?? |0

-{K7kno aaJH06.21 创建映像文件
K\g2X,n06.22 格式化映像为Linux文件系统51Testing软件测试网e.Y K%b1\f j
6.23 在映像文件上构建操作系统51Testing软件测试网nq0DGZJG#s}k
6.24 虚拟操作系统的引导文件中关于文件系统的定义

?/Lh gc }051Testing软件测试网j$g8iEc7F

7、实例应用:用Slackware+Xen虚拟Fedora 5.051Testing软件测试网 m*s[#}s'D&x C2]l

%a [8V N-HiO4e07.1 Fedora 安装运行于一个物理分区中

1E:_ gY,HN|{051Testing软件测试网 N_S e"{{-y

7.11  下载Fedora 5.0的基础系统
o/ZH k S-p2v07.12 解压和提取相应文件
sr&UC0N07.13  规划硬盘的物理分区并创建文件系统51Testing软件测试网{+` iY J1_
7.14  构建Fedora 5 的基础系统
+],k#e%v)g07.15  创建Fedora 5 引导文件
Wl(x9a9\1V_07.16  引导Fedora 5
3d%`a.JeU es07.17  虚拟操作系统网卡不能激活的处理方法

_o)y w^051Testing软件测试网 u9V5K]+R8is7o0~j

7.2 Fedora 安装运行于一个映像文件中

P6Kf9G g051Testing软件测试网P)G u'ni!Z-a6{$}

7.21 下载Fedora 5.0的基础系统
LUr7FW&Xz&M6J07.22 解压和提取相应文件51Testing软件测试网l,A@)iA-K9SF
7.23 修改引导运行Fedora的配置文件
$W"q$i#u uaN07.24  引导Fedora 551Testing软件测试网LK6r0r(f${#H
7.25  网卡不能激活的处理51Testing软件测试网&S0Ev F_3k~a
7.26 Fedora 映像文件太小的解决办法51Testing软件测试网JVg \2y,bBul

51Testing软件测试网Z/ho6vV)q;bF


;@~-a^v08、强制终止正在运行的虚拟操作系统(重要)51Testing软件测试网u r$G ~Y H8Y
9、关于基础系统安装后,虚拟操作系统的软件补充安装
;Yzxo*uu Q8Y010、关于虚拟操作系统的桌面访问及远程访问
i*yj[ sK011、常见问题处理51Testing软件测试网mX9bhS

|a0ro.w X6T011.1 不能找到root分区
C }-S"C @"m BM;eez011.2 出现/tmp/.ICE-unix 类似的错误
2v+Em6B A!a}/b|011.3  Device 0 (vif) could not be connected

v:X1r aS0q0x$P0

|H`2z*]%{012、关于本文
(mL(T/tn.S8}{ i013、后记51Testing软件测试网%a8m\;q5m1Ab:P?$`'s
14、参考文档
4c E f,n a015、相关文档51Testing软件测试网 [wwFD!_

51Testing软件测试网Fj.P*O b-[1`tE1E S

 51Testing软件测试网!g&t"h k_r YJ/m

51Testing软件测试网a:j PD/v*?^I:{

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++51Testing软件测试网 KKq8IBM{
正文51Testing软件测试网t'T o5k!p!N v
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++51Testing软件测试网4~i3LZA i/p4f&m@

51Testing软件测试网wqX!sC

 51Testing软件测试网4`OLi2}\w\ k

|\D)E(|00、本文约定;51Testing软件测试网'H!`6U%N)R9B$ta

TYS{0~$q*L0
1f't.URwg,{8_@0虚拟平台是指能支持运行Xen的真实安装的操作系统;51Testing软件测试网&apb,@q1UIzA
虚拟操作系统:是指在虚拟平台上安装和虚拟运行的操作系统;51Testing软件测试网Q`mD`&h,rt P

3]l'd eI5JS v0比如我在Slackware 中安装了Xen,那Slackware就是虚拟平台,通过虚拟平台就可以虚拟其它操作系统了;比如通过Slackware来虚拟Debian、Fedora ... ...51Testing软件测试网 {/Qb(?/CK iW!OO

51Testing软件测试网2F#g} M9I#c+p^M

51Testing软件测试网2X&?'d v4Yh
1、什么是Xen;51Testing软件测试网uu[#vb3c8b

j6Z1{8c#z7~&J2q/S051Testing软件测试网8~)T6`GL7a{)[ l
Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。

/zL`&B { I051Testing软件测试网OO \1u'D8R

什么是虚拟机呢?可能大家知道VMWARE吧,是的,Xen就是类似这样的程序,比如我们可以在Fedora 上虚拟安装和使用Slackware、Debian、Gentoo ... ... 等发行版。因为Xen是基于内核的,相对VMWARE 来说,它占用的系统资源也就是VMWARE的百分之几左右。Xen是不是更有优势呢?只有您实践了才知道。这也是我写本文的最主要原因;51Testing软件测试网Dp@9H!r u

51Testing软件测试网;r@ ]HN?


4a#NUf8Ei01.1 Xen的特性;51Testing软件测试网h5wnb8\1w P3fi"K

51Testing软件测试网v3@u/k^Up


]'UW0p+m5z(Qqz0虚拟机的性能更接近真实硬件环境)51Testing软件测试网b.l {E4g0H:}%V G
在真实物理环境的平台和虚拟平台间自由切换)51Testing软件测试网i!d JW8Q3mEb-~ F
在每个客户虚拟机支持到 32个虚拟CPU,通过 VCPU热插拔)51Testing软件测试网.]Ai"|J p(s
支持PAE指令集的x86/32, x86/64平台
t r7EC2g]C$L0通过Intel 虚拟支持VT的支持来用虚拟原始操作系统(未经修改的)支持(包括Microsoft Windows51Testing软件测试网4d_:[0f?K
优秀的硬件支持.支持几乎所有的Linux设备驱动51Testing软件测试网 \i(H_D Q P

51Testing软件测试网.}Gl*nF)W!P{"x

51Testing软件测试网&Wd2APR H
1.2 Xen的应用范围;51Testing软件测试网;X~X(t5N

+awegYz}051Testing软件测试网G!nk],k
服务器整合:在虚拟机范围内,在一台物理主机上安装多个服务器, 用于演示及故障隔绝;51Testing软件测试网#AcI ?Vn/bHn9A
无硬件依赖:允许应用程序和操作系统对新硬件的移值测试51Testing软件测试网/[w2MsD8Z h$d
多操作系统配置:以开发和测试为目的,同时运行多个操作系统;
L%m(X)]#Uws F3Bk;yA0内核开发:在虚拟机的沙盒中,做内核的测试和调试,无需为了测试而单独架设一台独立的机器;
.d'@[(iH1t i0集群运算:和单独的管理每个物理主机相比较,在VM级管理更加灵活,在负载均衡方面,更易于控制,和隔离;51Testing软件测试网u!jL+F+w9\
为客户操作系统提供硬件技术支持:可以开发新的操作系统, 以得益于现存操作系统的广泛硬件支持,比如Linux;51Testing软件测试网L6`?"e%m[[|-jR

gtg?Ktl!o051Testing软件测试网x(xD;FYL1B];X
1.3 Xen的操作系统支持和硬件支持;

M`?)~R5R#Oq051Testing软件测试网;Ty"z i^"e


} B W$s8v0请参阅: 《Xen v3.0 用户手册》

V!R.E,n }6y0

~9W6Z2bC7qC.K.zb051Testing软件测试网 o YdCm
2、Xen的一点理论基础;

9F"F0w6d0s"c)P#@N k051Testing软件测试网 N)h w0Y-z c"B&f


L]t,U*C:}9@}BP0基于Xen的操作系统,有多个层,最底层和最高特权层是 Xen程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效的利用CPU的物理资源。每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。51Testing软件测试网+T-\;PN.zV

51Testing软件测试网V(v"A~7n.{7B

当Xen启动运行后,第一个虚拟的操作系统,就是Xen本身,我们通过xm list,会发现有一个Domain 0的虚拟机。Domain 0 是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的Domain ,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。

%g9^5h-E7Q/D7Z$o051Testing软件测试网[ W1\z5R2C0h

一个被称为xend的服务器进程通过domain 0来管理系统,Xend 负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个HTTP的接口被传送到xend。51Testing软件测试网$WM$\.h]^P

51Testing软件测试网8VIFB"K!j;r3B*t;}

51Testing软件测试网-vw;ZHI_2zC'Ac1Z)B
3、Xen的安装;51Testing软件测试网N S4R%qn7S x w

51Testing软件测试网AxSF0uV

51Testing软件测试网#dJw2y0A
在写本文时,Xen的当前最新版本是xen-3.0.1,它基于的内核版本是2.6.12.6的。您可以根据自己的操作系统的情况来选择一种安装方式,适合您的就是最好的;51Testing软件测试网;|8MiE |x h#O

51Testing软件测试网cX Xws L*e


(izVuW3EO:E03.1 安装Xen的准备工作;

] R8B}0Fu+e0

8gj8@ydq051Testing软件测试网6wI{"c Hkfm
拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils 及make和automake等;开发库有zlib和python-dev等;

$pVnw {U8\e0

|&n8o9J8NT {0具体明细请参阅: 《Xen v3.0 用户手册》

\5G(HA|d051Testing软件测试网EDmx]

由于Xen用Python 开发的,所以Python 当然也是必不可少的。如果您是新手,我建议您用自己所用的操作系统软件包管理工具来安装这些软件包。

k3@uZ J.JNR0

9ux*L?kt051Testing软件测试网mV9|z2xi/k1j
3.2 在Redhat/Fedora 操作平台上的安装;

,X#oi m1B,Doj7`0

u\2s#h9W%Z!T051Testing软件测试网 ?*J3LMY
在Fedora/Redhat平台上安装比较简单,您可以通过yum 来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat 提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;

7S0\/\*YIW@8t0

0E2J#c{'N b0安装Xen及支持Xen的请参考:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》

g l;cO(Wm051Testing软件测试网 y]$Q:[!y.S sqA

对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;51Testing软件测试网H^,RSm^

51Testing软件测试网#[ b6`*?dAhY;Z8T


r6u rl;GA&wxXJU03.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版);

-jz#]}l[1gA/T051Testing软件测试网Xh)|4ir w

51Testing软件测试网9n` ul6oe
通过Xen的二进制软件包来安装,这应该是通用的,几乎适合所有的Linux操作系统。由于二进制所是已经编译好的,我已经在Slackware 平台上用这种方法来安装,还是成功的。另外etony兄也在Debian上安装成功;

8dK"W/jP051Testing软件测试网E&gFUa5M6]|FFl7LB

您应该到http://www.xensource.com/downloads下载二进制包,文件名中带有xen-3.0.1-install字样的,比如 xen-3.0.1-install-x86_32.tgz,这个软件包表示适用x86_32位机器的。也就是我们用的普通32位PC机。如果您用的是64位机器,应该下载文件名带有x86_64字样的软件包;51Testing软件测试网A4M~G2Fh

9Bs(F%HV)G7j;d0下载好后,就解压安装,我们还是以支持x86_32构架机器的xen-3.0.1-install-x86_32.tgz为例:

%T0i1|`$ZZ_D4u*BK051Testing软件测试网 j+_aT Or/S

51Testing软件测试网W g&[6tUd'p%n
[root@localhost ~]# tar zxvf xen-3.0.1-install-x86_32.tgz
ZF*S1i)Mrl0[root@localhost ~]# cd xen-3.0.1-install51Testing软件测试网%R-M yzF5~)Y2E3VZR
[root@localhost xen-3.0.1-install]# sh install.sh

S {hW _$h["x!p051Testing软件测试网0Z \i6S3?9Z| @,Y

判断是不是安装好了,请查看/boot目录,会发现有很多文件名带有xen字样的文件,另外在/lib/moudules中也会发现有支持xen的内核模块;另外再看一看是否有/etc/xen这个目录。我想应该是有的。

&_[8ltjL051Testing软件测试网 ?Ik @6J a!V\ d9O


aP)JPR c03.4 通过Xen的源码包编译安装(仅供参考);

:X Id?Gg"G4q9_"^3V0

Yr7p'w c-GGu"A T l051Testing软件测试网cz|&j~,gY)Dl4zsdq
通过Xen的二进制包来安装,可能有时内核不太适应我们的需要,这时我们要通过Xen的源码包来安装。通过自己编译来安装Xen及支持Xen的内核;Xen的源码包,您可以到http://www.xensource.com/downloads去下载。文件名带有 xen-3.0.1-src字样的,比如 xen-3.0.1-src.tgz。

%r+BQn8c;dT5CUu0

r(yrV[:Y7D Z4fQ051Testing软件测试网d6}3C!d3|`
3.41 编译原理;51Testing软件测试网;en At.cy weRp

0[%I-i }3y7j051Testing软件测试网-|IGv7K v%~7IX _
通过Xen的源码包编译,其实也没有什么神秘的。在Xen的源码包中提供了一些内核补丁和内核配置文件等。当我们执行编译命令时,首先编译的是Xen程序本身,然后是编译内核 。在编译内核时,程序会自动判断是否有内核源码 ,xen-3.0.1支持的内核是2.6.12.6,如果在xen的解压目录下没有,他就会自动内核的官方站http://www.kernel.org下载 linux-2.6.12.tar.bz2。然后就是自动解压并为此内核打补丁。然后系统会根据指令要求,然后采用相应的内核配置文件,或配置内核进行编译。51Testing软件测试网E+]%|_J5~0W#si

51Testing软件测试网 Y|,NR3J'|"j


`9m[dTc!uUj03.42 编译过程简说;51Testing软件测试网 j(TuyOuKS

51Testing软件测试网-@!JGE#WS

51Testing软件测试网_HP rV
第一步:解压软件包,查看Xen源码包所带的文件;

z,K1Ak LO+~&A051Testing软件测试网5JSf~I


_Na;Di0[root@localhost ~]# tar zxvf xen-3.0.1-src.tgz51Testing软件测试网x:e7Zq&V ?9C
[root@localhost ~]# cd xen-3.0.1
?8U-hd}3tP6R(o6R0[root@localhost xen-3.0.1]# ls51Testing软件测试网Jp,doKw&R

51Testing软件测试网2s5fK#yV

COPYING    Config.mk  README        docs    install.sh            patches  xen
J/O6iEM$G~0ChangeLog  Makefile   buildconfigs  extras  linux-2.6-xen-sparse  tools

ZH]vNB0

:u8[E [z'b0E,| z0我们解压xen-3.0.1-src.tgz 后,进入解压目录,会看到以上的文件或文件夹。patches是内核的补丁包,linux-2.6-xen-sparse是支持Xen的内核目录树,值得注意的是内核的配置文件就在这个目录中;51Testing软件测试网{f{Y}H

9dSw.[/w BJ3Cv051Testing软件测试网V|l7f9sB
[root@localhost xen-3.0.1]# ls linux-2.6-xen-sparse/arch/xen/configs/51Testing软件测试网[z!W%tDU
xen0_defconfig_ia64    xen0_defconfig_x86_64  xenU_defconfig_x86_32  xen_defconfig_x86_3251Testing软件测试网v6]? Kp {
xen0_defconfig_x86_32  xenU_defconfig_ia64    xenU_defconfig_x86_64  xen_defconfig_x86_6451Testing软件测试网&nt7BM7n-U'H.K%Z

/D _4T!x[uy:b"y0看到上面所列出的内核配置文件了吧,我们可能会发现文件名带有xen0字样的和xenU字样的两类文件。在这两类内核中,我们大多会修改的内核配置文件是运行xen的操作系统的内核配置文件,另一个是用于虚拟操作系统的内核配置文件;51Testing软件测试网'F/Iz#uA2[

Bfh8X5y4J)av0xen0字样的就是我们一般是用于我们运行xen的操作系统的内核 ,而xenU字样的就是为虚拟操作系统所提供的内核。另外还有x86_32和x86_64之分,这表示CPU的架构。51Testing软件测试网G*s(^vQk l

51Testing软件测试网R0ezl0l^1Wq,R0Z

比如我们用的是x86架构32位的CPU,我们在编译内核的时候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。51Testing软件测试网v*k%@u(w;` Xk

0G8p K?U0举个例子:比如我的机器架构是x86_32位的,我安装xen的操作系统是Slackware,我想在Slackware 虚拟Debian 、Gentoo、Fedora等操作系统。这时编译虚拟平台Slackware所用的内核的配置文件就是 xen0_defconfig_x86_32 ,而被虚拟平台(Debian 、Gentoo、Fedora等操作系统)所用的内核就是 xenU_defconfig_x86_32 。51Testing软件测试网"R)| xn;| V

$DI c2z5w7y8f0弄明白内核配置文件有何用?我们能明白xen在编译过程中用了哪些内核配置文件,目的是我们在编译过程中可以根据自己的需要来修改它,以编译出适合我们需要的内核。51Testing软件测试网 EN+lfZq/P

xYF%Y.ZB3O6j2uS0比如我们想让Slackware 支持xen,并且还要支持NTFS文件系统;所以我们就要修改 xen0_defconfig_x86_32这个文件。找出如下一行;51Testing软件测试网!C r B+ux9fQ)^&_

51Testing软件测试网$A5\7i4a+CU2j Y

51Testing软件测试网PinGY.?/D*s
# CONFIG_NTFS_FS is not set51Testing软件测试网3j)X @ IV6W

51Testing软件测试网\y0xA p8O,dy*w_

改为51Testing软件测试网}P@3xtQ5B.O)G/I

51Testing软件测试网w%o+p0L4zq&J1|


4aw:q~ z c#Qj'X0CONFIG_NTFS_FS=m51Testing软件测试网nk.zlPg

M wN2J)e3y8oi0如果您想让被虚拟的操作系统(Debian 、Gentoo、Fedora等)也支持NTFS文件系统,所以要在 xenU_defconfig_x86_32找出如下一行;51Testing软件测试网 _|1W)x"}g

q"Wz3{6|5}#\+k^0
&G?~C v%Bb]{"W0# CONFIG_NTFS_FS is not set51Testing软件测试网p cX Ed;o

51Testing软件测试网Yvw|Y4e;XZ[y

改为51Testing软件测试网~ l4LDm8gX|/~

51Testing软件测试网 @4p-s5Pk3m E


&lcU{]I8C0CONFIG_NTFS_FS=m

@3yJX2J051Testing软件测试网O;B-oeD&wQ{

第二步:配置内核;

id0t E*a'X051Testing软件测试网{`$A-O V

这一步有两种方法,一个是直接修改内核配置文件,另一个是内核配置界面来配置;51Testing软件测试网8s/B*[zD4N D)d LW

eTth/D~ w0方法一:通过修改内核配置文件;

gsw9jjh R051Testing软件测试网'QKiq{ {(|n4@o

Xen所带的内核配置文件位于解压目录中的linux-2.6-xen-sparse/arch/xen/configs 。我们前面已经提到了相关配置文件的用途。请仔细看前一步的说明;

n A:F;[[|$y?/XC0

:[C'~dD` ^0方法二:通过内核配置界面来配置;51Testing软件测试网nl_\&v:||$Z(J[&`

_3yn)F_H0[root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig

mIU{ q gJ J&x051Testing软件测试网ha ^Kc8JW

第三步:编译和安装Xen;

({5I4Y I(o.xw0N^0

1@D;`(b#@K051Testing软件测试网qH)O(b(~]dy4o
[root@localhost xen-3.0.1]# make51Testing软件测试网nz$x M1qu%{
[root@localhost xen-3.0.1]# make install

8].w{"|:lP0

?A2}5S'XQ%V1t^0
-_0rv f+}5yhA03.43 创建initrd文件;

:hEUmI0

.a p&sq$~K? ?P051Testing软件测试网)U8Z4d-~2A0g*x wo
有的系统需要initrd-XXXX.img或initrd.gz文件才能引导起来,如果您的系统用了支持xen的支持引导不起来,就要创建一个initrd-XXXX.img或initrd.gz的文件;请参考: 《Xen v3.0 用户手册》51Testing软件测试网m6`ZSm I [

PYX'?R_E[051Testing软件测试网%Q0`fI+B-G5e/k c%`O
3.44 关于xen0和xenU内核说明;51Testing软件测试网VX,Q r8e Tt v

![^(q k#C]0
"@Q#]$tauK3BN3Y0一般的情况下会在/boot目录中有两个与xen相关的内核,有的文件名带有vmlinuz-XXXX-xen0字样的,有的带有vmlinuz-XXXX-xenU字样的;比如:

,["b[6i;h5G4Ny0

t)TM C2dT051Testing软件测试网4{J j$Kcgs DA
[root@localhost xen-3.0.1]# ls -la  /boot/vmlinuz*xen*
s/olic Y0lrwxrwxrwx  1 root root      21 2006-04-12 07:42 /boot/vmlinuz-2.6-xen0 -> vmlinuz-2.6.12.6-xen0
W } [_*u!CG(? ?0lrwxrwxrwx  1 root root      21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU
rzq%k;F0lrwxrwxrwx  1 root root      21 2006-04-12 07:42 /boot/vmlinuz-2.6.12-xen0 -> vmlinuz-2.6.12.6-xen0
IGk/Ni]0lrwxrwxrwx  1 root root      21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU
QP;zS&DF#n R3]0-rw-r--r--  1 root root 2180524 2006-04-12 07:42 /boot/vmlinuz-2.6.12.6-xen051Testing软件测试网!X.S ~3yx5w}/T
-rw-r--r--  1 root root 1129950 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU

G QPWc|051Testing软件测试网 U w]:n({g7[

其实就是两个与xen相关的内核,其它的都是这两个内核文件的链接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用来引导虚拟平台的,比如我们在Slackware上安装Xen,那Slackware就是虚拟平台;所以如果要让Slackware的xen能运行起来,必须用xen相关的内核 ,也就是vmlinuz-2.6.12.6-xen0这个内核。 而XenU字样这个内核,是用来引导虚拟操作系统用的,我们在以后会提到它。51Testing软件测试网\(^F8vQ7a cN/H&b

#X})|!G LXT4P0
Io3R]Y^bA:p'L04、引导XenLinux的GRUB配置;51Testing软件测试网:EU?6T3L

'_/L5xv4uRZn n051Testing软件测试网v(S:|c,z&O r2sIX Bv
一旦我们在Linux操作系统安装好Xen后,这样的系统应该被称为XenLinux。如何才能引导拥有Xen的Linux呢?这时我们要用到GRUB系统引导管理器。我们修改一下GRUB的配置文件menu.lst或grub.conf就行了。此文件位于/boot/grub目录中;51Testing软件测试网 \(_'N$Dy y8wl$ui#iA

+]2i w_*a%`Q0
ug[ K"O c04.1 判断系统所在的分区;

:XB/V.Sr;r }0

a*ky&c)eN3i,o/U0 51Testing软件测试网MjSx+T"r9{M

51Testing软件测试网gM}GA!YUgoX!`

[root@localhost ~]# df -h
GPNZ"}C*uZ0Filesystem            容量  已用 可用 已用% 挂载点51Testing软件测试网s6O6H Aw*y)c
/dev/hda6              12G  6.9G  4.9G  59% /

i9?(O OVr t d0

8}cj/a%U\br051Testing软件测试网5rR;z)wW'^gE
4.2 查看/boot目录中xen相关的配置文件;

:la%nC+za(^N(uXw051Testing软件测试网2f3F}Ab gK

 

(Ta.X]O)p? I0

}A8Em+\}0[root@localhost ~]# ls /boot

Um f @y-O0

Z5B ByX0注意:我们前面已经说过了,xen提供了两个内核,一个是虚拟平台用的,也就是文件名带有xen0字样的;另一个带有xenU字样的,这是用于引导和支持虚拟操作系统用的。51Testing软件测试网&?[?'?8[D)s j

51Testing软件测试网} nGU#BF(E

什么虚拟平台,比如我们想用Slackware 的Xen虚拟Fedora、Gentoo .... 。那么Slackware就是虚拟平台,而Fedora、Gentoo... .. 是被虚拟的操作系统。Slackware是一个真实安装在您的机器上的操作系统,它提供的是一个运行xen的环境。为了让Slackware能支持xen ,所以必须用于支持Xen的内核,也就是在/boot中有xen0字样的文件。

,`*|s9pHY051Testing软件测试网C'S`'l F,Lu

如果您安装了Xen,会在/boot中有两个文件vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU,51Testing软件测试网1g)zI0C+D x H

51Testing软件测试网#d:c:sHk4R]$a

51Testing软件测试网y'\1]/E6|*^!x
4.3 禁掉 TLS Libraries ;

cO4b h4j;Lm r-a0

'sDS0U3ZC{%H4z;Q0 51Testing软件测试网1Y:w*h2v9Omg

+L9nLTE!J8u0[root@localhost ~]#mv  /lib/tls /lib/tls.disabled51Testing软件测试网ALc:mG

51Testing软件测试网"N C)z a7P9^)F:K&~

禁掉的理由,请查看: 《Xen v3.0 用户手册》51Testing软件测试网P9P7b(ms["v

51Testing软件测试网 X-A1X.X2mV

51Testing软件测试网(N,KdpW.I*f
4.4 引导XenLinux的GRUB内容;

2DkX6X1o3WQU/j/D]051Testing软件测试网'iWx&kZp

 51Testing软件测试网\ qK!De(LG_)R

51Testing软件测试网3A7X!tV/TV;x

title SlackXen
o` K'm;Z:z_0kernel /boot/xen-3.0.gz51Testing软件测试网 l5K4OV;xq-c
module /boot/vmlinuz-2.6-xen0 root=/dev/hda6  ro console=tty0

.G;KSa*@u0

H!eh)U'js0如果有inintrd-2.xxxx-xen.img或initrd.gz之类的文件才能引导起来系统,还要加一行;要以/boot中的initrd相关的文件为准;

(c:ta:VL7m0

-o#s4Tw"[RZB1Y,E9q7k:y"b051Testing软件测试网4f2D,tlS)DV
modules /boot/initrd.gz51Testing软件测试网x/C Z4G4nZ@

m3@t }k1{"e2x` Mj0有关GRUB的文档:《系统引导管理器GRUB,为初学者指南》

%m|j'd9ME+fJ*D Yk051Testing软件测试网h8dGmv coc

注意:与传统GRUB的定义有点不同,就是kernel 是用来定义Xen的,而Linux的内核及initrd映像是通过module 指令定义的;要仔细看好;

1l8LM3K5Ov0

$VB,s/X!D2e+S cIt051Testing软件测试网S w(fg zS/^` z\
5、Xen的配置和管理工具;

0N!Msi g-S L051Testing软件测试网 i;| {LYpO

 51Testing软件测试网fuy#XzX@/n

w CLDr05.1 Xen的相关文件存放位置;51Testing软件测试网'I(JDA W/w

f5y)`9^+Am_051Testing软件测试网^j)H&|2Cu
xen安装后,文件放在什么地方了呢?主要放在以下几个目录;51Testing软件测试网E4Z%F4rH E

!sFvVL5_)~0
D!qrj*|DU$L05.11 内核及xen自身存放于 /boot51Testing软件测试网7NzBV irpW

R5Mlk9?["P;g8A x0
U!N)\)l/hF[U(S0安装有xen的操作系统下的/boot目录中,存放xen本身及支持xen的内核文件。比如文件名带有xen0和xenU相关的文件;51Testing软件测试网]4}H5O.xfP^%F

51Testing软件测试网)SY/}4?o;R

51Testing软件测试网,z&rF#cKT5e b}4s
5.12 内核模块存放于 /lib/modules51Testing软件测试网R6cL ob5@'_F

9@V$Cm/R$_{0
-Or,r(ga/j0内核模块包括虚拟平台支持xen的内核xen0的模块,及支持虚拟操作系统所用的xenU的模块,一般的情况下是在 /lib/modules下有两个xen相关的目录存放。一个是文件夹名带有xen0字样的,另一个是xenU字样的;

g oQ NBu0

st'N:o#B3KIX0
;s|K/Z%ag(n05.13 xen的配置文件及守护程序的存放位置;

ym6@:`)s!_0

.f;@!V N^cFJ8cI2e051Testing软件测试网2@$q#]u/I-j9X
一般的情况下,Xen的配置文件存放于/etc/xen目录。 比如 xend-config.sxp是用于配置网络的,不过我们不必更改,用其默认的就能完成我们的需要。xmexample1 xmexample2是两个示例性的配置文件。我们在配置引导被虚拟的操作系统时,这两个文件可供参考;51Testing软件测试网w1s5wG)kx:T9^K

51Testing软件测试网x#U4E+h$a6WP7S

Xen的服务器xend和xendomains启动脚本,一般是位于/etc/init.d/目录中,也就是/etc/init.d/xend ;/etc/init.d/xend负责启动xend服务器,而/etc/init.d/xendomains负责第一个虚拟的系统及其它的Domains,也就是Domain 0 。

8CWVvr8Uw5l4r+d051Testing软件测试网)o!Q&WG&~/NHbZ N


Q~1nH Fo05.14 可执行命令存放于/usr/sbin51Testing软件测试网4Q \:Kb7Jng"q.P

51Testing软件测试网%nz BI#w}_?6V

 51Testing软件测试网:I1tD"|V

+u)ixR/?_d0p0[root@localhost ~]#ls /usr/sbin/xen*51Testing软件测试网6P_'F6]L z a
/usr/sbin/xen-bugtool  /usr/sbin/xenconsoled  /usr/sbin/xenmon.py  /usr/sbin/xenstored51Testing软件测试网F9Sx1P#CN
/usr/sbin/xenbaked     /usr/sbin/xend         /usr/sbin/xenperf    /usr/sbin/xentop51Testing软件测试网 ^9G@*qVz\u t

51Testing软件测试网VV4~8_&uvhV

[root@localhost ~]#ls /usr/sbin/xm

f%zl D}ZT)c;Q051Testing软件测试网gZ*H4P E-a:m8y!p7I {#A


C/d;qji05.2 Xen服务器的启动;

4rmR.YuY0

!]jUX];`nS0
D ?0a~h `D.G#n0xend服务器的启动/停止/重启/状态查询,请用下面的命令;51Testing软件测试网 R^ iqr$Y$b)kL

u/h(__(O+ytM051Testing软件测试网!~ s;i I.S
[root@localhost ~]# /etc/init.d/xend start   启动xend,如果 xend没有运行)
o iK s U0[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在运行)51Testing软件测试网pmuyzH q
[root@localhost ~]# /etc/init.d/xend restart  重启正在运行的 xend,如果xend没有运行,则启动
X2L s ]2Bi0[root@localhost ~]# /etc/init.d/xend status   查看xend状态51Testing软件测试网 A}"fS~I#y9J W*{5nS

$w5s]4hUp4V7@2Ir}0启动xendomains 服务器的启动/停止/重启/状态查询,请用下面的命令;一般的情况下,xend服务器启动了,xendomains也会自动启动。所以这个只是掌握一下就行了;

l&Awy%O051Testing软件测试网EZVb6f^#X7O

51Testing软件测试网 oN*k*R'w D
[root@localhost ~]# /etc/init.d/xend start   启动xend,如果 xend没有运行)
pt)C J2F4d:z0[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在运行)
Up)[jf3Bj0[root@localhost ~]# /etc/init.d/xend restart  重启正在运行的 xend,如果xend没有运行,则启动
Wo]:{3\2KY0[root@localhost ~]# /etc/init.d/xend status   查看xend状态51Testing软件测试网L:v\ \R4`

51Testing软件测试网x$}5Xm:xZ*{zC;O


:q4uX l.b:E S0[root@localhost ~]# /etc/init.d/xendomains start
R!q NtT4{0[root@localhost ~]# /etc/init.d/xendomains stop51Testing软件测试网Eo3m3y$ea1z9A7[
[root@localhost ~]# /etc/init.d/xendomains restart
p$GL{2j6Mh*l3M x#K0[root@localhost ~]# /etc/init.d/xendomains status51Testing软件测试网'l5~E+}$c H1E3x z'w

51Testing软件测试网D3{m9i!` X| oj/q8B

51Testing软件测试网,te(SW(~.P8t(N
5.3 Xen 管理工具xm;

,nHq:k]0

wW;XG'@%[X*l8x0
[ mM#l/SGB0我们前面提到Xen的可执行命令中,我们可能看到了一些以xen开头的命令,您不妨尝试一个一个的尝试一下他们是做什么用的;比如xend是服务器的开启运行命令 ... ....51Testing软件测试网$s5PAK8Xs"}O O

8F!F QgA.R0其中xm命令,就是管理Xen的最基本的工具;您可以通过xm --help 来获得帮助;51Testing软件测试网;^/OIb&sR'K

51Testing软件测试网3OS7v.ev?

5.31 列出所有正在运行的虚拟操作系统;51Testing软件测试网7@-}p[7T:~%TE

51Testing软件测试网.`NDb7S;y5`iiBmx

 

$kT/[&x\*K q1p0

$g^T9u(Y!i%Z#W0[root@localhost ~]# /usr/sbin/xm   list51Testing软件测试网*\4l0Kd#EN~*[A }:[

0f+{gvh/a%y0Name                              ID Mem(MiB) VCPUs State  Time(s)51Testing软件测试网D |&WDB B~H
Domain-0                           0      450     1 r-----  5377.051Testing软件测试网5Y&Uz,d v
fc5                                4      256     1 -b----     0.151Testing软件测试网 xfLkS

+s#k UZ@*[4xM f0列出所有正在运行的虚拟系统(也可以称为虚拟机);我们可以看到,一个名为Domain-0的系统正在运行。Domain-0就是Xen本身,也可以称为虚拟平台内存大小,而Domain-0负责提供其它虚拟操作系统的硬件环境,其它的系统都是基于Domain-0开始的,我们看到他的ID为0就应该知道它的权限是至高无尚的。所占用的内存是450M,不过这个是可以指定的。 虚拟的CPU个数是1个,运行状态处于r,也就是run,正在运行中;运行时间是5377秒;

+y5Q:}.zWIgCC0

"Pm(p4B+]tR0还有一个虚拟系统fc5,他的id是4,占用内存256M,虚拟CPU个数是1个 ... ...

_f:V2zjh0

REj^VdJ,VV0
L&?B? Ux j Z05.32 通过配置文件来引导被虚拟的操作系统;51Testing软件测试网-Op)u2X-f

51Testing软件测试网0Sg*rV7K

 51Testing软件测试网FbFf)u0e*s

,O` xI9t.Pd0[root@localhost ~]# /usr/sbin/xm    create -c 虚拟操作系统的启动配置文件51Testing软件测试网&Ckg@ Po'j%I

51Testing软件测试网s O}e N l,L

比如我们要启动被虚拟的操作系统Fedora Core 5.0 ,我们要写一个启动Fedora的配置文件,比如是fc5vm.cfg。然后就可以通过下面的命令来引导Fedora了;

&Y ^$T,~c1y!gs,p051Testing软件测试网u4W0[ pvf8~5@T

51Testing软件测试网T6T_ p$~ m1EX
[root@localhost ~]# /usr/sbin/xm     create   -c   fc5vm.cfg51Testing软件测试网(Ya+[1]Fur'd D+?V

l5b#p*h:V0s)kQ4h9V0
:m&Sx1R P05.33 从终端或控制台登录正在运行的虚拟操作系统;

(Y!ykr/k{I0_0

i~T6i/k0 

EZ_f_ H?%n^)V(p051Testing软件测试网l0R+UiF

[root@localhost ~]# /usr/sbin/xm    console   正在运行的虚拟操作系统的Name或ID;

l?8H8g?&?PMz0

't&x.p(A^I0举例:51Testing软件测试网n[;N0r4w2@_

51Testing软件测试网"VLf5\y-d9\p#}4n


6Up H|S;jil+@b0[root@localhost ~]# /usr/sbin/xm   list51Testing软件测试网*R3F#~;F?(e9[
Name                              ID Mem(MiB) VCPUs State  Time(s)51Testing软件测试网S N{"\.EDd
Domain-0                           0      512     1 r-----  5561.951Testing软件测试网 t#HE%wfBL#q&p
fc5                                4      256     1 -b----     0.2

2@9] a\/@S0

?#V+n)~9w hC0[root@localhost ~]# /usr/sbin/xm   console   fc551Testing软件测试网 uo-px2Y-Ri-r!m h,B L

51Testing软件测试网*O$r~LH\;[

51Testing软件测试网\+N`J+Jm
5.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统;

"e d.gJ$`)w;AJ ~g0

o4Oe(Ph x([0 51Testing软件测试网4Cp.rt)O8ZoW5t

{r:u0V:v+c6U0[root@localhost ~]# /usr/sbin/xm   save <DomId> <File>   51Testing软件测试网4r8|,@ wy,Aw
[root@localhost ~]# /usr/sbin/xm   restore <File>          

f!d;oFh"v)D051Testing软件测试网*`*J-yw5[5{J'w*^

举例:51Testing软件测试网dI){9yv9q

nmsV7nZ;un|V/H0
G\x*ax0[root@localhost ~]# /usr/sbin/xm   list
9i1[Z%r|p8d? G0Name                              ID  Mem(MiB) VCPUs State  Time(s)
}o&i[ p ]0Domain-0                           0      458     1 r-----   260.3
G5zO l9A`.l0fc5                                2      256     1 ------     6.5

/S9D!o @ y1eJ051Testing软件测试网~z@"^l

[root@localhost ~]# /usr/sbin/xm     save  2  fc5run.save51Testing软件测试网5HY:~sa6Qlx
[root@localhost ~]# /usr/sbin/xm    restore  fc5run.save
)o(AR"qIQ.GT P#f(M0[root@localhost ~]# /usr/sbin/xm     console  fc551Testing软件测试网)wa&W*] |~|!L

;yEy \p6Ts051Testing软件测试网uA%PK*vt"[
5.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统51Testing软件测试网)\-H3yHo eH

51Testing软件测试网.W2LJ2pT]

 51Testing软件测试网 S;o%O L.o9{$|

v4PxmWb Cq o0[root@localhost ~]# /usr/sbin/xm    pause  <DomId>51Testing软件测试网s&ls(} {n~7p
[root@localhost ~]# /usr/sbin/xm    unpause  <DomId>  

0g ^\2_4fD#U$MM0

]&a M'YfK0举例:

Q,j9KTr051Testing软件测试网q+s3TCd1iX2Y


~9x]C{1zo1O0[root@localhost ~]# /usr/sbin/xm   list51Testing软件测试网U+f@e!g

*r_,Z Z.`0^.D0Name                              ID  Mem(MiB) VCPUs State  Time(s)51Testing软件测试网:_:x8e_f5K3fP7k$ue
Domain-0                           0      458     1 r-----   260.3
*R ?$Y-a"C @ Ja0fc5                                2      256     1 ------     6.5

,v(T Nn)E&Kp051Testing软件测试网X3[#NA7Ij j3O

[root@localhost ~]# /usr/sbin/xm    pause 2
2Bf)}+H0WP:Eh)b0[root@localhost ~]# /usr/sbin/xm    unpause 251Testing软件测试网'Z(Vb6vgU c&U-Q.~:_

51Testing软件测试网,B-?/Z#b] T


Y Qv&C6D"\ih05.36 调整虚拟平台/虚拟操作系统的占用内存

uPM`6C/IQ051Testing软件测试网K`jt9bB+E,e


JM(V[6O{g0我们可以调整正在运行中的虚拟平台(Domain-0)所占内存大小及虚拟操作系统所占用的内存大小;

/C&v{-pHc&p9G P$o051Testing软件测试网 nt:l`[


6A(^ zm|j\/W\T0[root@localhost ~]# /usr/sbin/xm mem-set   <DomId>   <Mem>51Testing软件测试网NoKa(sD2q

51Testing软件测试网2h6ylgP [

举例:51Testing软件测试网KD"afe z+HD

51Testing软件测试网SSdpz}6p,y


7YBvd5o R0[root@localhost ~]# /usr/sbin/xm   list

&q J_`0v(O-egz N6n051Testing软件测试网wP.r,i2gXD:m

Name                              ID  Mem(MiB) VCPUs State  Time(s)51Testing软件测试网 R%b mJcd
Domain-0                           0      458     1 r-----   260.351Testing软件测试网lY;OKS&f e'G
fc5                                2      256     1 ------     6.551Testing软件测试网7m i$Hbyp

51Testing软件测试网|V;[6D\;bY8fy

[root@localhost ~]# /usr/sbin/xm mem-set  2  12851Testing软件测试网 VQbQR;L

51Testing软件测试网2V*hQ3pU


[ @s0Hso"Cn05.37 关闭被虚拟的系统51Testing软件测试网:mPxcl rD P

`'zQCE(q0 51Testing软件测试网4d g6JS T&Q(F

51Testing软件测试网6a7Ma+H7E

[root@localhost ~]# /usr/sbin/xm    shutdown  虚拟操作系统的Name或DomID51Testing软件测试网GmD4j~s Q
[root@localhost ~]# /usr/sbin/xm   destroy  <DomId>  立即停止虚拟的系统 (重要);

qnW0G4aa?e051Testing软件测试网"C"Evyzb{2U

举例:51Testing软件测试网/q-I a-t4II

51Testing软件测试网+[6gn [t@,Y


O@3R A2aB2|0DU.w0[root@localhost ~]# /usr/sbin/xm   list

,E1e(|m(?]:?051Testing软件测试网?T0o1t*_1C

Name                              ID  Mem(MiB) VCPUs State  Time(s)
.p;`)BQQKs0Domain-0                           0      458     1 r-----   260.3
_](sMbX#@{]0fc5                                2      256     1 ------     6.5

f\ u8J%C9a-b051Testing软件测试网,vS3~A&r)["b0i |[]

[root@localhost ~]# /usr/sbin/xm   shutdown  fc551Testing软件测试网&CF9E7hL_ p!O

vzY+ijWI,?6g\0[root@localhost ~]# /usr/sbin/xm   shutdown  2
~ w,|,@;a7X0
3m? h*G'A/S| A T,H0[root@localhost ~]# /usr/sbin/xm    destroy  251Testing软件测试网8@AM#w4Ly@MSrO

Z^;f6k:r JDlK0
?WP fE|Kb05.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数;

5DfTi];[0

,{Jw/I'fK7N7Cx {5w0 51Testing软件测试网A6@qH8_e0?.f$`

9i ZJV1t L0[root@localhost ~]# /usr/sbin/xm    vcpu-set   <DomId> <VCPUs>  

5i}ujH c2G)C\051Testing软件测试网R;zV3p9ycp dj-b:x

举例:51Testing软件测试网J:sWU2N e O

-JG9oe8HQ-A0
0sH {W C,I"z0[root@localhost ~]# /usr/sbin/xm   list

+V{"xMq D/R k4E0

7X;bsMtE0Name                              ID  Mem(MiB) VCPUs State  Time(s)
MJp)|c$}0Domain-0                           0      458     1 r-----   260.351Testing软件测试网}x(B6Vd_c/Un G8o
fc5                                2      256     1 ------     6.551Testing软件测试网"f | KHkJn,K)sF

7X]k6C L0[root@localhost ~]# /usr/sbin/xm    vcpu-set 2 451Testing软件测试网Kt-INo#N2f,Dl

51Testing软件测试网;GY7r!F,hr'J*w


/ks$EIpes];]/l,TV05.39 查看虚拟系统运行的状态;

!pWz$`#\0

[X(v#H/soFH0 

v@'Jt*T\/OJ2l051Testing软件测试网 uF)l^#YT4o8Jz] U

[root@localhost ~]# xm   top51Testing软件测试网0J9{5I#e1m9V"b

8x*yF$\^[F I)B\0[root@localhost ~]# xentop

A gs:W6s)AQ0

E"V|S b?0
~| XO7`Hq4V#M06、虚拟操作系统的文件存储系统;51Testing软件测试网dU&f/\2U$}

51Testing软件测试网7N1E8Ca,E X2ws

51Testing软件测试网&J,A9yW0B r
我们虚拟的系统应该有一个存储的地方,也就是文件系统。被虚拟的系统能安装和运行在哪些文件系统上呢?能安装和运行在一个实际的物理分区上,一个映像文件中,或NFS等网络文件系统中;51Testing软件测试网/R(@]M.YmbM$J_2R

*Wk+S-h.r9O0
W,mkFI y~ f0k;`!C"H06.1 以实际物理硬盘做为虚拟操作系统文件系统;51Testing软件测试网!C B{j)}/hk%c

-[s)EhKi.~051Testing软件测试网QnA'F(Q],vg(Y
以实际物理硬盘分区做为虚拟操作系统的文件系统,要经过硬盘分区,创建文件系统流程;

&t_Qrl6[Q2L051Testing软件测试网e:d&NK;`;u+hO"c A(^

请参考:《Linux 创建文件系统及挂载文件系统流程详解》51Testing软件测试网#t|m7O3gMy {

C)si?y+R:PDzJ051Testing软件测试网8h:b \(k!^6PGNen
6.11 准备物理分区及创建文件系统;51Testing软件测试网H0Z&C[)n/c;AC4d

#MD)Q c:fw` [-h051Testing软件测试网-]k5IDWJ
《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
Tz^oV:gg Zf)?V0《实例解说 fdisk 使用方法》
k&s2D6EeYI0《合理规划您的硬盘分区》
4@^3@-D/wa t+V0《Linux 创建文件系统及挂载文件系统流程详解》51Testing软件测试网V7R4JrR mMkXa

3f-dJ0Lh-a051Testing软件测试网m8Yp4w'lE+ZC"_
6.12 在物理分区上构建操作系统;

8A s|["Z'H051Testing软件测试网 A fK"g{g0A

51Testing软件测试网8OD"m$N Dn GA
构建操作系统,目前在一个Linux操作系统中构建另一个操作系统,主要是通过chroot工具和软件包提取工具来构建。基础的东西还是需要一点的,请参考:《通过chroot 构建Linux操作系统概要》51Testing软件测试网I#@7d!_\j;ut

51Testing软件测试网'G,P0J;B/?l2W

目前在开源社区中,已经有人把一些常用的发行版的基础系统做好了。我们能拿过来直接用。呵。。。。。只要有基础系统,我们就能chroot进入,我们就能用相应发行版软件包管理器来构建操作系统了。

i)iLuu4vF051Testing软件测试网-Up,G^"]3t4K `

操作系统之基础系统资源:51Testing软件测试网{qZ5}^!{D

8wA(ho^Cd0http://jailtime.org51Testing软件测试网0| _ b"LK,^

ATM/b8` i#U.f0您可以直接下载您喜欢的操作系统,解压后,然后挂载映像文件,然后把映像文件的内容都拷到物理分区中就好了。不过还得做一点小小的修改,比如您下载系统映像文件中的/etc/fstab等文件。要根据您的引导的虚拟操作系统中定义的虚拟映射点来改。

ejiki&hPj0

g{ `.{0}-x3G0
;Rj'U!FV06.13 虚拟操作系统的引导文件中关于文件系统的定义;51Testing软件测试网;k1Hv7|-n&x S#gN

B;u:btG8{J:R0
:[vt'i:M0如果您的硬盘有一定的空间,就可以把被虚拟的操作系统安装在硬盘的实际物理分区中,当然您首先得准备一个硬盘分区。然后格式化成Linux的文件系统,比如ext3或reiserfs 等;然后是在这个分区上构建您想要虚拟的操作系统,最后才是写虚拟操作系统的引导配置文件,在配置文件中,要用phy:来指定。51Testing软件测试网;V+b%k5f*J7BD

W Pr&rG.QJ0比如:

Y-rv0fs DS"Ur051Testing软件测试网}3vb1P:J~Rc

51Testing软件测试网Ng:a$knA w}
disk = ['phy:hda7,sda1,w']51Testing软件测试网U-E/c He6A

51Testing软件测试网:di$Y;^ G Ij7q

中文意思就是:51Testing软件测试网 g0X&_tb ~^U

v&b|I2k-bs;SL k q0disk=['phy:分区,映射点,w']

5U-t~d X"` dcW0T051Testing软件测试网7~9fhB*z h

这行是什么意思呢?就是表示被虚拟的操作系统安装在/dev/hda3,我们要把hda3硬盘分区虚拟映射到/dev/sda1,并且是可读可写的;在这里要值得注意的是虚拟平台正在使用中的分区不能做为是映射点。51Testing软件测试网 Hn:i_W/u

51Testing软件测试网A(C}tl

比如我在Slackware是位于/dev/hda6的虚拟平台,也就是真实运行的操作系统,我想用它来虚拟位于/dev/hda7分区的Fedora。所以我不能把/dev/hda6做为hda7的映射点。也就是下面一行是错误的:

3aQ,N8A8ard6V4F051Testing软件测试网,^,Gh T+z


_Sv5[$t/e V7r?0disk = ['phy:hda7,hda6,w']51Testing软件测试网)eK^pJ!W6f,H*dt,b

bWj!Bn;G0如何定义映射点,其实也比较好办,只要符合Linux设备的规则就可以;比如下面的也可以;

vnya%cV6NB&A0

1|0Z O)Y g1q,Rd051Testing软件测试网)fo'Wm)e-[b L
disk = ['phy:hda7,sda2,w']
]7y1m ymJP$H0disk = ['phy:hda7,sda3,w'] 
?{jhh ~4U'G0disk = ['phy:hda7,sdb1,w']
l lvr)o7J x"b5V0disk = ['phy:hda7,sdb2,w']
'oB4K3] r R9Jaz.Yy0... ...51Testing软件测试网U#w+w,t,zeC3D

|,JHA-PP[ |&c0什么是映射点呢?也就是说通过phy定义后,被虚拟的操作系统的位于的真实的物理分区,在虚拟平台中,被映射到另一个分区;可能这样说有点不太明白。呵。。。。。。51Testing软件测试网"W }:e1M oh

51Testing软件测试网g'`XTTyj\k

举个例子吧:比如我们在Slackware虚拟Fedora ,而Fedora 位于/dev/hda7中。我们在引导Fedora的配置文件中定义Fedora所用的物理分区被映射到/dev/sda1;

T y$} @1o9| R1r1E0

E[K:k.Q!v0
B M|Eu @ ?)Sab0disk = ['phy:hda7,sda1,w']
ZwvXR1ym0root = "/dev/sda1 ro"

3i5YB:HW5ha0

$bB1s#Y[Jq9K0当我们把Fedora引导起来的时候,Fedora的文件系统就是用被虚拟后的分区,也就是/dev/sda1。在Fedora中,我们通过df -h 查看到Fedora是位于/dev/sda1。

x+K3J?e051Testing软件测试网 k7{ Ld-h)N"N0?

所以在引导Fedora的配置文件中,还要有一行来指定Fedora的root在哪里,就在/dev/sda1上;因为/dev/hda7已经被虚拟到了/dev/sda1。这回明白了吧;51Testing软件测试网x&w ]Q^(p

[0k:c`Y4y7^051Testing软件测试网'BJR,Y2gk8tO
6.2 以映像文件做虚拟操作系统的文件系统;51Testing软件测试网%C*jN W%e*U

!`rs4K4K{0
0_5D4d [d})rxC0以映像文件做为虚拟操作系统的文件系统,这种方法是比较常用。也是比较方便和易于操作的,也就是说被虚拟的操作系统是放在了一个文件中。51Testing软件测试网Eu%hwg"Z

?5g X^W'qCI}\ R051Testing软件测试网)Ct U8n V1T"x%E
6.21 创建映像文件;51Testing软件测试网,V.vY3NJ'h!n8T

j s#Gfg"I0 

[ o9u$id@f0

4f3u3};V"@aJ"L I0[root@localhost ~]# dd if=/dev/zero ōf=fedora50.img  bs=2k  seek=2048k count=151Testing软件测试网#mDH,H? D&cX
读入了 1+0 个块51Testing软件测试网T5D7q]E#e.~3Zi
输出了 1+0 个块

T:x U!Qu DB3EZ0

G O Wu:NkF!`0[root@localhost ~]# ls -lh fedora50.img

%q4P/kn1~~]0

3B `h^qt4DYv0-rw-r--r--  1 root root 4.1G 2006-04-13 01:27 fedora50.img

^n5i S i e0

|9ZDM isuq0我们可以用dd来创建映像文件,上面的例子是创建了大小为4.1G的体积的,名为fedora50.img的映像文件;您可以调整上面命令参数的大小来创建您想要的体积大小的映像文件。

UgR9CF$|4N*F0

G4J(i_ H)P`s051Testing软件测试网5tj[3}vqy
6.22 格式化映像为Linux文件系统;

e`]RLZ051Testing软件测试网:p*`8w$X*Waa0x#m:t


H?&S,Tm y5Zq0Linux文件系统,比如ext3或reiserfs,看自己喜欢吧;您可以用mkfs.ext3或mkfs.reiserfs命令来创建文件系统,请参考:51Testing软件测试网 an%M3pD4l9n

51Testing软件测试网ux3}so8^!E

51Testing软件测试网3a5sopbwq
[root@localhost ~]# /sbin/mkfs.ext3 fedora50,img
0Pi P$nh2]0mke2fs 1.38 (30-Jun-2005)51Testing软件测试网`|9y-GP&h4Ule#M
fedora50

TAG: xen Virtualization

 

评分:0

我来说两句

Open Toolbar