📄 xen 初学者指南.htm
字号:
/lib/modules </A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.13">5.13
xen的配置文件及守护程序的存放位置</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.14">5.14
可执行命令存放于/usr/sbin</A> </UL>
<P><A href="http://www.linuxsir.org/main/?q=node/188#5.2">5.2
Xen服务器的启动</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.3">5.3 Xen
管理工具xm</A></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#5.31">5.31
列出所有正在运行的虚拟操作系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.32">5.32
通过配置文件来引导虚拟的操作系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.33">5.33
从终端或控制台登录正在运行的虚拟操作系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.34">5.34
存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.35">5.35
停止正在运行的虚拟操作系统/激活停止的虚拟操作系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.36">5.36
调整虚拟平台/虚拟操作系统的占用内存</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.37">5.37
关闭被虚拟的系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.38">5.38
调整虚拟平台及虚拟操作系统的虚拟CPU个数</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#5.39">5.39
查看虚拟系统运行的状态</A> </UL></UL>
<P><A
href="http://www.linuxsir.org/main/?q=node/188#6">6、虚拟操作系统的文件存储系统</A></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#6.1">6.1
以实际物理硬盘做为虚拟操作系统文件系统</A>
<P></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#6.11">6.11
准备物理分区及创建文件系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#6.12">6.12
在物理分区上构建操作系统<BR><A
href="http://www.linuxsir.org/main/?q=node/188#6.13">6.13
虚拟操作系统的引导文件中关于文件系统的定义</A> </UL>
<P><A href="http://www.linuxsir.org/main/?q=node/188#6.2">6.2
以映像文件做为文件系统</A></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#6.21">6.21
创建映像文件</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#6.22">6.22
格式化映像为Linux文件系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#6.23">6.23
在映像文件上构建操作系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#6.24">6.24
虚拟操作系统的引导文件中关于文件系统的定义</A> </UL></UL>
<P><A
href="http://www.linuxsir.org/main/?q=node/188#7">7、实例应用:用Slackware+Xen虚拟Fedora
5.0</A></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#7.1">7.1 Fedora
安装运行于一个物理分区中</A>
<P></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#7.11">7.11
下载Fedora 5.0的基础系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.12">7.12
解压和提取相应文件</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.13">7.13
规划硬盘的物理分区并创建文件系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.14">7.14 构建Fedora 5
的基础系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.15">7.15 创建Fedora 5
引导文件</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.16">7.16 引导Fedora 5
</A><BR><A href="http://www.linuxsir.org/main/?q=node/188#7.17">7.17
虚拟操作系统网卡不能激活的处理方法 </A></UL>
<P><A href="http://www.linuxsir.org/main/?q=node/188#7.2">7.2 Fedora
安装运行于一个映像文件中</A></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#7.21">7.21
下载Fedora 5.0的基础系统</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.22">7.22
解压和提取相应文件</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.23">7.23
修改引导运行Fedora的配置文件</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.24">7.24 引导Fedora 5
</A><BR><A href="http://www.linuxsir.org/main/?q=node/188#7.25">7.25
网卡不能激活的处理</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#7.26">7.26 Fedora
映像文件太小的解决办法</A> </UL></UL>
<P><A
href="http://www.linuxsir.org/main/?q=node/188#8">8、强制终止正在运行的虚拟操作系统(重要)</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#9">9、关于基础系统安装后,虚拟操作系统的软件补充安装</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#10">10、关于虚拟操作系统的桌面访问及远程访问</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#11">11、常见问题处理</A></P>
<UL><A href="http://www.linuxsir.org/main/?q=node/188#11.1">11.1
不能找到root分区</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#11.2">11.2
出现/tmp/.ICE-unix 类似的错误</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#11.3">11.3 Device 0
(vif) could not be connected </A></UL>
<P><A
href="http://www.linuxsir.org/main/?q=node/188#12">12、关于本文</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#13">13、后记</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#14">14、参考文档</A><BR><A
href="http://www.linuxsir.org/main/?q=node/188#15">15、相关文档</A> </P></UL>
<P><FONT
color=blue><B><BR>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<BR>正文<BR>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<BR></B></FONT></P>
<P><FONT id=0 size=4><B><BR>0、本文约定;<BR></B></FONT></P>
<P>虚拟平台是指能支持运行Xen的真实安装的操作系统;<BR>虚拟操作系统:是指在虚拟平台上安装和虚拟运行的操作系统;</P>
<P>比如我在Slackware
中安装了Xen,那Slackware就是虚拟平台,通过虚拟平台就可以虚拟其它操作系统了;比如通过Slackware来虚拟Debian、Fedora
... ... </P>
<P><FONT id=1 size=4><B><BR>1、什么是Xen;<BR></B></FONT></P>
<P>Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen
可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。</P>
<P>什么是虚拟机呢?可能大家知道VMWARE吧,是的,Xen就是类似这样的程序,比如我们可以在Fedora
上虚拟安装和使用Slackware、Debian、Gentoo ... ... 等发行版。因为Xen是基于内核的,相对VMWARE
来说,它占用的系统资源也就是VMWARE的百分之几左右。Xen是不是更有优势呢?只有您实践了才知道。这也是我写本文的最主要原因;</P>
<P><FONT id=1.1 size=3><B><BR>1.1 Xen的特性;<BR></B></FONT></P>
<P>虚拟机的性能更接近真实硬件环境)<BR>在真实物理环境的平台和虚拟平台间自由切换)<BR>在每个客户虚拟机支持到 32个虚拟CPU,通过
VCPU热插拔)<BR>支持PAE指令集的x86/32, x86/64平台<BR>通过Intel
虚拟支持VT的支持来用虚拟原始操作系统(未经修改的)支持(包括Microsoft
Windows)<BR>优秀的硬件支持.支持几乎所有的Linux设备驱动</P>
<P><FONT id=1.2 size=3><B><BR>1.2 Xen的应用范围;<BR></B></FONT></P>
<P><B>服务器整合:</B>在虚拟机范围内,在一台物理主机上安装多个服务器,
用于演示及故障隔绝;<BR><B>无硬件依赖:</B>允许应用程序和操作系统对新硬件的移值测试;<BR><B>多操作系统配置:</B>以开发和测试为目的,同时运行多个操作系统;<BR><B>内核开发:</B>在虚拟机的沙盒中,做内核的测试和调试,无需为了测试而单独架设一台独立的机器;<BR><B>集群运算:</B>和单独的管理每个物理主机相比较,在VM级管理更加灵活,在负载均衡方面,更易于控制,和隔离;<BR><B>为客户操作系统提供硬件技术支持:</B>可以开发新的操作系统,
以得益于现存操作系统的广泛硬件支持,比如Linux;</P>
<P><FONT id=1.3 size=3><B><BR>1.3 Xen的操作系统支持和硬件支持;<BR></B></FONT></P>
<P><B>请参阅:</B> <A href="http://www.linuxsir.org/main/doc/Xen3man">《Xen
v3.0 用户手册》</A></P>
<P><FONT id=2 size=4><B><BR>2、Xen的一点理论基础;<BR></B></FONT></P>
<P>基于Xen的操作系统,有多个层,最底层和最高特权层是 Xen程序本身。Xen
可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效的利用CPU的物理资源。每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。</P>
<P>当Xen启动运行后,第一个虚拟的操作系统,就是Xen本身,我们通过xm list,会发现有一个Domain 0的虚拟机。Domain 0
是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的Domain
,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。</P>
<P>一个被称为xend的服务器进程通过domain 0来管理系统,Xend
负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个HTTP的接口被传送到xend。</P>
<P><FONT id=3 size=4><B><BR>3、Xen的安装;<BR></B></FONT></P>
<P>在写本文时,Xen的当前最新版本是xen-3.0.1,它基于的内核版本是2.6.12.6的。您可以根据自己的操作系统的情况来选择一种安装方式,适合您的就是最好的;</P>
<P><FONT id=3.1 size=3><B><BR>3.1 安装Xen的准备工作;<BR></B></FONT></P>
<P>拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils
及make和automake等;开发库有zlib和python-dev等;</P>
<P><B>具体明细请参阅:</B> <A href="http://www.linuxsir.org/main/doc/Xen3man/"
target=_blank>《Xen v3.0 用户手册》</A></P>
<P>由于Xen用Python 开发的,所以Python
当然也是必不可少的。如果您是新手,我建议您用自己所用的操作系统软件包管理工具来安装这些软件包。</P>
<P><FONT id=3.2 size=3><B><BR>3.2 在Redhat/Fedora
操作平台上的安装;<BR></B></FONT></P>
<P>在Fedora/Redhat平台上安装比较简单,您可以通过yum
来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat
提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;</P>
<P><B>安装Xen及支持Xen的请参考:</B><A
href="http://www.linuxsir.org/main/?q=node/183">《Fedora Core 5.0 用 Xen
虚拟Slackware 10.2》</A></P>
<P>对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;</P>
<P><FONT id=3.3 size=3><B><BR>3.3
通过Xen的二进制包来安装(几乎适用所有的Linux发行版);<BR></B></FONT></P>
<P>通过Xen的二进制软件包来安装,这应该是通用的,几乎适合所有的Linux操作系统。由于二进制所是已经编译好的,我已经在Slackware
平台上用这种方法来安装,还是成功的。另外etony兄也在Debian上安装成功;</P>
<P>您应该到 <A href="http://www.xensource.com/downloads"
target=_blank>http://www.xensource.com/downloads</A>
去下载二进制包,文件名中带有xen-3.0.1-install字样的,比如
xen-3.0.1-install-x86_32.tgz,这个软件包表示适用x86_32位机器的。也就是我们用的普通32位PC机。如果您用的是64位机器,应该下载文件名带有x86_64字样的软件包;</P>
<P>下载好后,就解压安装,我们还是以支持x86_32构架机器的xen-3.0.1-install-x86_32.tgz为例:</P>
<P>
<DIV class=codeblock><CODE>[root@localhost ~]# tar zxvf
xen-3.0.1-install-x86_32.tgz<BR>[root@localhost ~]# cd
xen-3.0.1-install<BR>[root@localhost xen-3.0.1-install]# sh
install.sh</CODE></DIV>
<P></P>
<P>判断是不是安装好了,请查看/boot目录,会发现有很多文件名带有xen字样的文件,另外在/lib/moudules中也会发现有支持xen的内核模块;另外再看一看是否有/etc/xen这个目录。我想应该是有的。</P>
<P><FONT id=3.4 size=3><B><BR>3.4 通过Xen的源码包编译安装(仅供参考);<BR></B></FONT></P>
<P>通过Xen的二进制包来安装,可能有时内核不太适应我们的需要,这时我们要通过Xen的源码包来安装。通过自己编译来安装Xen及支持Xen的内核;Xen的源码包,您可以到
<A href="http://www.xensource.com/downloads"
target=_blank>http://www.xensource.com/downloads</A>去下载。文件名带有
xen-3.0.1-src字样的,比如 xen-3.0.1-src.tgz。 </P>
<P><FONT id=3.41 size=2><B><BR>3.41 编译原理;<BR></B></FONT></P>
<P>通过Xen的源码包编译,其实也没有什么神秘的。在Xen的源码包中提供了一些内核补丁和内核配置文件等。当我们执行编译命令时,首先编译的是Xen程序本身,然后是编译内核
。在编译内核时,程序会自动判断是否有内核源码 ,xen-3.0.1支持的内核是2.6.12.6,如果在xen的解压目录下没有,他就会自动内核的官方站
http://www.kernel.org 下载
linux-2.6.12.tar.bz2。然后就是自动解压并为此内核打补丁。然后系统会根据指令要求,然后采用相应的内核配置文件,或配置内核进行编译。</P>
<P><FONT id=3.42 size=2><B><BR>3.42 编译过程简说;<BR></B></FONT></P>
<P><B>第一步:解压软件包,查看Xen源码包所带的文件;</B></P>
<P>
<DIV class=codeblock><CODE>[root@localhost ~]# tar zxvf
xen-3.0.1-src.tgz<BR>[root@localhost ~]# cd xen-3.0.1<BR>[root@localhost
xen-3.0.1]# ls <BR>COPYING Config.mk README docs install.sh patches
xen<BR>ChangeLog Makefile buildconfigs extras linux-2.6-xen-sparse
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -