从Ubuntu存储库在Ubuntu 8.04(Hardy Heron)服务器上安装Xen

从Ubuntu存储库安装Ubuntu 8.04(Hardy Heron)服务器上的Xen

版本1.0
作者:Falko Timme

本教程提供了有关如何在Ubuntu Hardy Heron(Ubuntu 8.04)服务器系统(i386)上安装Xen的分步说明。 您可以在Ubuntu存储库中找到所有使用的软件,因此不需要任何外部文件(除了固定的Ubuntu Xen内核以实现虚拟机的网络连接)或编译。

Xen允许您在主机操作系统( dom0 )下创建客户操作系统(* nix操作系统,如Linux和FreeBSD),即所谓的“虚拟机”或主机。 使用Xen可以将应用程序分离成完全独立的虚拟机(例如,邮件服务器的虚拟机,高流量网站的虚拟机,为客户网站提供的另一个虚拟机,一个用于DNS的虚拟机等),但仍然使用相同的硬件。 这样可以节省资金,更重要的是更安全。 如果您的DNS服务器的虚拟机被黑客入侵,它对您的其他虚拟机没有影响。 此外,您可以将虚拟机从一个Xen服务器移动到下一个。

对于客户操作系统( domU ),我将使用Ubuntu Hardy Heron(i386)作为主机操作系统( dom0 )和Ubuntu Hardy Heron以及Ubuntu Gutsy Gibbon(7.10)。 可以使用xen工具安装的其他基于Debian的发行版是Debian Etch,Debian Lenny,Debian Sid和Debian Sarge,以及Ubuntu Dapper Drake,Ubuntu Edgy Eft和Ubuntu Feisty Fawn。

这是一个实践指南; 它不包括理论背景。 他们在网络上的许多其他文档中被处理。

本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!

