Xen 初学者指南

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

51Testing软件测试网PJ.|lM

51Testing软件测试网 CD'Z V-L z:a7fB
作者:北南南北51Testing软件测试网2[pB8t.I[
来自:LinuxSir.Org
nE'du#C0摘要: 本文是根据 《Xen v3.0 用户手册》的实践篇,将初学者需要掌握的Xen基础知识清点了一下。在本文中举了一个实例,用Slackware虚拟 Fedora ;最好能对大家有点帮助吧;51Testing软件测试网0V| ^Cl)mNO

51Testing软件测试网 j%W9G+n/_6B|6J!H

 

/[y8]dqw)t051Testing软件测试网'k-UEL9O#a ["fDi

目录

0R6TA^\051Testing软件测试网~X%v#cnpFG@*R

 

6K6LuI7l&iE051Testing软件测试网Q*k[0[ k`

0、本文约定51Testing软件测试网Y(F#f2^~,|j7WL
1、什么是Xen51Testing软件测试网j7qLX/^S(S.}

51Testing软件测试网+k"@ rbv8?x6@

1.1 Xen的特性51Testing软件测试网"xg)^#V w'c-r(T
1.2 Xen的应用范围51Testing软件测试网-vJ3k Y O`&x
1.3 Xen的操作系统支持和硬件支持

7Z.l(f1M7X%Trn)e%mp0

kl/E ?3Hj4MiK#_!?0
&N"F6jv"KGQV*H3E02、Xen的一点理论基础51Testing软件测试网[!cq9t J
3、Xen的安装

i/[IP,z0

4\cG"QC3MO03.1 安装Xen的准备工作
_ x:B xg$? P8d9zhr03.2 在Redhat/Fedora 操作平台上的安装51Testing软件测试网%eU'YE8Z)`
3.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版)51Testing软件测试网aM:qX4XR,J8A9o3S.m
3.4 通过Xen的源码包编译安装(仅供参考)

rv$e%iKz"e2h1O0

Z9J*X5vH03.41 编译原理
hRya*r a:PkL0wg8Q03.42 编译过程简说51Testing软件测试网 T {uL @qF K
3.43 创建initrd文件51Testing软件测试网"yX1nH(]'yV:g
3.44 关于xen0和xenU内核说明

"o`-u X(U E~EB051Testing软件测试网S"R(QOX0O]G

4、引导XenLinux的GRUB配置

's w$@7nMBNK'~T)?6[t051Testing软件测试网+nJX-MN1Kk'{i8g^

4.1 判断系统所在的分区
3L1}?2n8O!W04.2 查看/boot目录中xen相关的配置文件51Testing软件测试网_{ ]_Y@
4.3  禁掉 TLS Libraries51Testing软件测试网H H-?%pY ~$Gr2Z
4.4 引导XenLinux的GRUB内容

4o i Q UJY0

d`(ArD"Nlx0C05、Xen的配置和管理工具51Testing软件测试网6Bx+^dy:P

51Testing软件测试网2M;T,Bq/J

5.1 Xen的相关文件存放位置51Testing软件测试网 G(v&j T0@ p-H)\l#X

51Testing软件测试网z0e,{-ePJP

5.11 内核及xen自身存放于 /boot51Testing软件测试网)} ~u~'f p!W%dC
5.12 内核模块存放于 /lib/modules
(AgGo+PJJ05.13 xen的配置文件及守护程序的存放位置
^Z7R6w `U&o%s05.14 可执行命令存放于/usr/sbin51Testing软件测试网d%TmP kH/S

`GP\h,a7g05.2 Xen服务器的启动51Testing软件测试网7h qlz8^{2M
5.3 Xen 管理工具xm51Testing软件测试网jk%BxMo!GJ M

y2Zb6?Q6H!u@#k(?05.31 列出所有正在运行的虚拟操作系统51Testing软件测试网$f1K}?5kf(x$L
5.32 通过配置文件来引导虚拟的操作系统
(R`.P*`9Ev05.33 从终端或控制台登录正在运行的虚拟操作系统51Testing软件测试网Ni;X8c(`PXN6w
5.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统51Testing软件测试网0Y-@!q a2W;F
5.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统
&A"BI:y,[,p8A;?05.36 调整虚拟平台/虚拟操作系统的占用内存
-Q6e|,r){]Xqd05.37 关闭被虚拟的系统51Testing软件测试网 yM/z!H-` \z b
5.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数
,L1j6w'{*Jf&x/l'n05.39  查看虚拟系统运行的状态51Testing软件测试网_us$PL

51Testing软件测试网 |8?H%d*ns&wc$C:m

6、虚拟操作系统的文件存储系统

q(]V Bm051Testing软件测试网'V%k:?sa"t3p$I(K^

6.1 以实际物理硬盘做为虚拟操作系统文件系统51Testing软件测试网9xHF9u2k%sTf

51Testing软件测试网Hk)D{-J/L

6.11  准备物理分区及创建文件系统51Testing软件测试网.H0I*E-U7|E
6.12 在物理分区上构建操作系统51Testing软件测试网%`^ ]@3{ b c%O2hH
6.13 虚拟操作系统的引导文件中关于文件系统的定义51Testing软件测试网HS&~q7n#}{'O

Bab@%ZA] C2G(J06.2 以映像文件做为文件系统

HB.Nw^;e7oA0

*F)e-P,B[D,X p iI06.21 创建映像文件
V:?"K-~Q06.22 格式化映像为Linux文件系统
K+o n:s+K i0ip8G06.23 在映像文件上构建操作系统
%iR!Y5]O"g9p-U S![06.24 虚拟操作系统的引导文件中关于文件系统的定义

7Un+H g2J,K0

r UK/\gZ7M07、实例应用:用Slackware+Xen虚拟Fedora 5.0

ar;w8N [J0

_"wK!R:f07.1 Fedora 安装运行于一个物理分区中51Testing软件测试网3^Z j n])iD-{

51Testing软件测试网~.qFVNs7[ F6u o

7.11  下载Fedora 5.0的基础系统51Testing软件测试网r gV hs3Yx)c S
7.12 解压和提取相应文件51Testing软件测试网D#i,^$gXb c6_9]U*H
7.13  规划硬盘的物理分区并创建文件系统51Testing软件测试网2fSZ&^m9J2x,v$K
7.14  构建Fedora 5 的基础系统
DAW!s"{ oJ9x9cj07.15  创建Fedora 5 引导文件
)M%B#[Bq x~07.16  引导Fedora 551Testing软件测试网E1qbnX/Cn
7.17  虚拟操作系统网卡不能激活的处理方法51Testing软件测试网 AU|?CZ Ub7a\(C:B

*@ I&w E(w4y$q07.2 Fedora 安装运行于一个映像文件中51Testing软件测试网JN^#xe

wq]0ox:]"yn XCw07.21 下载Fedora 5.0的基础系统51Testing软件测试网k+JD] C
7.22 解压和提取相应文件
}h{v\R,R07.23 修改引导运行Fedora的配置文件51Testing软件测试网:D0rS [ic&]%?
7.24  引导Fedora 551Testing软件测试网.A+WD?9U Q\-p]
7.25  网卡不能激活的处理51Testing软件测试网6Fi3g DZm
7.26 Fedora 映像文件太小的解决办法

[2kw_ e-^9DD2?051Testing软件测试网l bq,~u%EZ M5Y


~,Of;P:i1ed.U*h%b08、强制终止正在运行的虚拟操作系统(重要)51Testing软件测试网o4P7C H s,jCo*\
9、关于基础系统安装后,虚拟操作系统的软件补充安装51Testing软件测试网D jFG |8]1H G
10、关于虚拟操作系统的桌面访问及远程访问51Testing软件测试网f8n0dq.lu7Z5[
11、常见问题处理

]2n(P {;y2S#h:I051Testing软件测试网&H2vZE_QQE0z*K

11.1 不能找到root分区51Testing软件测试网v/z#CZx/v2o:W'|
11.2 出现/tmp/.ICE-unix 类似的错误51Testing软件测试网w/m)KfDX^
11.3  Device 0 (vif) could not be connected51Testing软件测试网!\U?&Z)uyu

@.V2QG"TV|!a012、关于本文51Testing软件测试网g p/k3bcW'aYg"p\
13、后记51Testing软件测试网8[6c J0L4v A
14、参考文档
L| nB,Jb,@:v7`LpL015、相关文档

ZO|m%jR051Testing软件测试网)m K_5J,L+Y fa*R9]

 

#|J!U1A0v]8s;QVcK051Testing软件测试网.e,lI]{oa

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++51Testing软件测试网]BL1Ngyg$m
正文51Testing软件测试网R)I a2n X7]D!V
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++51Testing软件测试网^9|xna ]

51Testing软件测试网7i)`;G$@(@4G g?

 51Testing软件测试网7\!Ee5B9B$`m'i

51Testing软件测试网/C+Fo!R5E+`'e

0、本文约定;51Testing软件测试网v n p:vF,@5ox&qe

51Testing软件测试网#p/e8Sl g#Z e)z


7m&R!Vu C9[o?7??0虚拟平台是指能支持运行Xen的真实安装的操作系统;51Testing软件测试网 ~^#s P%D1?7B"b
虚拟操作系统:是指在虚拟平台上安装和虚拟运行的操作系统;51Testing软件测试网5X4^?6d2Vb Q"Gu

51Testing软件测试网gE*G`L)Yu6C

比如我在Slackware 中安装了Xen,那Slackware就是虚拟平台,通过虚拟平台就可以虚拟其它操作系统了;比如通过Slackware来虚拟Debian、Fedora ... ...

*t5{"]&F$T#^ K0

r#jN9bMoB0
a|o2a,T|T01、什么是Xen;

"d W }W _W051Testing软件测试网 [bm V/{K\!C


t"S C+m2d%m0Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。51Testing软件测试网GD%x6z5?"SOf%`

51Testing软件测试网5M6TAf T`-i

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

51Testing软件测试网/_+L/OD O w

51Testing软件测试网Y%_*A-s9Hb YdG2}hO
1.1 Xen的特性;

V~#Wh:\d:_vD`%Pw0

]V#s+AcK$y JSM0
!D N f?d F5G7taf8[0虚拟机的性能更接近真实硬件环境)
$p.a#~}jat}0在真实物理环境的平台和虚拟平台间自由切换)51Testing软件测试网2K6Q_n-J
在每个客户虚拟机支持到 32个虚拟CPU,通过 VCPU热插拔)51Testing软件测试网NK!a Lz
支持PAE指令集的x86/32, x86/64平台51Testing软件测试网9C[ w*m-E
通过Intel 虚拟支持VT的支持来用虚拟原始操作系统(未经修改的)支持(包括Microsoft Windows51Testing软件测试网o.B#_"ED kc
优秀的硬件支持.支持几乎所有的Linux设备驱动51Testing软件测试网.x&b.jcO2aj-}e

-|.Q;`.R$f*j~0gJ5^0
e2a,l-u5}*W0d G,Rj6bC01.2 Xen的应用范围;51Testing软件测试网F uru6^E8zB

G7F5fsIl2]4me~A0
1j%zA$I:i0服务器整合:在虚拟机范围内,在一台物理主机上安装多个服务器, 用于演示及故障隔绝;51Testing软件测试网)|cq7k^\.l:Gl8O;@
无硬件依赖:允许应用程序和操作系统对新硬件的移值测试
zo udt,W/? ]A2AG0多操作系统配置:以开发和测试为目的,同时运行多个操作系统;51Testing软件测试网@6Na7J1JS
内核开发:在虚拟机的沙盒中,做内核的测试和调试,无需为了测试而单独架设一台独立的机器;51Testing软件测试网"a'Z4Z v~Gv\
集群运算:和单独的管理每个物理主机相比较,在VM级管理更加灵活,在负载均衡方面,更易于控制,和隔离;
;L0u6C9k+Sn0为客户操作系统提供硬件技术支持:可以开发新的操作系统, 以得益于现存操作系统的广泛硬件支持,比如Linux;

"p2ds \5ZlN"Kc051Testing软件测试网pB;ND;{B

51Testing软件测试网KPCWX'm)fn?;s
1.3 Xen的操作系统支持和硬件支持;

S1RQ ` St0Pn m051Testing软件测试网Z0@?j3m T:w9[5c] r9a


U/E qn7L!wkND}0请参阅: 《Xen v3.0 用户手册》51Testing软件测试网W'eRx*[

51Testing软件测试网J;?9m{iK(T J

51Testing软件测试网|R9Ft*jw*E
2、Xen的一点理论基础;

*j+H![,\f#i.B"]051Testing软件测试网k3Ta5iT"a

51Testing软件测试网1H5_ j"m0n;T2W1l-o-N'|#b
基于Xen的操作系统,有多个层,最底层和最高特权层是 Xen程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效的利用CPU的物理资源。每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。51Testing软件测试网1K n)E7dWj |#`2c

yM ^\$wl\M0当Xen启动运行后,第一个虚拟的操作系统,就是Xen本身,我们通过xm list,会发现有一个Domain 0的虚拟机。Domain 0 是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的Domain ,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。51Testing软件测试网Z}9hP3}^8Ax e

51Testing软件测试网 x#]m:Nz-?3jg6D?n

一个被称为xend的服务器进程通过domain 0来管理系统,Xend 负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个HTTP的接口被传送到xend。

^.ZE;r'D6OS$v\{1Tj051Testing软件测试网7I.@*RDIIR

51Testing软件测试网5e V/BQ eae
3、Xen的安装;51Testing软件测试网1i&P+OM:h.t@:X0f8ns

I4}MSX051Testing软件测试网O#\c`~-]3t
在写本文时,Xen的当前最新版本是xen-3.0.1,它基于的内核版本是2.6.12.6的。您可以根据自己的操作系统的情况来选择一种安装方式,适合您的就是最好的;

c?L4c~ ut.\0

d&Zo7k#R[0
l+@`l(|um03.1 安装Xen的准备工作;

w!O9_X4L0

v*B|)ULb+Z.g&tu&g0
0X&V6i5B0ih!P Y0拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils 及make和automake等;开发库有zlib和python-dev等;51Testing软件测试网 f |wVd f#Ol

3w4g"w:i]7v0具体明细请参阅: 《Xen v3.0 用户手册》51Testing软件测试网y?t9n,QV'\

51Testing软件测试网pF_Co4jd

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

oSE5eo{B$W051Testing软件测试网o$\rc.f8{ y

51Testing软件测试网x_#O3^%c(x"t1K
3.2 在Redhat/Fedora 操作平台上的安装;

-]1\:Z W\]0s/q/U0

W d3g1@X'k.\051Testing软件测试网5Ay3l-oY _P
在Fedora/Redhat平台上安装比较简单,您可以通过yum 来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat 提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;51Testing软件测试网"S [b7E_0^e

51Testing软件测试网!\]?8D&o q,t

安装Xen及支持Xen的请参考:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》

.lwu[n~9k051Testing软件测试网r,cM"q ~:R/i'D

对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;51Testing软件测试网kxP4c ~F*w,Uu

51Testing软件测试网3~9G*W.uI8`


?C'R9Pa'nd7b/Z03.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版);

