从Ubuntu存储库安装Ubuntu 7.10(Gutsy Gibbon)服务器上的Xen
版本1.0
作者:Falko Timme
本教程提供了有关如何在Ubuntu Gutsy Gibbon(Ubuntu 7.10)服务器系统(i386)上安装Xen的分步说明。 您可以在Ubuntu存储库中找到此处使用的所有软件,因此不需要外部文件或编译。
Xen允许您在主机操作系统( dom0
)下创建客户操作系统(* nix操作系统,如Linux和FreeBSD),即所谓的“虚拟机”或主机。 使用Xen可以将应用程序分离成完全独立的虚拟机(例如,邮件服务器的虚拟机,高流量网站的虚拟机,为客户网站提供的另一个虚拟机,一个用于DNS的虚拟机等),但仍然使用相同的硬件。 这样可以节省资金,更重要的是更安全。 如果您的DNS服务器的虚拟机被黑客入侵,它对您的其他虚拟机没有影响。 此外,您可以将虚拟机从一个Xen服务器移动到下一个。
我将使用Ubuntu Gutsy Gibbon(i386)作为主机操作系统( dom0
)和Ubuntu Gutsy Gibbon以及Ubuntu Feisty Fawn用于客户机操作系统( domU
)。 可以使用xen工具安装的
其他基于Debian的发行版是Debian Etch,Debian Lenny,Debian Sid和Debian Sarge,以及Ubuntu Dapper Drake和Ubuntu Edgy Eft。
这是一个实践指南; 它不包括理论背景。 他们在网络上的许多其他文档中被处理。
本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1安装Ubuntu Gutsy Gibbon主机系统( dom0
)
您可以安装主机系统( dom0
),如本教程的第1至9章所示: http : //www.youcl.com/perfect_server_ubuntu7.10 (当然,如果您已经有一个您要使用的Ubuntu 7.10主机系统)。
确保您以root身份登录(输入
sudo su
成为root),因为我们必须以root用户身份运行本教程中的所有步骤。 另外,如果要使用vi
作为文本编辑器(如本教程所示),则应运行
apt-get install vim-full
vim-full
包确保vi
文本编辑器的行为按预期(没有vim-full
,您可能会在vi
文本编辑器中遇到一些奇怪的行为)。
这个例子中的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
软件包来创建虚拟机。
现在我们编辑/etc/xen/xend-config.sxp
。 注意(网络脚本网络虚拟)
行,并在(vif-script vif-bridge)
行上方添加(网络脚本
网桥)
,如下所示:
vi /etc/xen/xend-config.sxp
[...] #(network-script network-dummy) # The script used to control virtual interfaces. This can be overridden on a # per-vif basis when creating a domain or a configuring a new vif. The # vif-bridge script is designed for use with the network-bridge script, or # similar configurations. # # If you have overridden the bridge name using # (network-script 'network-bridge bridge=<name>') then you may wish to do the # same here. The bridge name can also be set when creating a domain or # configuring a new vif, but a value specified here would act as a default. # # If you are using only one bridge, the vif-bridge script will discover that, # so there is no need to specify it explicitly. # (network-script network-bridge) (vif-script vif-bridge) [...] |
我们还需要在每次启动系统时将循环
模块添加到内核,所以我们编辑/ etc / modules
。 如果你已经有一个循环
线,那就像这样,否则添加它:
vi /etc/modules
[...] loop max_loop=64 [...] |
现在看看/ boot
目录,看看安装了哪些内核和ramdisk:
ls -l /boot/
root@server1:~# ls -l /boot/
total 32948
-rw-r--r-- 1 root root 424317 2007-10-15 03:42 abi-2.6.22-14-server
-rw-r--r-- 1 root root 75416 2007-10-15 03:42 config-2.6.22-14-server
-rw-r--r-- 1 root root 76107 2007-10-15 03:49 config-2.6.22-14-xen
drwxr-xr-x 2 root root 4096 2007-10-30 13:02 grub
-rw-r--r-- 1 root root 7080785 2007-10-18 12:57 initrd.img-2.6.22-14-server
-rw-r--r-- 1 root root 6794412 2007-10-18 12:50 initrd.img-2.6.22-14-server.bak
-rw-r--r-- 1 root root 6871299 2007-10-30 13:02 initrd.img-2.6.22-14-xen
-rw-r--r-- 1 root root 6871266 2007-10-30 13:01 initrd.img-2.6.22-14-xen.bak
-rw-r--r-- 1 root root 103204 2007-09-28 12:06 memtest86+.bin
-rw-r--r-- 1 root root 828819 2007-10-15 03:42 System.map-2.6.22-14-server
-rw-r--r-- 1 root root 806408 2007-10-15 03:49 System.map-2.6.22-14-xen
-rw-r--r-- 1 root root 1787224 2007-10-15 03:42 vmlinuz-2.6.22-14-server
-rw-r--r-- 1 root root 1596690 2007-10-15 03:49 vmlinuz-2.6.22-14-xen
-rw-r--r-- 1 root root 308810 2007-10-12 17:10 xen-3.1.gz
root@server1:~#
/boot/vmlinuz-2.6.22-14-xen
内核是与ubuntu-xen-server
软件包一起安装的Xen内核,并且/boot/initrd.img-2.6.22-14-xen
是其ramdisk。 我们将很快需要这些。
您现在还可以查看/ usr / lib / xen-tools
目录,因为它可以显示可以使用xen-tools
在虚拟机中安装哪些发行版本:
ls -l /usr/lib/xen-tools
root@server1:~# ls -l /usr/lib/xen-tools
total 32
drwxr-xr-x 2 root root 4096 2007-10-30 13:00 centos4.d
-rwxr-xr-x 1 root root 4306 2007-09-17 01:13 common.sh
drwxr-xr-x 2 root root 4096 2007-10-30 13:00 dapper.d
drwxr-xr-x 2 root root 4096 2007-10-30 13:00 debian.d
drwxr-xr-x 2 root root 4096 2007-10-30 13:00 edgy.d
lrwxrwxrwx 1 root root 8 2007-10-30 13:00 etch.d -> debian.d
drwxr-xr-x 2 root root 4096 2007-10-30 13:00 fedora.d
lrwxrwxrwx 1 root root 6 2007-10-30 13:00 feisty.d -> edgy.d
drwxr-xr-x 2 root root 4096 2007-10-30 13:00 gentoo.d
lrwxrwxrwx 1 root root 6 2007-10-30 13:00 gutsy.d -> edgy.d
lrwxrwxrwx 1 root root 8 2007-10-30 13:00 lenny.d -> debian.d
lrwxrwxrwx 1 root root 8 2007-10-30 13:00 sarge.d -> debian.d
lrwxrwxrwx 1 root root 8 2007-10-30 13:00 sid.d -> debian.d
lrwxrwxrwx 1 root root 8 2007-10-30 13:00 stentz.d -> fedora.d
root@server1:~#
如您所见,我们可以安装以下发行版:
- Debian:Etch,Lenny(测试),Sid(unstable),Sarge
- Ubuntu:Dapper Drake,Edgy Eft,Feisty Fawn,Gutsy Gibbon
- CentOS 4
- Fedora Core 4(Stentz)
- 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 = gutsy # Default distribution to install. [...] gateway = 192.168.0.1 netmask = 255.255.255.0 broadcast = 192.168.0.255 [...] passwd = 1 [...] mirror = http://de.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地址,您的访客域也不会有网络!
现在重新启动系统:
shutdown -r now
如果您的系统重新启动没有问题,那么一切都很好!
跑
uname -r
并且您的新Xen内核应显示:
root@server1:~# uname -r
2.6.22-14-xen
root@server1:~#