如何在二进制文件中设置Xen 3.0在Ubuntu 6.06 LTS(Dapper Drake)

如何从Ubuntu 6.06 LTS(Dapper Drake)中的二进制文件设置Xen 3.0

版本1.0
作者:ÁsgeirBjarni Ingvarsson <istari AT hlekkir DOT com>
最后编辑:2006年6月13日

安装和配置Xen的这种特殊方式只是我的阻力最小的路径。 还有许多其他可能的方式来配置系统。

1安装一个干净的基本服务器系统。

通常会像你一样安装Ubuntu。 我已经在hda上创建了3个分区,但是你可以用任何你喜欢的方式来完成。 当您编辑配置文件时,请牢记您的差异。

  • hda1是交换
  • hda2是2 GB,安装在/
  • hda3是磁盘的其余部分,并安装为/ xen-images

2更新系统并安装Xen

2.1安装Xen并进行配置

打开一个根shell,所以你不必为每个命令键入sudo。

sudo -s

更新系统并安装nececary包。

apt-get update
apt-get upgrade
apt-get install iproute python python-twisted bridge-utils debootstrap

XenSource下载并解压缩Xen 3.0压缩包。

tar xvf xen-3.0.1-install-x86_32.tgz
cd xen-3.0.1-install
./install.sh

检查错误消息 - 它应该对所有人说好。

接下来我们为新内核创建modules.dep和map文件。 (有关正确的内核版本,请参阅/ lib / modules

/sbin/depmod -a 2.6.16-xen

编辑/ etc / mkinitramfs / modules并追加以下行:

loop max_loop=64

如果稍后用尽循环设备,只需增加max_loop并重建initrd。

创建一个initrd映像。 使用与以前相同的版本号。

cd /boot
mkinitramfs -o initrd.img-2.6.16-xen 2.6.16-xen

编辑/boot/grub/menu.lst在Automagic部分之前放置以下行

title Xen 3.0 / XenLinux 2.6 
kernel /boot/xen-3.gz
module /boot/vmlinuz-2.6-xen root=/dev/hda2 ro
module /boot/initrd.img-2.6.16-xen

使Xen启动并在系统启动时自动启动所选的guest虚拟机。 xend必须从之前开始,并且必须在xendomains之后停止。

update-rc.d xend start 30 2 3 4 5 . stop 31 0 1 6 .
update-rc.d xendomains start 31 2 3 4 5 . stop 30 0 1 6 .

禁用线程本地存储(请记住在每次更新后检查)

mv /lib/tls /lib/tls.disabled

2.2以后的解决方法可能不需要,但是我不得不这样做。

重命名xen-backend.rules

mv /etc/udev/rules.d/xen-backend.rules /etc/udev/rules.d/92-xen-backend.rules

确保/ var / run / xenstored/ var / run / xend存在。 编辑/etc/init.d/xend并在检查/ proc / xen / capabilities之后插入以下行

if [ ! -d /var/run/xend ] ; then
mkdir -p /var/run/xend
fi

if [ ! -d /var/run/xenstored ] ; then
mkdir -p /var/run/xenstored
fi

编辑/etc/init.d/xendomains并将LOCKFILE行更改为读取

LOCKFILE=/var/lock/xendomains

2.3为此部分完成所有重新启动。

当系统备份时,尝试以下命令来验证一切正常。

xm list

你应该看到类似的东西:

Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0 0 463 1 r----- 42.3

3配置来宾域

3.1创建磁盘映像并引导它们

为图像创建一个挂载点。

mkdir -p /xen-images/mnt

创建1 GB图像文件和500 MB交换文件,对于较大的图像增加计数。

dd if=/dev/zero of=/xen-images/guest_base.img bs=1024k count=1000
dd if=/dev/zero of=/xen-images/guest_base-swap.img bs=1024k count=500

更改映像文件的权限。 没有人可以访问您的Domain-0计算机,因为这将危及所有来宾域的安全性,但这是一个好主意,不影响Xen。

chmod 640 /xen-images/guest_base*

guest_base.img格式设置为ext3,然后将guest_base-swap.img格式化为swap。 当它说“/xen-images/guest_base.img不是块专用设备”时。 回答是,继续。

mkfs.ext3 /xen-images/guest_base.img
mkswap /xen-images/guest_base-swap.img

挂载客户映像并引导它。 您应该使用更接近您的镜像替换http://archive.ubuntu.com/ubuntu/。

mount -o loop /xen-images/guest_base.img /xen-images/mnt
debootstrap --arch i386 dapper /xen-images/mnt http://archive.ubuntu.com/ubuntu/

将您的/etc/apt/sources.list复制到新映像

cp /etc/apt/sources.list /xen-images/mnt/etc/apt/

复制内核模块。

cp -dpR /lib/modules/2.6.16-xen /xen-images/mnt/lib/modules/

禁用线程本地存储。

mv /xen-images/mnt/lib/tls /xen-images/mnt/lib/tls.disabled

通过编辑/ xen-images / mnt / etc / network / interfaces配置guest虚拟机的网络

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# Uncomment this and configure after the system has booted for the first time
#auto eth0
#iface eth0 inet static
# address 192.168.0.101
# netmask 255.255.255.0
# broadcast 192.168.0.255
# gateway 192.168.0.1
# dns-nameservers 192.168.0.1

创建/ xen-images / mnt / etc / hosts并使其看起来像这样。

127.0.0.1       localhost localhost.localdomain
127.0.0.1 guest

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

创建/ xen-images / mnt / etc / hostname

echo guest > /xen-images/mnt/etc/hostname

编辑/ xen-images / mnt / etc / fstab这样看起来像这样。

proc            /proc       proc    defaults    0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda2 none swap sw 0 0

卸载图像。

umount /xen-images/mnt

如果你收到这个警告“umount:/ xen-images / mnt:设备忙”不用担心,这并不重要。

3.2启动基本映像以完成配置

为guest / etc / xen / baseimage创建配置文件

#  -*- mode: python; -*-
kernel = "/boot/vmlinuz-2.6.16-xen"
ramdisk = "/boot/initrd.img-2.6.16-xen"
memory = 128
name = "baseimage"
vif = ['bridge=xenbr0']
disk = ['file:/xen-images/guest_base.img,hda1,w','file:/xen-images/guest_base-swap.img,hda2,w']
ip = "192.168.0.101"
netmask = "255.255.255.0"
gateway = "192.168.0.1"
hostname = "baseimage"
root = "/dev/hda1 ro"
extra = "4"

开始客人

xm create baseimage -c

以root身份登录,并设置root密码。

启用影子密码。

shadowconfig on

创建/ etc / network / interfaces的备份

cp /etc/network/interfaces /etc/network/interfaces.bak

编辑/ etc / network / interfaces并输入正确的值,以便您可以访问Internet

开始网络

ifup -a

安装软件包(如果需要,可以添加ubuntu-desktop等)。

apt-get update
apt-get install ubuntu-base configure-debian openssh-server

如果已更新,则禁用线程本地存储。

mv /lib/tls /lib/tls.disabled

以任何您喜欢的方式配置系统,我建议您尝试每个菜单项。 您应该在utils-> console-common之前使用utils-> console-data。

configure-debian

将您创建的新用户添加到/ etc / sudoers

visudo

停止网络

ifdown -a

/ etc / network / interfaces替换为备份副本。

mv /etc/network/interfaces.bak /etc/network/interfaces

您现在已经完成了设置基本图像,使其关闭。

4创建您的第一个来宾域

制作基本客人图片的副本。

cp /xen-images/guest_base.img /xen-images/guestdom1.img
cp /xen-images/guest_base-swap.img /xen-images/guestdom1-swap.img

为新客人制作一份/ etc / xen / baseimage副本。

cp /etc/xen/baseimage /etc/xen/guestdom1

编辑/ etc / xen / guestdom1并将名称,磁盘和主机名更改为以下值。

name = "guestdom1"
disk = ['file:/xen-images/guestdom1.img,hda1,w','file:/xen-images/guestdom1-swap.img,hda2,w']
hostname = "guestdom1"

您将要为您创建的每个新客人更改以下文件。

  • / etc / hostname
  • / etc / hosts
  • / etc / network / interfaces

让客户端自动启动,并使Domain 0等待,然后再关闭。

ln -s /etc/xen/guestdom1 /etc/xen/auto/

或者如果要手动启动和停止客户机。

xm create guestdom1

有关更多信息,请查看Xen文档

参考文献:
https://www.youcl.com/info/7340
https://wiki.ubuntu.com/XenOnUbuntuBinaryInstall
http://www.ubuntuforums.org/showthread.php?t=178027

其他兴趣点:
https://wiki.ubuntu.com/XenVirtualMachine/XenOnUbuntuDapper
http://www.shorewall.net/Xen.html
http://www.shorewall.net/XenMyWay.html

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

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

支付宝扫一扫打赏

微信扫一扫打赏