Xen 初学者指南
上一篇 / 下一篇 2007-12-11 23:47:54 / 个人分类:Virtualization
51Testing软件测试网K ?;kqj.l
zJJ
作者:北南南北
7Y
rB]Hv{0l0来自:LinuxSir.Org51Testing软件测试网-xji.YO{
摘要: 本文是根据 《Xen v3.0 用户手册》的实践篇,将初学者需要掌握的Xen基础知识清点了一下。在本文中举了一个实例,用Slackware虚拟 Fedora ;最好能对大家有点帮助吧;51Testing软件测试网 @2p9`+?){4{
51Testing软件测试网DTW!pu \[cZ
q8a3Da*O@A$N{0目录
_N2gX&_P9e051Testing软件测试网s ~F}[ HY,_4IW8B0
K3b\?"^00、本文约定
;Q!j%z8h|`:F\+Y"^01、什么是Xen51Testing软件测试网J
D%Y)C#V+\b"`lm
1.1 Xen的特性51Testing软件测试网#l k*~/} nd
1.2 Xen的应用范围51Testing软件测试网
m%kf.qs2[E
1.3 Xen的操作系统支持和硬件支持
s\SM [1H){0
$v4zHv1_02、Xen的一点理论基础51Testing软件测试网M:^} }:I1e6b
3、Xen的安装51Testing软件测试网 d"cd,F4U%Y4r
3.1 安装Xen的准备工作51Testing软件测试网uK|8R[O7M
3.2 在Redhat/Fedora 操作平台上的安装51Testing软件测试网Qz1^2\@|+|
3.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版)51Testing软件测试网:MF
H-Pj*Tu;DnL`n
3.4 通过Xen的源码包编译安装(仅供参考)51Testing软件测试网} JAR3K)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内核说明
4、引导XenLinux的GRUB配置51Testing软件测试网(c#r)\k6s ^.A
51Testing软件测试网"b3xc:rd4.1 判断系统所在的分区
]p)u|jC
s
W04.2 查看/boot目录中xen相关的配置文件51Testing软件测试网"y;@W Hn^'C.`x-Iv
4.3 禁掉 TLS Libraries51Testing软件测试网@b H.E8YY
4.4 引导XenLinux的GRUB内容
WY.Qg!w*s05、Xen的配置和管理工具51Testing软件测试网&N\ ~MD7ovd\
51Testing软件测试网HC&e4JL5.1 Xen的相关文件存放位置51Testing软件测试网ka'XrP6[d
51Testing软件测试网,_6T)_$C%_,}"Q5.11 内核及xen自身存放于 /boot
#R6YqG2KH^Xe05.12 内核模块存放于 /lib/modules
"bGVh(gWD05.13 xen的配置文件及守护程序的存放位置51Testing软件测试网Q[]E#JBW-Z o
5.14 可执行命令存放于/usr/sbin
|*G
o)o a05.2 Xen服务器的启动51Testing软件测试网)n:Pp'iX7C)F
5.3 Xen 管理工具xm51Testing软件测试网.\o-|
K)no
5.31 列出所有正在运行的虚拟操作系统51Testing软件测试网J]9w6t7[ O}&ft
5.32 通过配置文件来引导虚拟的操作系统
f&NQ.w8gX r05.33 从终端或控制台登录正在运行的虚拟操作系统
T
JCLu:w:Gz05.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统
$|zC#V
[0]y:t4}05.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统51Testing软件测试网 P:a#GC9]%YX C4W
5.36 调整虚拟平台/虚拟操作系统的占用内存51Testing软件测试网;]"tE
~wFCD:M
5.37 关闭被虚拟的系统51Testing软件测试网d(L#C PR2u%D p
5.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数51Testing软件测试网Xk6s7YX
5.39 查看虚拟系统运行的状态51Testing软件测试网H6Q'z3U2\6j9Z
YP+wC9lK0{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 虚拟操作系统的引导文件中关于文件系统的定义
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 虚拟操作系统的引导文件中关于文件系统的定义
7、实例应用:用Slackware+Xen虚拟Fedora 5.051Testing软件测试网m*s[#}s'D&xC2]l
%a[8V N-HiO4e07.1 Fedora 安装运行于一个物理分区中
1E:_ gY,HN|{051Testing软件测试网N_S e"{{-y7.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.JeUes07.17 虚拟操作系统网卡不能激活的处理方法
7.2 Fedora 安装运行于一个映像文件中
P6Kf9Gg051Testing软件测试网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#uuaN07.24 引导Fedora 551Testing软件测试网LK6r0r(f${#H
7.25 网卡不能激活的处理51Testing软件测试网&S0Ev
F_3k~a
7.26 Fedora 映像文件太小的解决办法51Testing软件测试网 JVg\2y,bBul
;@~-a^v08、强制终止正在运行的虚拟操作系统(重要)51Testing软件测试网ur$G
~Y H8Y
9、关于基础系统安装后,虚拟操作系统的软件补充安装
;Yzxo*uuQ8Y010、关于虚拟操作系统的桌面访问及远程访问
i*yj[
sK011、常见问题处理51Testing软件测试网mX9bhS
|a0ro.w
X6T011.1 不能找到root分区
C }-S"C@"mBM;e ez011.2 出现/tmp/.ICE-unix 类似的错误
2v+Em6B A!a}/b|011.3 Device 0 (vif) could not be connected
|H`2z*]%{012、关于本文
(mL(T/tn.S8}{ i013、后记51Testing软件测试网%a8m\;q5m1A b:P?$`'s
14、参考文档
4cE
f,n
a015、相关文档51Testing软件测试网
[wwFD!_
51Testing软件测试网!g&t"h k_rYJ/m
51Testing软件测试网a:j P D/v*?^I:{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++51Testing软件测试网KKq8IBM{
正文51Testing软件测试网t'T
o5k!p!N v
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++51Testing软件测试网4~i3LZAi/p4f&m@
51Testing软件测试网4`O Li2}\w\k
|\D)E(|00、本文约定;51Testing软件测试网'H!`6U%N)R9B$ta
TYS{0~$q*L0
1f't.URw g,{8_@0虚拟平台是指能支持运行Xen的真实安装的操作系统;51Testing软件测试网&apb,@q1UIzA
虚拟操作系统:是指在虚拟平台上安装和虚拟运行的操作系统;51Testing软件测试网Q`mD`&h,rt
P
3]l'd eI5JS v0比如我在Slackware 中安装了Xen,那Slackware就是虚拟平台,通过虚拟平台就可以虚拟其它操作系统了;比如通过Slackware来虚拟Debian、Fedora ... ...51Testing软件测试网{/Q b(?/CK iW!OO
51Testing软件测试网2F#g}M9I#c+p^M51Testing软件测试网2X&?'d
v4Yh
1、什么是Xen;51Testing软件测试网uu[#vb3c8b
j6Z1{8c#z7~&J2q/S051Testing软件测试网8~)T6`GL7a{)[l
Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。
什么是虚拟机呢?可能大家知道VMWARE吧,是的,Xen就是类似这样的程序,比如我们可以在Fedora 上虚拟安装和使用Slackware、Debian、Gentoo ... ... 等发行版。因为Xen是基于内核的,相对VMWARE 来说,它占用的系统资源也就是VMWARE的百分之几左右。Xen是不是更有优势呢?只有您实践了才知道。这也是我写本文的最主要原因;51Testing软件测试网Dp@9H!r u
51Testing软件测试网;r@]HN?
4a#NUf8Ei01.1 Xen的特性;51Testing软件测试网h5wnb8\1wP3fi"K
]'UW0p+m5z(Qqz0虚拟机的性能更接近真实硬件环境)51Testing软件测试网b.l
{E4g0H:}%VG
在真实物理环境的平台和虚拟平台间自由切换)51Testing软件测试网i!d
JW8Q3mEb-~ F
在每个客户虚拟机支持到 32个虚拟CPU,通过 VCPU热插拔)51Testing软件测试网.]Ai"|Jp(s
支持PAE指令集的x86/32, x86/64平台
t
r7EC2g]C$L0通过Intel 虚拟支持VT的支持来用虚拟原始操作系统(未经修改的)支持(包括Microsoft Windows)51Testing软件测试网4d_:[0f?K
优秀的硬件支持.支持几乎所有的Linux设备驱动51Testing软件测试网 \i(H_ D QP
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)]#UwsF3Bk;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的操作系统支持和硬件支持;
} B
W$s8v0请参阅: 《Xen v3.0 用户手册》
~9W6Z2bC7qC.K.zb051Testing软件测试网
oYdCm
2、Xen的一点理论基础;
L]t,U*C:}9@}BP0基于Xen的操作系统,有多个层,最底层和最高特权层是 Xen程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效的利用CPU的物理资源。每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。51Testing软件测试网+T-\;PN.zV
当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%qn7Sxw
51Testing软件测试网#dJw2y0A
在写本文时,Xen的当前最新版本是xen-3.0.1,它基于的内核版本是2.6.12.6的。您可以根据自己的操作系统的情况来选择一种安装方式,适合您的就是最好的;51Testing软件测试网;|8MiE|x h#O
(izVuW3EO:E03.1 安装Xen的准备工作;
8gj8@ydq051Testing软件测试网6wI{"c
Hkfm
拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils 及make和automake等;开发库有zlib和python-dev等;
|&n8o9J8NT{0具体明细请参阅: 《Xen v3.0 用户手册》
\5G(HA|d051Testing软件测试网EDmx]由于Xen用Python 开发的,所以Python 当然也是必不可少的。如果您是新手,我建议您用自己所用的操作系统软件包管理工具来安装这些软件包。
k3@uZJ.JNR09ux*L ?kt051Testing软件测试网mV9|z2xi/k1j
3.2 在Redhat/Fedora 操作平台上的安装;
u\2s#h9W%Z!T051Testing软件测试网
?*J3LMY
在Fedora/Redhat平台上安装比较简单,您可以通过yum 来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat 提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;
0E2J#c{'N b0安装Xen及支持Xen的请参考:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》
g l;cO(Wm051Testing软件测试网 y]$Q:[!y.SsqA对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;51Testing软件测试网H^,RSm^
51Testing软件测试网#[b6`*?dA hY;Z8T