'T4A$TK w~KSw5L0

n*_3c2i3][,L0
\f!^*f-dU6Jm0通过Xen的二进制软件包来安装,这应该是通用的,几乎适合所有的Linux操作系统。由于二进制所是已经编译好的,我已经在Slackware 平台上用这种方法来安装,还是成功的。另外etony兄也在Debian上安装成功;51Testing软件测试网-D9b5_3r|

^l,l+Q2Anl `0您应该到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字样的软件包;

,T e9y ` l1f5?tHA051Testing软件测试网dj+|rKH1x

下载好后,就解压安装,我们还是以支持x86_32构架机器的xen-3.0.1-install-x86_32.tgz为例:51Testing软件测试网 P"f|&aQB

^9`(E`6PA.y]u0
{:m-@.f |QC0[root@localhost ~]# tar zxvf xen-3.0.1-install-x86_32.tgz
sk;^:Wh^6n0[root@localhost ~]# cd xen-3.0.1-install51Testing软件测试网7Z!|+kA4m p%a
[root@localhost xen-3.0.1-install]# sh install.sh

j]7n3}s9s j6u051Testing软件测试网h;H,P'v$bt8R-s

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

|xrjER8n051Testing软件测试网[5@F w K
3.4 通过Xen的源码包编译安装(仅供参考);

M7K'~Em!r0

Jm QuA)y!T0
PVKv%|OEs'I0通过Xen的二进制包来安装,可能有时内核不太适应我们的需要,这时我们要通过Xen的源码包来安装。通过自己编译来安装Xen及支持Xen的内核;Xen的源码包,您可以到http://www.xensource.com/downloads去下载。文件名带有 xen-3.0.1-src字样的,比如 xen-3.0.1-src.tgz。

