Xen:用于Linux?内核的虚拟化技术简介

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

  系统开始运行后,您应该将其更新到 Fedora 的最新开发版本(称为 rawhide )。要完成此任务,请遍历 /etc/yum.repos.d/ 目录中的元素,将除了 fedora-devel.repo 以外的所有元素都改为 enabled=0 ;将 fedora-devel.repo 改为 enabled=1 。

  建立了 yum 储存库(repository)后,需要将机器更新到 rawhide,以便您可以开始使用最新发布的 Xen。

清单 1. 将 FC3 更新到 rawhide 并安装 Xen 软件包
yum update yum install xen kernel-xen0 kernel-xenU

  然后,创建一个将要使用的虚拟文件系统。

清单 2. 格式化并建立 Xen 服务器文件系统
mkdir -p /xen/base dd if=/dev/zero of=/root/base.img bs=1M count=1 seek=1024 mkfs.ext3 /root/base.img mount -o loop /root/base.img /xen/base

  格式化并挂载 Xen 服务器文件系统之后,下一个步骤是安装必要的软件包,以便在这些软件包上运行某些程序。为了在 Xen 服务器上运行一个 Web 服务器,您应该安装一组 Web-server 软件包。(警告: 这将需要一段时间!您可以先 运行 yum,然后出去散散步。)

清单 3. 安装 Xen 服务器软件包
yum --installroot=/xen/base -y groupinstall web-server / --enablerepo=base --disablerepo=development

(现在应该去散步了。)

  现在已经安装了所有需要的软件包,不过您应该去查看一个简单的 fstab 文件,这个文件会告知 Xen 服务器它们将要获得根(root)设备 sda1,将该设备作为根。根设备实际上是来自系统管理程序的一个虚拟的设备,但您的服务器不会知道这一点。

清单 4. Xen 服务器 fstab 文件
/dev/sda1 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0

  将这个文件写入 /xen/base/etc/fstab。如果不是标准的 Fedora 安装,那么不会为您创建任何 fstab。预计 Fedora 的未来版本会包含处理此问题的工具。

  最后,为了让系统正确地运行,您应该做一些处理。目前,Xen 使用 initrd 时仍然存在问题,所以,如果想要启动系统,则需要为自己创建一些设备代码。然后,为了让程序平稳运行,删除 TLS 程序库会有所帮助,因为目前它们与 Xen 冲突很严重。完成这个步骤后,可以卸载这个文件系统。

清单 5. 为开始运行所做的最后的处理
for i in console null zero ; do MAKEDEV -d /xen/base/dev -x $i ; done mv /lib/tls /lib/tls.disabled mv /xen/base/lib/tls /xeb/base/lib/tls.disabled umount /xen/base/

运行 Xen
  既然已经细心地手工建立起了客户系统,那么您现在就可以真正重新启动机器,开始使用 Xen 内核。您可能将会看到比平时多得多的打印输出,并且您还会看到关于 TLS 程序库(上一节中您删除的那个会出问题的程序库)的可怕的消息。

  Xen 要求为运行的每个服务器准备配置文件。尽管您可以为所有服务器创建一个惟一的动态配置文件,但我还是建议您创建两个静态的配置文件,各用一个。如您所见,磁盘标签告诉服务器您的文件映像是 sda1 设备。也指定了您所使用的 xenU 内核,以及服务器客户将要获得的内存。

清单 6. Xen 服务器配置文件
/etc/xen/base kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU" memory = 64 name = "BaseServer" nics = 1 disk = ['file:/root/base.img,sda1,w'] root = "/dev/sda1 ro" /etc/xen/test kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU" memory = 64 name = "TestServer" nics = 1 disk = ['file:/root/test.img,sda1,w'] root = "/dev/sda1 ro"

  要启动并运行服务器,首先要使用命令 xend start 启动 Xen 服务,然后使用命令 xm create base 通过基本配置文件创建 BaseServer。通过这些步骤,您将进入 Xen 客户系统中,可以看到该系统已经启动起来。不论何时,如果您想跳出客户系统控制台,那么按下

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答