欢迎光临
我们一直在努力

虚拟化与Xen在Debian Lenny(AMD64)

Xen虚拟化在Debian Lenny(AMD64)

版本1.0
作者:Falko Timme

本教程提供了有关如何在Debian Lenny(5.0)系统(AMD64)上安装Xen的分步说明。

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

我不会保证这将为您工作!

1初步说明

我使用的是Debian Lenny系统( x86_64 ),主机名为server1.example.com ,IP地址为192.168.0.100作为主机系统( dom0 )。 (如果您在i386系统上,安装可能会略有不同)。我将使用Debian Lenny作为虚拟机( domU )。

本指南将介绍如何设置基于映像的虚拟机以及基于LVM的虚拟机。

2安装Xen

要安装Xen,我们只需运行

apt-get install xen-hypervisor-3.2-1-amd64 xen-linux-system-2.6.26-1-xen-amd64 xen-utils-3.2-1 xenstore-utils xenwatch xen-shell xen-tools

之后,我们打开/ etc / modules ,并确保我们的行循环max_loop = 64仅当您要创建基于映像的虚拟机时才需要此步骤 – 如果要创建基于LVM的虚拟机,则可以跳过该步骤虚拟机 ):

vi /etc/modules

[...]loop max_loop=64

接下来我们打开/etc/xen/xend-config.sxp

vi /etc/xen/xend-config.sxp

…并取消注释线(网络脚本网桥)并注释掉线(网络脚本网络虚拟) 。 还要确保启用该行(vif脚本vif桥)

[...](network-script network-bridge)[...]#(network-script network-dummy)[...](vif-script vif-bridge)[...]

然后重新启动系统:

reboot

uname -r

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

server1:~# uname -r
2.6.26-1-xen-amd64
server1:~#

3创建基于图像的虚拟机

我们将使用xen-tools来创建虚拟机。 xen-tools可以轻松创建虚拟机 – 请阅读本教程了解更多信息: http : //www.howtoing.com/xen_tools_xen_shell_argo 。 我们已经在上一步中安装了xen-tools(第2章)。

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

vi /etc/xen-tools/xen-tools.conf

[...]dir = /home/xen[...]dist   = lenny     # Default distribution to install.[...]gateway   = 192.168.0.1netmask   = 255.255.255.0broadcast = 192.168.0.255[...]passwd = 1[...]kernel      = /boot/vmlinuz-`uname -r`initrd      = /boot/initrd.img-`uname -r`[...]mirror = http://ftp.de.debian.org/debian/[...]serial_device = hvc0[...]disk_device = xvda[...]

目录行指定虚拟机映像的存储位置。 dist指定要安装在虚拟机中的分发(Debian Lenny)(该文件中有一条注释,说明当前支持的发行版本)。

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

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

这是非常重要的,你添加行serial_device = hvc0 ,因为否则你的虚拟机可能无法正常启动!

在我们继续之前,我们必须创建虚拟机映像应存储的目录:

mkdir /home/xen

现在我们来创建我们的第一个访客域xen1.example.com ,IP地址为192.168.0.101

xen-create-image –hostname=xen1.example.com –size=4Gb –swap=256Mb –ip=192.168.0.101 –memory=128Mb –arch=amd64 –role=udev

您在命令行中指定的选项将覆盖/etc/xen-tools/xen-tools.conf中的设置。 在命令行中未指定的选项取自/etc/xen-tools/xen-tools.conf请确保您添加了–role = udev,否则您的虚拟机可能无法正常启动!

(要了解有关可用选项的更多信息,请查看xen-create-image手册页:

man xen-create-image

xen-create-image命令现在将为我们创建xen1.example.com虚拟机。 这可能需要几分钟的时间。 输出应与此类似:

server1:~# xen-create-image –hostname=xen1.example.com –size=4Gb –swap=256Mb –ip=192.168.0.101 –memory=128Mb –arch=amd64 –role=udev

General Information
——————–
Hostname       :  xen1.example.com
Distribution   :  lenny
Partitions     :  swap            256Mb (swap)
                  /               4Gb   (ext3)
Image type     :  sparse
Memory size    :  128Mb
Kernel path    :  /boot/vmlinuz-2.6.26-1-xen-amd64
Initrd path    :  /boot/initrd.img-2.6.26-1-xen-amd64

Networking Information
———————-
IP Address 1   : 192.168.0.101 [MAC: 00:16:3E:D0:91:EE]Netmask        : 255.255.255.0
Broadcast      : 192.168.0.255
Gateway        : 192.168.0.1

Creating partition image: /home/xen/domains/xen1.example.com/swap.img
Done

Creating swap on /home/xen/domains/xen1.example.com/swap.img
Done

Creating partition image: /home/xen/domains/xen1.example.com/disk.img
Done

Creating ext3 filesystem on /home/xen/domains/xen1.example.com/disk.img
Done
Installation method: debootstrap
Done

Running hooks
Done

Role: udev
        File: /etc/xen-tools/role.d/udev
Role script completed.

Creating Xen configuration file
Done
Setting up root password
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
All done

Logfile produced at:
         /var/log/xen-tools/xen1.example.com.log
server1:~#

现在应该有一个xen1.example.com配置文件 – /etc/xen/xen1.example.com.cfg 。 看看它,以熟悉虚拟机配置文件:

vi /etc/xen/xen1.example.com.cfg

## Configuration file for the Xen instance xen1.example.com, created# by xen-tools 3.9 on Tue Feb  3 17:56:25 2009.###  Kernel + memory size#kernel      = '/boot/vmlinuz-2.6.26-1-xen-amd64'ramdisk     = '/boot/initrd.img-2.6.26-1-xen-amd64'memory      = '128'##  Disk device(s).#root        = '/dev/xvda2 ro'disk        = [                  'file:/home/xen/domains/xen1.example.com/swap.img,xvda1,w',                  'file:/home/xen/domains/xen1.example.com/disk.img,xvda2,w',              ]##  Hostname#name        = 'xen1.example.com'##  Networking#vif         = [ 'ip=192.168.0.101,mac=00:16:3E:D0:91:EE' ]##  Behaviour#on_poweroff = 'destroy'on_reboot   = 'restart'on_crash    = 'restart'

(请注意:如果您有双核或四核CPU,并希望虚拟机使用所有CPU内核,请将vcpus =’2′vcpus =’4′添加到配置文件。)

要启动虚拟机,请运行

xm create /etc/xen/xen1.example.com.cfg

xm console xen1.example.com

如果您在控制台上登录该虚拟机(键入CTRL +] ,或者如果您使用PuTTY返回到dom0 ,则为CTRL + 5 ),或使用SSH客户端连接到它( 192.168.0.101 )。

要获取正在运行的虚拟机的列表,请键入

xm list

输出应如下所示:

server1:~# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  3488     2     r—–    398.2
xen1.example.com                             6   128     1     -b—-      2.8
server1:~#

要关闭xen1.example.com ,请执行以下操作:

xm shutdown xen1.example.com

如果您希望xen1.example.com在下次启动系统时自动启动,那么请执行以下操作:

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

以下是最重要的Xen命令:

xm create -c / path / to / config – 启动虚拟机。
xm shutdown <name> – 停止虚拟机。
xm destroy <name> – 立即停止虚拟机而不关闭虚拟机。 就像关掉电源按钮一样。
xm list – 列出所有运行的系统。
xm console <name> – 登录虚拟机。
xm help – 所有命令的列表。

使用xen-create-image命令创建的所有虚拟机的列表都可用

xen-list-images

server1:~# xen-list-images
Name: xen1.example.com
Memory: 128
IP: 192.168.0.101
server1:~#

要了解有关xen-tools可以做什么的更多信息,请查看本教程: http : //www.howtoing.com/xen_tools_xen_shell_argo

赞(0) 打赏
未经允许不得转载:老赵部落 » 虚拟化与Xen在Debian Lenny(AMD64)

评论 抢沙发