$yG8k*N&f0

O P k*h n$j"\8l051Testing软件测试网J4o+~o7F#hZ }
3.41 编译原理;

D9Ms0u a(D RP0

)n]\/ed1c.d1H @5q051Testing软件测试网#y|+z/F{b
通过Xen的源码包编译,其实也没有什么神秘的。在Xen的源码包中提供了一些内核补丁和内核配置文件等。当我们执行编译命令时,首先编译的是Xen程序本身,然后是编译内核 。在编译内核时,程序会自动判断是否有内核源码 ,xen-3.0.1支持的内核是2.6.12.6,如果在xen的解压目录下没有,他就会自动内核的官方站http://www.kernel.org下载 linux-2.6.12.tar.bz2。然后就是自动解压并为此内核打补丁。然后系统会根据指令要求,然后采用相应的内核配置文件,或配置内核进行编译。

?B~ _^gY051Testing软件测试网6@1}pstq@8h


)dt*i"Vi8EI03.42 编译过程简说;51Testing软件测试网7`0G hCy@5J5Hj%Z

f6BS*b"w051Testing软件测试网 YL_2U(CfH q{L
第一步:解压软件包,查看Xen源码包所带的文件;

X Vee$fW.B f)md2K\o0

6mf9A;{r0
|?`k;v7k,yH E0[root@localhost ~]# tar zxvf xen-3.0.1-src.tgz51Testing软件测试网%n2lG0V6{Aw4F
[root@localhost ~]# cd xen-3.0.151Testing软件测试网 lc&a n9yZ
[root@localhost xen-3.0.1]# ls51Testing软件测试网 ]r/RZP7JL O4i6|

51Testing软件测试网)U:O*a&z-x?

COPYING    Config.mk  README        docs    install.sh            patches  xen51Testing软件测试网lM.@m/jDfo T-Y
ChangeLog  Makefile   buildconfigs  extras  linux-2.6-xen-sparse  tools51Testing软件测试网 u#bPA+ly|

51Testing软件测试网n g;X4S%N8n)w oo

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

51Testing软件测试网1E#|K @ Q v


ya'Zj\ Io0[root@localhost xen-3.0.1]# ls linux-2.6-xen-sparse/arch/xen/configs/
Fgj3i9i p0xen0_defconfig_ia64    xen0_defconfig_x86_64  xenU_defconfig_x86_32  xen_defconfig_x86_32
g.|/W ^J1b$Uj\0xen0_defconfig_x86_32  xenU_defconfig_ia64    xenU_defconfig_x86_64  xen_defconfig_x86_64

,f$R%X4J5z}051Testing软件测试网{2L b*T@ be-|h

看到上面所列出的内核配置文件了吧,我们可能会发现文件名带有xen0字样的和xenU字样的两类文件。在这两类内核中,我们大多会修改的内核配置文件是运行xen的操作系统的内核配置文件,另一个是用于虚拟操作系统的内核配置文件;51Testing软件测试网 Wb(g| i;i*Ui

zr2HpllP\%k0xen0字样的就是我们一般是用于我们运行xen的操作系统的内核 ,而xenU字样的就是为虚拟操作系统所提供的内核。另外还有x86_32和x86_64之分,这表示CPU的架构。51Testing软件测试网 y6F7e9g i,i7K!R

51Testing软件测试网5N,G-{'{ y.Ju'r

比如我们用的是x86架构32位的CPU,我们在编译内核的时候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。

;~ug+t5Ag g-Tmy051Testing软件测试网|f'T1b9@V9z

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

(vc~2[zT$~9k0弄明白内核配置文件有何用?我们能明白xen在编译过程中用了哪些内核配置文件,目的是我们在编译过程中可以根据自己的需要来修改它,以编译出适合我们需要的内核。

8N8p{ ~,jE k\S4J9[0

7n7@1w"K$[1f0比如我们想让Slackware 支持xen,并且还要支持NTFS文件系统;所以我们就要修改 xen0_defconfig_x86_32这个文件。找出如下一行;

A{ ?*p&^cY0xitX0

e,F:i$^NR051Testing软件测试网r3\ A8}-LkP
# CONFIG_NTFS_FS is not set51Testing软件测试网){"v-H+{;r&{_uz

51Testing软件测试网Zx rjp@ ?

改为

\ ~b+@id3Z051Testing软件测试网3YbZ&n;~/E[


0M4^]ScD[v9v0CONFIG_NTFS_FS=m

~$_mBow;J?+b ^0

|4l$x3EJ xh0如果您想让被虚拟的操作系统(Debian 、Gentoo、Fedora等)也支持NTFS文件系统,所以要在 xenU_defconfig_x86_32找出如下一行;51Testing软件测试网7oxt/CU0O

51Testing软件测试网f0D/\,~E TI'YW


bp7X(U(v}0# CONFIG_NTFS_FS is not set51Testing软件测试网/W8cg3[A5i8A5O

51Testing软件测试网6o.J@o3|3eg&t CS

改为

(s0\1e} B8` O051Testing软件测试网!E-^vQs'_8] t]


nR8TLW0CONFIG_NTFS_FS=m

:] pSbM/u3Q"e_0

6Q zpp3k(@0第二步:配置内核;51Testing软件测试网 v+\b8\0W

gL.dEy0这一步有两种方法,一个是直接修改内核配置文件,另一个是内核配置界面来配置;51Testing软件测试网_$J5aod

rsakH8g$Sw0方法一:通过修改内核配置文件;

h$wO;b'?/N0k-x }{'Y051Testing软件测试网b4b:T ls!t%^

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

)OpaI v }Qu |1r0方法二:通过内核配置界面来配置;

^5Jt F_ OXC0

HIW~g~'M!N(d}Y0[root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig

oGwL+S!S9l7n.{{051Testing软件测试网0JX#Gc9v%`V/]({ hn

第三步:编译和安装Xen;51Testing软件测试网t3n+v!l1F

51Testing软件测试网3@N2d!l _%Ax


i!N4}!rD XO;|5`5m0[root@localhost xen-3.0.1]# make
.~2G`%V9M6m\S:Pg0[root@localhost xen-3.0.1]# make install

}+w } bpo0

"Eiv$yfu7a-d@'B&PUk051Testing软件测试网~8r.m3N:OI)Ala
3.43 创建initrd文件;

B@6@TTf`2S0

)Uca bhb3d$t051Testing软件测试网Br:i` p
有的系统需要initrd-XXXX.img或initrd.gz文件才能引导起来,如果您的系统用了支持xen的支持引导不起来,就要创建一个initrd-XXXX.img或initrd.gz的文件;请参考: 《Xen v3.0 用户手册》51Testing软件测试网'yVf ?,n8O Q Q

4V'L N%tj7RFt051Testing软件测试网,]W.{@7_8P?
3.44 关于xen0和xenU内核说明;51Testing软件测试网.d:~4V#Rc7MM:|W

f,D6~@@ vV&z0
y4s.Mhw0一般的情况下会在/boot目录中有两个与xen相关的内核,有的文件名带有vmlinuz-XXXX-xen0字样的,有的带有vmlinuz-XXXX-xenU字样的;比如:

t.p"Zy ^9B}WRL051Testing软件测试网 rx2~ }+f/Ppd


0Q\@7o y([,M0[root@localhost xen-3.0.1]# ls -la  /boot/vmlinuz*xen*
/gvE5f O0lrwxrwxrwx  1 root root      21 2006-04-12 07:42 /boot/vmlinuz-2.6-xen0 -> vmlinuz-2.6.12.6-xen0
#Q4m#YVc5b9G(N0lrwxrwxrwx  1 root root      21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU51Testing软件测试网 r.s;\G4v:g
lrwxrwxrwx  1 root root      21 2006-04-12 07:42 /boot/vmlinuz-2.6.12-xen0 -> vmlinuz-2.6.12.6-xen051Testing软件测试网 EH$d!Qq,L
lrwxrwxrwx  1 root root      21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU
l:]z5Xkg'~0-rw-r--r--  1 root root 2180524 2006-04-12 07:42 /boot/vmlinuz-2.6.12.6-xen0
'S8koWWH4Ld4xS0-rw-r--r--  1 root root 1129950 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU

O!U5D.otH0

3ar5A+bf0其实就是两个与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软件测试网/oR3M;}"Y @6b

B#xE [fZa051Testing软件测试网 uH:^&wAC0GK%G q
4、引导XenLinux的GRUB配置;51Testing软件测试网a#L&{E`G]5do

0i3@9X;ti]Q051Testing软件测试网h n7W6JA,hK7h/K
一旦我们在Linux操作系统安装好Xen后,这样的系统应该被称为XenLinux。如何才能引导拥有Xen的Linux呢?这时我们要用到GRUB系统引导管理器。我们修改一下GRUB的配置文件menu.lst或grub.conf就行了。此文件位于/boot/grub目录中;51Testing软件测试网7qnt$l/H

51Testing软件测试网:Y?I g1M5` N)d5h


^o4NeqL-ILE04.1 判断系统所在的分区;51Testing软件测试网6bWVA([5\ ze

)OR;J?G5b.w:}~:_0 51Testing软件测试网 K,^8Z0S8O1@0[{0p

51Testing软件测试网 H } iu;d9q}vL

[root@localhost ~]# df -h
R1M@/R:v;A8NJ#]DDq0Filesystem            容量  已用 可用 已用% 挂载点
s tEt.jA"N#v,?7Y0/dev/hda6              12G  6.9G  4.9G  59% /

?/f9?u9?-~0

C*y0T8A7qa9pl051Testing软件测试网(@b9pZ+f!t2Ei
4.2 查看/boot目录中xen相关的配置文件;

hU1?o,c`5Sc0

v w%pl Z-i+~(y j0 51Testing软件测试网4]2W UW*[

51Testing软件测试网 w;?{m3_.T#n#D

[root@localhost ~]# ls /boot51Testing软件测试网)g5GP duZ

51Testing软件测试网 iC"~o!T;WU

注意:我们前面已经说过了,xen提供了两个内核,一个是虚拟平台用的,也就是文件名带有xen0字样的;另一个带有xenU字样的,这是用于引导和支持虚拟操作系统用的。

K9btd"kV7l0

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

-?1\&|S2x0

)N-]$_k h0如果您安装了Xen,会在/boot中有两个文件vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU,

mp uxdtL6c0

5UO4e!zf#eps"^051Testing软件测试网#}+[#P2B&VsG
4.3 禁掉 TLS Libraries ;