1安装Ubuntu Hardy Heron主机系统( dom0

您可以安装主机系统( dom0 ),如本教程的第1至10章所示: http : //www.youcl.com/perfect-server-ubuntu8.04-lts (当然,您不必如果您已经有要使用的Ubuntu 8.04主机系统,请执行此操作)。

确保您以root身份登录(输入

sudo su

成为root),因为我们必须以root用户身份运行本教程中的所有步骤。 另外,如果要使用vi作为文本编辑器(如本教程所示),则应运行

apt-get install vim-full

vim-full包确保vi文本编辑器的行为按预期(没有vim-full ,您可能会在vi文本编辑器中遇到一些奇怪的行为)。

禁用AppArmor是个好主意:

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove

这个例子中的dom0的FQDN将是server1.example.com 。 本教程中server1.example.com的IP地址为192.168.0.100 ,而我使用的网关是192.168.0.1 ,所以虚拟机也必须使用。

2安装Xen

要安装Xen和所有需要的依赖项,我们所要做的就是运行以下命令:

apt-get install ubuntu-xen-server

这也将安装我们以后使用的xen-tools软件包来创建虚拟机。

ubuntu-xen-server软件包安装Ubuntu内核2.6.24-16-xen ; 不幸的是,这个内核有一个令人讨厌的错误,导致网络对虚拟机无效 (请参阅https://bugs.launchpad.net/ubuntu/+source/xen-3.2/+bug/204010https://bugs.launchpad .net / ubuntu / + source / linux / + bug / 218126 )。 幸运的是,Hirano Takahito已经修补了这个内核,并在http://www.il.is.su-tokyo.ac.jp/~hiranotaka/上提供了修补版本(i386和amd64)(我已经创建了这些软件包的镜像在http://downloads.youcl.com/ubuntu_8.04_server_xen_from_repositories/ ,如果原始链接不再工作一天)。 为您的架构(i386或amd64)下载正确的linux映像包,例如:

wget http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb

然后用这样替换Ubuntu 2.6.24-16-xen内核:

dpkg -i linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb

接下来做这个:

mv /lib/tls /lib/tls.disabled

我们还需要在每次启动系统时将循环模块添加到内核,所以我们编辑/ etc / modules 。 如果你已经有一个循环线,那就像这样,否则添加它:

vi /etc/modules
[...]
loop max_loop=64
[...]

现在看看/ boot目录,看看安装了哪些内核和ramdisk:

ls -l /boot/
root@server1:~# ls -l /boot/
total 34380
-rw-r--r-- 1 root root  426444 2008-04-10 18:55 abi-2.6.24-16-server
-rw-r--r-- 1 root root   80203 2008-04-10 18:55 config-2.6.24-16-server
-rw-r--r-- 1 root root   85149 2008-04-19 23:17 config-2.6.24-16-xen
drwxr-xr-x 2 root root    4096 2008-05-06 15:19 grub
-rw-r--r-- 1 root root 7323503 2008-04-24 11:47 initrd.img-2.6.24-16-server
-rw-r--r-- 1 root root 7047843 2008-04-24 11:45 initrd.img-2.6.24-16-server.bak
-rw-r--r-- 1 root root 7056979 2008-05-06 15:19 initrd.img-2.6.24-16-xen
-rw-r--r-- 1 root root 7062168 2008-05-06 15:09 initrd.img-2.6.24-16-xen.bak
-rw-r--r-- 1 root root  103204 2007-09-28 12:06 memtest86+.bin
-rw-r--r-- 1 root root  933296 2008-04-10 18:55 System.map-2.6.24-16-server
-rw-r--r-- 1 root root  883544 2008-04-19 23:17 System.map-2.6.24-16-xen
-rw-r--r-- 1 root root 1987288 2008-04-10 18:55 vmlinuz-2.6.24-16-server
-rw-r--r-- 1 root root 1730344 2008-04-19 23:17 vmlinuz-2.6.24-16-xen
-rw-r--r-- 1 root root  370610 2008-04-11 03:16 xen-3.2.gz
root@server1:~#

/boot/vmlinuz-2.6.24-16-xen内核是新的修补的Xen内核,并且/boot/initrd.img-2.6.24-16-xen是其ramdisk。 我们将很快需要这些。

您现在还可以查看/ usr / lib / xen-tools目录,因为它可以显示可以使用xen-tools在虚拟机中安装哪些发行版本:

ls -l /usr/lib/xen-tools
root@server1:~# ls -l /usr/lib/xen-tools
total 36
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-4.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-5.d
-rwxr-xr-x 1 root root 4409 2008-04-06 03:12 common.sh
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 dapper.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 debian.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 edgy.d
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 etch.d -> debian.d
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-4.d -> fedora-core-6.d
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-5.d -> fedora-core-6.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 fedora-core-6.d
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-7.d -> fedora-core-6.d
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 feisty.d -> edgy.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 gentoo.d
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 gutsy.d -> edgy.d
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 hardy.d -> edgy.d
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 lenny.d -> debian.d
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 sarge.d -> debian.d
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 sid.d -> debian.d
root@server1:~#

如您所见,我们可以安装以下发行版:

  • Debian:Etch,Lenny(测试),Sid(unstable),Sarge
  • Ubuntu:Dapper Drake,Edgy Eft,Feisty Fawn,Gutsy Gibbon,Hardy Heron
  • CentOS 4,CentOS 5
  • Fedora Core 4,5,6,Fedora 7
  • Gentoo

(我没有尝试安装CentOS,Fedora和Gentoo与xen工具 ,所以我不能说它有多好。)

我想将我的虚拟机存储在/ home / xen目录中,因此我现在创建它:

mkdir /home/xen

我们将使用xen-tools来创建虚拟机。 xen-tools可以轻松创建虚拟机 - 请阅读本教程了解更多信息: http : //www.youcl.com/xen_tools_xen_shell_argo 。 如前所述, xen-tools软件包与ubuntu-xen-server软件包一起安装。

现在我们编辑/etc/xen-tools/xen-tools.conf 。 该文件包含xen-create-image脚本使用的默认值,除非在命令行中指定其他值。 我改变了以下值,剩下的不变:

vi /etc/xen-tools/xen-tools.conf
[...]
dir = /home/xen
[...]
dist   = hardy     # Default distribution to install.
[...]
gateway   = 192.168.0.1
netmask   = 255.255.255.0
broadcast = 192.168.0.255
[...]
passwd = 1
[...]
mirror = http://archive.ubuntu.com/ubuntu/
[...]

dist行保留要在虚拟机中安装的默认分发。 / usr / lib / xen-tools目录的内容显示哪些分发是可用的(见上文)。

内核行必须包含我们的Xen内核,并且initrd行包含其ramdisk。 默认的/etc/xen-tools/xen-tools.conf文件的值为kernel = / boot / vmlinuz-`uname -r`initrd = /boot/initrd.img-suname -r` ,它们自动转换为正确的内核和ramdisk,所以我们不必修改这些行。

passwd = 1行使您可以在创建新的来宾域时指定root密码。 在镜像行中指定一个靠近你的Ubuntu镜像。

确保指定网关和网络掩码。 如果没有,并且在使用xen-create-image时,不要在命令行中指定网关和网络掩码,即使指定了IP地址,您的访客域也不会有网络!

现在重新启动系统:

reboot

如果您的系统重新启动没有问题,那么一切都很好!

uname -r

并且您的新Xen内核应显示:

root@server1:~# uname -r
2.6.24-16-xen
root@server1:~#
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