b2L$d2P8{9h0

;o!ZH L4Od+a0 51Testing软件测试网!I@y WSkmzp

fg'xr DQ X(fyv0[root@localhost ~]#mv  /lib/tls /lib/tls.disabled

J6LEY8V051Testing软件测试网#g-x"K0\3u6Nd

禁掉的理由,请查看: 《Xen v3.0 用户手册》51Testing软件测试网k|%OdJ;\&z*\K

!r/? S [^jQ"HL051Testing软件测试网:[8R p*^,A Ab
4.4 引导XenLinux的GRUB内容;51Testing软件测试网_2t8]'R.rqsB^

] }8fP}Xw0 

K e,l"fc CU&v051Testing软件测试网pSw]L/r;m^

title SlackXen
3i_D^SfRl9_,F}0kernel /boot/xen-3.0.gz
ZV@F ]N N7Q+v7]0module /boot/vmlinuz-2.6-xen0 root=/dev/hda6  ro console=tty051Testing软件测试网epQ&S%DFo O

)Z E`X1{;U^ w0如果有inintrd-2.xxxx-xen.img或initrd.gz之类的文件才能引导起来系统,还要加一行;要以/boot中的initrd相关的文件为准;

z3M;qsA051Testing软件测试网J0h mi%N.i"{


KS;Wa#i6\ K0modules /boot/initrd.gz

mE:A1BI@051Testing软件测试网-Z Q}Y.E ji7R

有关GRUB的文档:《系统引导管理器GRUB,为初学者指南》

)noXq zI0

5VP EnRt^0注意:与传统GRUB的定义有点不同,就是kernel 是用来定义Xen的,而Linux的内核及initrd映像是通过module 指令定义的;要仔细看好;51Testing软件测试网 AEG;?a.M m

7n;dA we(]-H0
wpg9yTReU%G\ I05、Xen的配置和管理工具;

X-e%KT j[ [0

u4jDf-z0 51Testing软件测试网w"?z(WH#|l

#J+N8n[+Kz`05.1 Xen的相关文件存放位置;

3o(r+i)xvF0

[h\ F#U"^C pl-d051Testing软件测试网 E(r"ih;b
xen安装后,文件放在什么地方了呢?主要放在以下几个目录;

KltAQ${$[\-f;N0

jT8q(\}'G[P |+Tmi051Testing软件测试网Q2Q6z9If]j U
5.11 内核及xen自身存放于 /boot51Testing软件测试网t F:F0A5NX

&K ]g |$Z H051Testing软件测试网~+t%j$Dc.d~Br
安装有xen的操作系统下的/boot目录中,存放xen本身及支持xen的内核文件。比如文件名带有xen0和xenU相关的文件;

Kio9m~@0

TH4l7c8S-R0
1io{:O h05.12 内核模块存放于 /lib/modules51Testing软件测试网1l0m d+Y%T

51Testing软件测试网S:r_k8F^*L6Nl7X


DNaAvKO|7W0内核模块包括虚拟平台支持xen的内核xen0的模块,及支持虚拟操作系统所用的xenU的模块,一般的情况下是在 /lib/modules下有两个xen相关的目录存放。一个是文件夹名带有xen0字样的,另一个是xenU字样的;51Testing软件测试网3w @e4yLBy

51Testing软件测试网GU&UHs(o


.Fkhv[4q DY gx8c05.13 xen的配置文件及守护程序的存放位置;51Testing软件测试网;NN{@o&O)k8y } g

P? b+X;b2E2Y#P'[0
*` B2jk^&m0一般的情况下,Xen的配置文件存放于/etc/xen目录。 比如 xend-config.sxp是用于配置网络的,不过我们不必更改,用其默认的就能完成我们的需要。xmexample1 xmexample2是两个示例性的配置文件。我们在配置引导被虚拟的操作系统时,这两个文件可供参考;51Testing软件测试网6W {qXR_ ?4W:n

51Testing软件测试网/VN k_8Po%}] ~

Xen的服务器xend和xendomains启动脚本,一般是位于/etc/init.d/目录中,也就是/etc/init.d/xend ;/etc/init.d/xend负责启动xend服务器,而/etc/init.d/xendomains负责第一个虚拟的系统及其它的Domains,也就是Domain 0 。51Testing软件测试网%I/n)PF6w#U@J

1rw.E}4Zh&Jc051Testing软件测试网sq%?6p])?3u0A\&`
5.14 可执行命令存放于/usr/sbin51Testing软件测试网4Mt$kzlz

51Testing软件测试网2S+f4} z uI AQ#F

 51Testing软件测试网 AKOD8e g

` }!gl}'Rk0[root@localhost ~]#ls /usr/sbin/xen*51Testing软件测试网;]9wRvY ]
/usr/sbin/xen-bugtool  /usr/sbin/xenconsoled  /usr/sbin/xenmon.py  /usr/sbin/xenstored
#_c&xr"v!t"wg0/usr/sbin/xenbaked     /usr/sbin/xend         /usr/sbin/xenperf    /usr/sbin/xentop

*V lo%Gfs dm051Testing软件测试网#V8qC&frJ4\t7N

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

&TT6I0TaPe0

Js!VLm;ID$F051Testing软件测试网2cP9M!n%vv!^
5.2 Xen服务器的启动;

&jUc(Xvi/Q+k7UCX051Testing软件测试网nQvo]G+M

51Testing软件测试网#BU5IZ,K
xend服务器的启动/停止/重启/状态查询,请用下面的命令;

?'|;H,]Q'{-N0

@\'|(rY&rp.P051Testing软件测试网 WH_/z:}an
[root@localhost ~]# /etc/init.d/xend start   启动xend,如果 xend没有运行)
_1am B {[y1k0[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在运行)
_HQ-U,w D fg0[root@localhost ~]# /etc/init.d/xend restart  重启正在运行的 xend,如果xend没有运行,则启动51Testing软件测试网I-v2N%HN
[root@localhost ~]# /etc/init.d/xend status   查看xend状态51Testing软件测试网dM rDG w4L ~6@f

H#]/F`QjkR0启动xendomains 服务器的启动/停止/重启/状态查询,请用下面的命令;一般的情况下,xend服务器启动了,xendomains也会自动启动。所以这个只是掌握一下就行了;

!by w;O%c*M!ac)~0

wHq q1m J0
0`?d6]im}0[root@localhost ~]# /etc/init.d/xend start   启动xend,如果 xend没有运行)
5X8e,\6L5D QG0[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在运行)
1D#K J zC;J3Q*CU0[root@localhost ~]# /etc/init.d/xend restart  重启正在运行的 xend,如果xend没有运行,则启动51Testing软件测试网Z`'Q W A"]
[root@localhost ~]# /etc/init.d/xend status   查看xend状态51Testing软件测试网S"_su4tO?-R N#G

51Testing软件测试网y(u:Q'Wh)u+{`

51Testing软件测试网c$C7d$J\W
[root@localhost ~]# /etc/init.d/xendomains start51Testing软件测试网cY R(bo{
[root@localhost ~]# /etc/init.d/xendomains stop
"I B ZR5mS9R L0[root@localhost ~]# /etc/init.d/xendomains restart51Testing软件测试网c7N1S#t'Ws
[root@localhost ~]# /etc/init.d/xendomains status

cTr4h E E$JIO1B2Fs@0

j.~ `9L d1K[0
.Q:w/IipA] Wy05.3 Xen 管理工具xm;

la$GcNDI,t0

%wN.|tSa0
el,IZ5yqMr0我们前面提到Xen的可执行命令中,我们可能看到了一些以xen开头的命令,您不妨尝试一个一个的尝试一下他们是做什么用的;比如xend是服务器的开启运行命令 ... ....51Testing软件测试网_a:Tu|/x9a{,K-w

51Testing软件测试网i+ERb U7ui5~

其中xm命令,就是管理Xen的最基本的工具;您可以通过xm --help 来获得帮助;

9kQn)cp w u^nV9E051Testing软件测试网L h'?z+p{*@Gbh

5.31 列出所有正在运行的虚拟操作系统;51Testing软件测试网Sr2xm HiF:P

51Testing软件测试网2r"@;x5V6u@:k

 

2I5h!I9l,]`051Testing软件测试网/] M eH*o*N

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

6c q8c0bc;AFNV051Testing软件测试网t8jrdZ`WY

Name                              ID Mem(MiB) VCPUs State  Time(s)51Testing软件测试网 dHh;VZ(L;kz
Domain-0                           0      450     1 r-----  5377.0
,z0MZk@6\OQ@%j0fc5                                4      256     1 -b----     0.151Testing软件测试网7[ R J.AiF(n

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

#sB7Q a'Q cf }3i&vF ]051Testing软件测试网0E w#g/r$o5B@v'{

还有一个虚拟系统fc5,他的id是4,占用内存256M,虚拟CPU个数是1个 ... ...

Hr%r#^n g:L051Testing软件测试网 f2_o%L2D6P

51Testing软件测试网wd]O#c,v ^
5.32 通过配置文件来引导被虚拟的操作系统;51Testing软件测试网7B\9l8O0dKEd

51Testing软件测试网-@bus`\C%H

 

"ew"go!C6b W F051Testing软件测试网 Y;o:KFcFe

[root@localhost ~]# /usr/sbin/xm    create -c 虚拟操作系统的启动配置文件

C.n Q(y6N;R3_Ye&x0

B:j;P h1ihCh0比如我们要启动被虚拟的操作系统Fedora Core 5.0 ,我们要写一个启动Fedora的配置文件,比如是fc5vm.cfg。然后就可以通过下面的命令来引导Fedora了;51Testing软件测试网Z!}i4w(GR ~

51Testing软件测试网$~(IAn g7i


cbguQ*}Q TA0[root@localhost ~]# /usr/sbin/xm     create   -c   fc5vm.cfg51Testing软件测试网5AY I0QRp v#~ PC%N|

51Testing软件测试网3o^m7Wj5wZ

51Testing软件测试网8i2ik(]3M
5.33 从终端或控制台登录正在运行的虚拟操作系统;

uA/~]1YPI;a051Testing软件测试网gQ#Q;g)bc V?No

 

0O8Kx1j;xV x4Q5a_051Testing软件测试网8QF4HK(G

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

.|4q;_~,eZ5F3X0

~8hcQ f+ZU4J;v~0举例:51Testing软件测试网TL1vd.F3U`

\ x6Q_)Nx7zE0
9M+i3uMG4[R0[root@localhost ~]# /usr/sbin/xm   list
0n%] A7m4Q8X.]n,cn0Name                              ID Mem(MiB) VCPUs State  Time(s)51Testing软件测试网*Qa+VR9D} [6n(Y7{
Domain-0                           0      512     1 r-----  5561.9
[P%qIX-T$r0fc5                                4      256     1 -b----     0.2

!? h)u,Dc5v051Testing软件测试网!^7I#RMw9W'Q k

[root@localhost ~]# /usr/sbin/xm   console   fc551Testing软件测试网 z)K \9}+?

)R~/qq+R!K(_051Testing软件测试网'F[k1q|
5.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统;

Io%]7u+y:V K g3m#c051Testing软件测试网.Gu&eS.`*O(l

 

c%W/\]Hr$j+m0

6p#[-Mb2Z9j n0[root@localhost ~]# /usr/sbin/xm   save <DomId> <File>   51Testing软件测试网&N2z!E4i2_*{$p4TC G
[root@localhost ~]# /usr/sbin/xm   restore <File>          

Se(Wmx!Y)W051Testing软件测试网Cyu u3l i

举例:

hP&p:m \X C9X [0

A/t?#z1s3q051Testing软件测试网a ^7vZzI
[root@localhost ~]# /usr/sbin/xm   list51Testing软件测试网r%AT/s6Pc$~%};qM"I
Name                              ID  Mem(MiB) VCPUs State  Time(s)
$J^F+]~T%M$e D0Domain-0                           0      458     1 r-----   260.351Testing软件测试网3P$l*xV Q#k[b.ZS
fc5                                2      256     1 ------     6.5

&J9P M0Z l0

,b#S.I(GW1Ca0[root@localhost ~]# /usr/sbin/xm     save  2  fc5run.save
e'J`Y c1T*g:kE0[root@localhost ~]# /usr/sbin/xm    restore  fc5run.save51Testing软件测试网2@'E:~ko&@C(_3}3S
[root@localhost ~]# /usr/sbin/xm     console  fc5

H$n XPM&K051Testing软件测试网w6l ZH6@G }2z


h2Dl/Wq;^ \2cD3[05.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统51Testing软件测试网/a$l6AQ8U y9KQu R

Vc&W#L]0H@m4a5V0 51Testing软件测试网9q"v d'p tL'_

(Q6fJT1m$d7C n-z0[root@localhost ~]# /usr/sbin/xm    pause  <DomId>51Testing软件测试网MG&x,St O
[root@localhost ~]# /usr/sbin/xm    unpause  <DomId>  

T o6tGz%BXNm051Testing软件测试网T Iw1v^ E,m-b

举例:

d9Gcl2t051Testing软件测试网c'oa:a*j

51Testing软件测试网N(qg[dj
[root@localhost ~]# /usr/sbin/xm   list

v R9w[cu0

(hj+A3CJZ7U H;Z0Name                              ID  Mem(MiB) VCPUs State  Time(s)
8B/f:W2hV+tO6mVN0Domain-0                           0      458     1 r-----   260.3
0pH)bs+U8Iz?$R1Z0fc5                                2      256     1 ------     6.5

0MY P A'I-^8PY9i!ZY051Testing软件测试网u(aE$I;I&oc

[root@localhost ~]# /usr/sbin/xm    pause 2
%ZR7S,WY0[root@localhost ~]# /usr/sbin/xm    unpause 251Testing软件测试网1D Oa:SN%`)`/M*y

51Testing软件测试网8Yz,`/^ Bch)`

51Testing软件测试网%e5aN1A? h
5.36 调整虚拟平台/虚拟操作系统的占用内存

zC:y9?*KY0

Vy5}%h&BS9|Ai _051Testing软件测试网O Gs$b'x4V(pL"|
我们可以调整正在运行中的虚拟平台(Domain-0)所占内存大小及虚拟操作系统所占用的内存大小;

:V2E2PaE*Zj^!Z051Testing软件测试网Mq0tm"v

51Testing软件测试网'u7BZ:N"@4jUoM%K
[root@localhost ~]# /usr/sbin/xm mem-set   <DomId>   <Mem>51Testing软件测试网8^ Q!};U/N:O}x3h-L

\a R0hWRS0举例:

%j.H7n!K#@P0

KZ7LZ5N051Testing软件测试网-H;U MK{E;_ M x l4zk)M
[root@localhost ~]# /usr/sbin/xm   list51Testing软件测试网 r!L2`B mZJK

N7im?6^ U|U[2?"C0Name                              ID  Mem(MiB) VCPUs State  Time(s)51Testing软件测试网9e-Y |6D-W
Domain-0                           0      458     1 r-----   260.351Testing软件测试网!se L8gx8e U&K#n!P4j
fc5                                2      256     1 ------     6.5

5L `u` v0

lT1]A2F1U/x&Ih0[root@localhost ~]# /usr/sbin/xm mem-set  2  12851Testing软件测试网 `:P8T gI%v*A)b

51Testing软件测试网/a|:Z3N6t}1uT

51Testing软件测试网.q9x \XA4}7{
5.37 关闭被虚拟的系统51Testing软件测试网dk\w0JL

51Testing软件测试网/Er9uw+Xo0]i9R5m

 51Testing软件测试网.VB{gx-n

51Testing软件测试网KN0s2zUFU

[root@localhost ~]# /usr/sbin/xm    shutdown  虚拟操作系统的Name或DomID
g N#i;x f'Q0[root@localhost ~]# /usr/sbin/xm   destroy  <DomId>  立即停止虚拟的系统 (重要);51Testing软件测试网_k j(_tLJ(|r

51Testing软件测试网h)n)n|{Xgm

举例:

xo5j"E;g0

O/x*aJ~6B0
6l g$[At0[root@localhost ~]# /usr/sbin/xm   list

%Y`;J m8Xt|$Han051Testing软件测试网gmG}O wN

Name                              ID  Mem(MiB) VCPUs State  Time(s)
$Jx5EBLl(^0Domain-0                           0      458     1 r-----   260.351Testing软件测试网:\.P0T9o m
fc5                                2      256     1 ------     6.5

\#[e \-R)tr0

cBb5dw `u0[root@localhost ~]# /usr/sbin/xm   shutdown  fc5
d+^]'_!U&v0
Edr&P%Y3]2K.A0[root@localhost ~]# /usr/sbin/xm   shutdown  2
1W`-E-R4O]0
1Q ZXd!O6\O0[root@localhost ~]# /usr/sbin/xm    destroy  251Testing软件测试网"u#Tx4@1}Y

51Testing软件测试网,C ?^j9Y7R A

51Testing软件测试网3K(` S6i8B i+B,x \
5.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数;51Testing软件测试网 G"UUGG2e!r4{

Mty7W9u_:j0 51Testing软件测试网\ mOmK.l(dc

51Testing软件测试网J.O,W ~*C m)O

[root@localhost ~]# /usr/sbin/xm    vcpu-set   <DomId> <VCPUs>  51Testing软件测试网&L%` OAG Nt&]j/Gx%?

51Testing软件测试网oH*I3@-X0~ P,E IV

举例:

8ta&]!JbO051Testing软件测试网?qH+o3K*B

51Testing软件测试网gN0K {^&b{0EU9|-k(|
[root@localhost ~]# /usr/sbin/xm   list

L`.z'g1v$pk0

2Uaf2b6u1^~0Name                              ID  Mem(MiB) VCPUs State  Time(s)51Testing软件测试网1fs7Jj4]]fH
Domain-0                           0      458     1 r-----   260.351Testing软件测试网p.|'Z4kS"?
fc5                                2      256     1 ------     6.5

Q.P^ FO7|\051Testing软件测试网XWz_*Q*?

[root@localhost ~]# /usr/sbin/xm    vcpu-set 2 451Testing软件测试网sS0sj pm m

51Testing软件测试网7i:@ ^g'M n;[


(R y?IH'B05.39 查看虚拟系统运行的状态;

"cE/w+F%M0

J/@*W;N&A(A z0 51Testing软件测试网_koz5S9K

51Testing软件测试网sg*O|])SpUY

[root@localhost ~]# xm   top51Testing软件测试网,Wq|L?QB
51Testing软件测试网A/vN)OD*yq
[root@localhost ~]# xentop

#i(tg:t^P}q051Testing软件测试网#J EL n"?8J5{"}

51Testing软件测试网4v ~"s6Ze2Te}'y
6、虚拟操作系统的文件存储系统;

T]!j;j$JkY051Testing软件测试网&UDQ CA"Ng r$B k4H

51Testing软件测试网,My7Kv n(L4UX `
我们虚拟的系统应该有一个存储的地方,也就是文件系统。被虚拟的系统能安装和运行在哪些文件系统上呢?能安装和运行在一个实际的物理分区上,一个映像文件中,或NFS等网络文件系统中;51Testing软件测试网b7e t i&E8M

51Testing软件测试网[ w)lG\iP2b


3OE|7M4g#N yU06.1 以实际物理硬盘做为虚拟操作系统文件系统;51Testing软件测试网e LE a5M@of

51Testing软件测试网8Y&R1Vg!T9tYmfh


n-`.X@'D{nr0以实际物理硬盘分区做为虚拟操作系统的文件系统,要经过硬盘分区,创建文件系统流程;

0E h8Y6x:Z051Testing软件测试网p-hCj#m&c/Y9R o

请参考:《Linux 创建文件系统及挂载文件系统流程详解》51Testing软件测试网 NCpSE M

51Testing软件测试网zB et2Sp:`


N ^$@e ah06.11 准备物理分区及创建文件系统;51Testing软件测试网JEw2l K

51Testing软件测试网fDB/e*m.Tub

51Testing软件测试网 `,bX,k U"ut
《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
&z\'yz#` kg&d0《实例解说 fdisk 使用方法》
xw^'x7u a A0《合理规划您的硬盘分区》51Testing软件测试网2hk*`Ri7I_{!J
《Linux 创建文件系统及挂载文件系统流程详解》51Testing软件测试网/@3QT3^&Gm V0h

51Testing软件测试网m]GRs*EB


7ed8wT @(`#H;{8h06.12 在物理分区上构建操作系统;51Testing软件测试网v%]B^O m#H!x

/q:t,|a |Ob1@i0
L i8{Y(M&l&d;e|R0构建操作系统,目前在一个Linux操作系统中构建另一个操作系统,主要是通过chroot工具和软件包提取工具来构建。基础的东西还是需要一点的,请参考:《通过chroot 构建Linux操作系统概要》

JHLq(n.IO0

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

g"J$}!qi*|0

;S%aeX.fi3yI d0操作系统之基础系统资源:

/z2Z7g!I3M2zE8Lk[0

9j!C YdQf)C;Q*v4O0http://jailtime.org

/sA(xV/_j)M0

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

6n8{i*H!YhP}0@ C051Testing软件测试网1dVbQ ` s TE O

51Testing软件测试网2DkW!|/Vj:P&R$o
6.13 虚拟操作系统的引导文件中关于文件系统的定义;51Testing软件测试网A v(z/{ o4i H.W

&tc'j g!a0
tIX$a#Ip5|0如果您的硬盘有一定的空间,就可以把被虚拟的操作系统安装在硬盘的实际物理分区中,当然您首先得准备一个硬盘分区。然后格式化成Linux的文件系统,比如ext3或reiserfs 等;然后是在这个分区上构建您想要虚拟的操作系统,最后才是写虚拟操作系统的引导配置文件,在配置文件中,要用phy:来指定。

I%Spe^{0

N0~} dvI0比如:51Testing软件测试网5d'~EQ2v)H K%b

51Testing软件测试网xE)v!W\#Y!X


jj"Ii#e0disk = ['phy:hda7,sda1,w']51Testing软件测试网 [~R1w Q;^$rfn c

WQh Pv0中文意思就是:51Testing软件测试网w s%L-]7JrJC

51Testing软件测试网 D;vMYTp

disk=['phy:分区,映射点,w']

4ET/i,] dG(?n-kpj+Mc051Testing软件测试网!FFY#^ KXHa

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

+}p.}:D,Q O0比如我在Slackware是位于/dev/hda6的虚拟平台,也就是真实运行的操作系统,我想用它来虚拟位于/dev/hda7分区的Fedora。所以我不能把/dev/hda6做为hda7的映射点。也就是下面一行是错误的:51Testing软件测试网-zlH$IK&hn*a

51Testing软件测试网 bMaL%zo"N}

51Testing软件测试网c(sj(U?U/Y/E)r
disk = ['phy:hda7,hda6,w']51Testing软件测试网w.f$b b-O5Qx

/|5bM q&z d0如何定义映射点,其实也比较好办,只要符合Linux设备的规则就可以;比如下面的也可以;

f,U'LL'P,U_7}q0

;Z4\vMZn%pAYE.{051Testing软件测试网Bt*`*|.u7Nxv
disk = ['phy:hda7,sda2,w']51Testing软件测试网MAU sj
disk = ['phy:hda7,sda3,w'] 51Testing软件测试网'W*X:dr&G!Bj#C@
disk = ['phy:hda7,sdb1,w']51Testing软件测试网o/X:@&PQjDx
disk = ['phy:hda7,sdb2,w']51Testing软件测试网ome7~g[2]
... ...

)~I1@Xj;S Q/X$R0

8?o,IQj!T0什么是映射点呢?也就是说通过phy定义后,被虚拟的操作系统的位于的真实的物理分区,在虚拟平台中,被映射到另一个分区;可能这样说有点不太明白。呵。。。。。。

~8V^Bd_W0

#p[+? Apn \7z$HU@0举个例子吧:比如我们在Slackware虚拟Fedora ,而Fedora 位于/dev/hda7中。我们在引导Fedora的配置文件中定义Fedora所用的物理分区被映射到/dev/sda1;

`Z/@#D9G M0

KH5a ZQb_sn#vy051Testing软件测试网7k9s7H{s v
disk = ['phy:hda7,sda1,w']
?,e,iS;iC0root = "/dev/sda1 ro"

7U/Q"lV`2nI X0

P\8Q U"Yr-w{k0当我们把Fedora引导起来的时候,Fedora的文件系统就是用被虚拟后的分区,也就是/dev/sda1。在Fedora中,我们通过df -h 查看到Fedora是位于/dev/sda1。

-kDaG[N0

6VA8?c4l;k0所以在引导Fedora的配置文件中,还要有一行来指定Fedora的root在哪里,就在/dev/sda1上;因为/dev/hda7已经被虚拟到了/dev/sda1。这回明白了吧;51Testing软件测试网o7QIm*x_3G(Z

51Testing软件测试网Gk"na)j5Q9r

51Testing软件测试网,m8ShV&X"q(I4u
6.2 以映像文件做虚拟操作系统的文件系统;

(B^ Lw ?i$A x0

A Ie6{$?!NNS^L051Testing软件测试网's qTDu!N/HlA N]
以映像文件做为虚拟操作系统的文件系统,这种方法是比较常用。也是比较方便和易于操作的,也就是说被虚拟的操作系统是放在了一个文件中。51Testing软件测试网:D-r-`7XdH _y

51Testing软件测试网\O4VK[(u$Vz!{

51Testing软件测试网"EJo(dV"Z.q
6.21 创建映像文件;51Testing软件测试网U@%Jyz#c;I/r3r3e:n

51Testing软件测试网 P+E^l9naK

 51Testing软件测试网:VS~x}U;P G6HA

51Testing软件测试网GPTi2ns0T)`

[root@localhost ~]# dd if=/dev/zero ōf=fedora50.img  bs=2k  seek=2048k count=151Testing软件测试网%As3@)H/C)w0n1G ]/O
读入了 1+0 个块
o)oe]9XZ0输出了 1+0 个块

2o"}uVl:A iI"RN0

1HKz-d1I Ux\0[root@localhost ~]# ls -lh fedora50.img

L/R*})K%D1T0

f*k8x:A Wr]0-rw-r--r--  1 root root 4.1G 2006-04-13 01:27 fedora50.img

KTlo*Gy B9o]0

mPBdI!\0我们可以用dd来创建映像文件,上面的例子是创建了大小为4.1G的体积的,名为fedora50.img的映像文件;您可以调整上面命令参数的大小来创建您想要的体积大小的映像文件。51Testing软件测试网aOnD%]z7f@

/l*^0s }%\!a"l ^!I0
|_,NMpU;P!Yw06.22 格式化映像为Linux文件系统;51Testing软件测试网 K8{5ib3f]Q

&k7m0j#G7G051Testing软件测试网b|/PI6qK#P n
Linux文件系统,比如ext3或reiserfs,看自己喜欢吧;您可以用mkfs.ext3或mkfs.reiserfs命令来创建文件系统,请参考:

2O1}l!_$L*X5\l*u0

?0td;H4{&fP f^051Testing软件测试网8B1F%p7PJim4vT
[root@localhost ~]# /sbin/mkfs.ext3 fedora50,img
n4z}H"`Ds[2K0mke2fs 1.38 (30-Jun-2005)51Testing软件测试网1G8y(Wc%l&fl+jk
fedora50

TAG: xen Virtualization

 

评分:0

我来说两句

Open Toolbar