Xen初学者指南


欢迎!

写本指南介绍初学者到Xen的基本概念,并允许你得到事先没有知识开始使用Xen。但需要一些之前的Linux经验,网络知识,LVM和GRUB将很长的路要走!

完成本指南,您将已安装一个全功能的Xen系统管理程序,并开始你的第一个客户机操作系统,它们连接到您的网络,并相继出台,如虚拟机的存储和虚拟网络的基本概念。为了使这个过程更容易,我们将使用一个Linux发行版称为Debian。目前Debian的稳定版本支持Xen的4和你需要的一切开始的船舶“挤”!

本指南虽然看起来长先不要气馁,这是非常深入和全面的,但不指望你事先知道所有的东西。我们的目标,而不是教你所有的事情你需要知道要建立一个正常运作的Xen管理程序。:)

内容

 [ 1 ]
  • 1 什么是Xen一回事呢?
  • 2 制备
    • 2.1 在BIOS中启用虚拟化的支持
    • 2.2 下载和Debian的挤压安装光盘刻录
    • 2.3 快速介绍给Debian
  • 3 安装Debian的挤压
  • 4 安装LVM存储为客人
  • 5 安装Linux的桥梁,为客户网络
  • 6 安装Xen
  • 7 配置GRUB启动的Xen
  • 8 Xen的基本命令
  • 9 创建一个Debian光伏(准虚拟化)访客
  • 10, 创建一个Windows的HVM(虚拟硬件)访客
  • 11 结论

什么是Xen一回事呢?

Xen是一个虚拟机监视器(VMM),也称为作为一个管理程序,这是一个软件系统,它允许一台物理机上同时执行多个虚拟客户机操作系统。Xen的被称为1型或“裸机”系统管理程序,这意味着它直接运行操作系统,而不是在物理机ontop。

住客在Xen上运行的虚拟机被称为“域”和一个特殊的域名作为dom0是负责控制管理程序和启动其他来宾操作系统。这些其他来宾操作系统被称为DOMUS,这是因为这些领域是“无特权”,在这个意义上,他们无法控制Xen或启动/停止其他域。

Xen支持2个主要类型的虚拟化,半虚拟化和硬件虚拟机(HVM)中也称为“完全虚拟化”。半虚拟化使用改性来宾操作系统,我们称为开明的客人。这些操作系统都知道,他们正在被虚拟化,因此不需要虚拟的“硬件”设备,而不是他们特别要求到Xen,使他们能够访问的CPU,存储和网络资源。

相比之下HVM来宾需要不能修改Xen将创建一个类似于物理x86计算机的本机硬件设备的完全虚拟的一套。这个模拟需要更多的开销比准虚拟化的方法,但允许未修改的客户操作系统,如Microsoft Windows,运行Xen的ontop。HVM中支持需要特殊的CPU扩展 - 英特尔处理器和AMD-V VT-X AMD的机器。这项技术是目前流行的,并应配备与他们最近的服务器和桌面系统。

第三种类型的虚拟化虽然没有在本指南中讨论被称为PVHVM或“准虚拟化的HVM”这是一个半虚拟化存储,网络和其他设备的HVM域。这提供了通过减少昂贵的仿真,但提供的硬件加速CPU和内存访问两全其美。在Xen架构的简要介绍,要了解存储,网络和其他资源交付给旅客,我们需要迅速深入Xen的不同位互动系统。

<todo diagram>

<todo解释dom0的为旅客IO/network>的作用和数据路径

dom0的形式通过特殊指令dom0的通信Xen和改变配置的hypervisor,hypervisor的接口。这包括实例化新的领域和相关的任务。

dom0中的作用的另一个关键部分是,它是主接口的硬件。Xen的不包含设备驱动程序,而设备连接到dom0的,你可以使用标准的Linux驱动程序。dom0中,然后共享这些资源,通过“后端”deamons的数量与来宾操作系统。

对于每一个在Xen半虚拟化的子系统,包括两部分,前面提到的“后台”,生活在dom0和来宾域范围内的“前端”司机。后端实际上是一个守护进程,它采用特殊的环形缓冲区接口将数据传送到客人,它提供一个虚拟的硬盘,即使一个通用的SCSI设备的以太网适配器。前端驱动程序,然后这个数据流,并转换成一个设备在来宾操作系统。

2重要的准虚拟化系统被称为作为net-back/net-front和blk-back/blk-front分别是半虚拟化网络和存储系统。

你可以阅读更多Xen是如何架构,准虚拟化和等在这里的好处:

<todo找到维基Xen的深刻阐释PV>的文章

准备

本指南要求的项目数,这个清单是什么,你将需要:

  • 至少1GB的RAM的64位x86计算机(可以是一台服务器,台式机或笔记本电脑!)
  • (可选)支持VT-D或AMD-V
  • 您的dom0的和任何客人,你要安装足够的存储空间
  • 光盘刻录机+空白CD(你可以使用一个USB,但这里不讨论)
  • 上网下载和安装Debian
  • (可选)的Windows服务器2008 R2安装ISO,试用副本是足够
  • (可选)VNC客户端安装的HVM域

在BIOS中启用虚拟化支持

注:这是可选的,而不是为PV来宾

为了支持HVM来宾,我们需要确保在BIOS中启用虚拟化扩展。如果你不想启动的HVM客户机,你可以跳过这一步,但它仍然强烈建议。如果您的系统不支持这些扩展,你可以不使用Xen虚拟化未修改的操作系统,但半虚拟化将正常工作。

虚拟化选项出现在建立不同的BIOS不同,但一般所指向的“启用虚拟化技术”或“启用英特尔VT”英特尔芯片组,但是在某些情况下,它可以被列为“Vanderpool技术”。通常情况下,这个选项可以在BIOS中的“高级芯片组功能”菜单下找到。类似的还为AMD。

为更多的虚拟化扩展,使您的系统上的援助,咨询你的主板说明书。

下载和Debian的挤压安装光盘刻录

从这个网址下载的ISO映像:

   http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/~~V

netinst映像为我们的宗旨是足够的。

刻录ISO到磁盘使用您的计算机的标准工具。我建议在Linux或建在ISO刻录在Windows功能的wodim。

Debian的快速介绍

Debian是一个简单,稳定,以及支持的Linux发行。它包括Xen的支持,因为“在2005年发布的Debian 3.1”Sarge的。当前的稳定版本的Debian 6.0“挤”船舶与Xen 4.0.1和一个Xen功能的Linux 2.6.32内核。

Debian使用简单的APT包管理系统,这是既强大又简单易用。安装包是简单的,如下面的例子:

   
aptitude install htop

凡HTOP安装所需的应用。

简单的任务,如启动脚本配置,建立网络等通过本教程所涵盖的,所以不用担心,如果你还没有使用Debian之前!

许多流行的发行版是基于Debian的,还可以使用APT软件包管理器,如果你已经使用的Ubuntu,Linux Mint的或哎呀小型Linux,你会感到宾至如归。

安装Debian的挤压

插入Debian的CD引导Debian的挤压安装光盘和光盘驱动器作为您的默认引导设备配置在BIOS中或使用该系统的启动菜单,如果你的BIOS支持的话(通常按F12)。

你应该看到一个菜单,选择“默认”安装“选项,开始安装过程。安装系统Debian安装程序是非常简单的。按照提示操作,直到您到达的磁盘分区部分。

选择“高级/定制,我们将在这里配置几个分区,另一个为/ /启动一个交换和最后的分区设置为LVM卷组,为我们的客户机之一。

首先创建选择的磁盘,点击进入,使分区300MB,并格式化为ext2,挂载点选择/启动/ boot分区。

/但当然改变挂载点/使其15GB这么大的重复过程。格式化为ext3。

创建另一个分区约1.5倍大小的RAM数量,并选择它作为交换量。

最后消耗其余的磁盘空间创建一个分区,但不对其进行格式化,或指定一个挂载点。

我们现在应该有一个布局,看起来像这样假设你的磁盘设备是/ dev / sda的:

   
sda1 - /boot 200MB
   sda2 - / 15GB
   sda3 - swap
   sda4 - reserved for LVM

当你到达包的选择阶段,只安装基本系统,我们不会要求本指南的任何GUI或其他包。

<todo:延伸到覆盖的安装process>的休息

继续通过安装程序,然后重新启动并登录为根提示符。

为客人安装LVM存储

LVM是Linux的逻辑卷管理器。它是一种技术,让Linux更抽象的方式来管理块设备。

LVM介绍了一个“逻辑卷”,实际上是一个虚拟块设备的块写入1个或多个物理设备组成的概念。这些块不需要是连续不像适当的磁盘分区。

因为这种抽象的逻辑卷可以创建,删除,调整大小,甚至快照,而不影响其他逻辑卷。

LVM创建逻辑卷,在被称为一个卷组,这简直是一组共享相同的物理存储,被称为物理卷的逻辑卷。

sumarized最多的LVM设置的过程中可以分配一个物理卷,然后创建逻辑卷创建卷组ontop来存储数据。

由于这些文件支持的虚拟机的功能和性能优越,我建议使用LVM的,如果你要本地存储虚拟机数据。

现在让我们安装LVM和上手!

LVM运行此命令安装资质:

   
aptitude install lvm2

现在,我们安装了LVM允许配置它使用/ dev/sda4,因为它是物理卷

   
 pvcreate /dev/sda4

好了,现在LVM有地方存放它的块(称为未来参考的程度)。让我们创建一个卷组名为“VG0使用这个物理卷:

   
vgcreate vg0 /dev/sda4

现在,LVM是建立和初始化,使我们可以在以后为我们的虚拟机创建的逻辑卷。

对于感兴趣的下面是一些有用的命令和技巧,使用LVM时。

创建一个新的逻辑卷:

   
 lvcreate -n<name of the volume> -L<size, you can use G and M here> <volume group>

例如,创建称为卷组上的数据库数据量为100千兆字节称为VG0。

   
lvcreate -ndatabase-data -L100G vg0

然后,您可以删除这本书具有以下:

   lvremove / dev/vg0/database-data

请注意,您必须提供的路径,这里的体积。

如果你已经有一个音量设置,你想复制,LVM有一个很酷的功能,使您可以创建一头牛(副本上写)克隆称为快照。这意味着你可以做一个“瞬间”的副本,将只存储比原来的变化。尚未不成文的文章,将在讨论数量也有这个警告。最重要的事情要注意的是,“大小”快照仅仅是空间ammount的分配存储更改。这样可以使快照“大小”alot比源量较小。

要创建一个快照,使用以下命令:

   
   lvcreate -s /dev/vg0/database-data -ndatabase-backup -L5G

再次注意使用的完整路径。

安装Linux的桥梁,为客户网络

下一步,我们需要建立我们的系统,使我们可以连接到外部网络的虚拟机。这是通过创建一个在dom0中的虚拟交换机,需要从虚拟机的数据包并转发到物理网络上,因此他们可以看到网络上的互联网和其他机器。

我们做到这一点的软件被称为Linux的桥梁,它驻留在Linux内核的核心组件。在这种情况下,有效的“桥梁”是我们的虚拟交换机。我们的Debian内核编译的Linux桥接模块,所以我们需要做的是安装控制工具。

   
aptitude install bridge-utils

与桥-utils的安装,现在我们有一个工具叫做“brctl”实用会谈到Linux桥接模块,设置新的桥梁,这些桥梁连接物理或虚拟接口。

brctl可以用来创建一个桥梁等,其中的<bridgename>桥的名称:

   brctl addbr <bridgename>

和接口可以添加,桥梁,通过运行以下:

   brctl addif <bridgename> <interface>

而不是直接调用brctl而是要通过我们的桥梁,可以通过配置Debian的网络基础设施配置

   
 /etc/network/interfaces

您选择的编辑器打开这个文件(更多的编辑器,可以安装资质)纳米是默认安装的,如果你选择了最小安装

 
 nano /etc/network/interfaces

根据你的硬件,你可能会看到一个非常类似的文件:

    
  auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet dhcp

这个文件是非常简单的。每一节代表一个单一的接口。打破了“汽车eth0的”意味着,eth0的在ifup的运行(这是开机运行时间),将配置与接口,自动启动/停止你这是什么意思。“iface的eth0的”,然后描述了接口本身,在这种情况下,它只是规定,应当由DHCP配置 - 我们将假定您有您的网络上的DHCP运行本指南。如果您使用的是静态地址,你可能知道如何设置,高达。我们要编辑这个文件,所以它类似​​于这样的:

    
 auto lo
    iface lo inet loopback

    iface eth0 inet manual
    auto xenbr0

    iface xenbr0 inet dhcp
        bridge_ports eth0

这将设置桥梁把xenbr0和eth0的添加到我们的桥梁。等价的命令是:

   
 brctl addbr xenbr0
   brctl addif xenbr0 eth0
   dhclient xenbr0

除这将现在进行自动开机,完全由Debian管理。

这种网络配置方法是最好的做法和5.2.1称为自动化脚本,现在已经过时,我们将讨论这以后,一旦我们的Xen安装。

安装Xen

Debian的Xen软件包主要包括启用了Xen的Linux内核,Xen管理程序本身的QEMU的修改后的版本,支持Xen的HVM模式和用户空间工具集。

这除了QEMU的都可以安装APT元包通过callled Xen的Linux系统。荟萃包基本上是一个自动安装包组的方式。APT当然会解决所有的依赖,使所有我们需要额外的库。

让我们安装Xen的Linux系统的虚拟套件:

   
aptitude -P install xen-linux-system

下一步,我们将安装的Xen QEMU的包,使我们可以引导HVM来宾后(这是可选的,但强烈建议)

 
  aptitude install xen-qemu-dm

现在的Xen,Xen内核和用户空间工具安装,几乎准备好了。

配置GRUB启动的Xen

由于Xen的操作系统启动之前,我们需要改变你的系统启动过程中如何设置。叫做GRUB安装过程中安装的bootloader是什么告诉您的计算机操作系统的启动和如何。

grub2的配置存储在文件中的/ boot / grub的/ grub.cfg,但我们不打算直接编辑这个文件,因为它改变了我们每次更新我们的内核。Debian的配置GRUB我们使用的处理升级等自动脚本,这些脚本中的/ etc / grub.d / *存储和配置通过

   
/etc/default/grub

我们要改变操作系统的秩序,使我们的Xen系统是默认选项。由执行下面的命令,我们正以更高的优先级比默认的Linux Xen的,以便它在启动菜单中得到第一的位置。

   MV-I / etc/grub.d/20_linux_xen / etc/grub.d/09_linux_xen

然后,我们通过运行下面的命令生成在/ boot / grub的/ grub.cfg文件:

   
update-grub

现在,我们可以重新启动,默认的启动选项,将是我们的dom0的Xen运行Xen的ontop!

参见

  • Xen的GRUB的启动选项

基本Xen的命令

我们将建立一些来宾域潜水之前,我们将迅速覆盖Xen的一些基本的命令,使用“XM”性效用。展望未来,它很可能XM将被废弃,如前面提到的,但一旦XL是稳定和支持的发行版的一部分将被改写本指南,以反映。

所以让我们先从简单的东西!

   
  xm info

这将返回有关的Xen hypervisor和dom0的信息,包括版本,免费内存等

   
xm list

列出正在运行的域,它们的ID。内存,状态和CPU时间消耗

   
xm top

显示在实时运行的域和类似“顶”在Linux下的命令。这可以用于可视化的CPU,内存使用和块设备的访问。

在创建来宾域,我们将介绍一些更多的命令。

参见

  • Xen的人页

创建一个Debian光伏(准虚拟化)访客

光伏客人是出了名的“不同”安装。由于开明的系统的性质,他们没有一个CD-ROM驱动器安装analagous他们的身体通常的概念。不过,幸亏不够确实存在一些工具,帮助我们准备的“图像”或有效的操作系统能够运行里面的Xen域的快照。

Debian的包含了大量的工具,为创建Xen的客人。其中最简单的方法是被称为Xen的工具。该软件套件管理的客户机操作系统,包括Debian和RHEL的基础多莫斯下载和安装。在本指南中,我们将使用Xen的工具准备Debian的挤压,半虚拟化的domU。

Xen的工具可以使用LVM存储,用于存储来宾操作系统在本指南中,我们创建卷组的“VG0”起来LVM的存储部分设置。

当客人是半虚拟化的,有没有“BIOS”或bootloader来宾文件系统内,很长一段时间,客人居民提供了外部来宾形象的内核。然而,这是坏可维护性(客人不能没有访问dom0的升级其内核)和不灵活,因为他们必须通过配置文件通过引导选项。

Xen社区写了一个实用称为pygrub的是Python应用程序,使dom0的解析的domU的GRUB配置和提取它的内核,initrd和启动参数为PV来宾。这使得内核升级等我们的来宾机器内,随着一个GRUB菜单。使用pygrub的或存根DOM实现被称为PV-GRUB启动PV来宾的最佳实践。PV-蛴螬在某些情况下,可以说是更安全,但因为它不包括与Debian,我们将不会使用它,虽然它在生产环境中,客人可以在不被信任的建议。

除了这个光伏客人都非常相似,他们的HVM和物理操作系统同行。配置Xen的工具和建设我们的客人,首先让安装Xen的工具包:

   
   aptitude install xen-tools

现在,我们可以用这个工具创建来宾操作系统。它effectly自动化的设立从头光伏旅客,有权创建配置文件和启动来宾点的过程中。这个过程可以概括如下:

  • 创建rootfs的逻辑卷
  • 创建交换逻辑卷
  • 创建rootfs的文件系统
  • 摩的rootfs
  • 安装操作系统使用的debootstrap(或冲洗等,这里唯一的debootstrap覆盖)
  • 运行一系列的脚本像fstab中/ inittab中/ menu.lst中产生的客户机配置文件
  • 为客人创造一个Xen的配置文件
  • 生成一个客户系统的root密码
  • 卸载来宾文件系统

这9个步骤,可进行手动,但手工工艺是本指南的范围之外。我们反而会执行下面的命令:

  
  xen-create-image --hostname=tutorial-pv-guest \
  --memory=512mb \
  --vcpus=2 \
  --lvm=vg0 \
  --dhcp \
  --pygrub \
  --dist=squeeze

此命令指示Xen的创建(Xen的工具,工具箱的主要二进制)创建一个来宾域,512MB内存,2个vCPU从VG0我们创建的卷组中使用的存储,联网使用DHCP,pygrub的提取从图像内核启动时,最后,我们指定我们想部署一个Debian挤压操作系统中。

这一过程将需要几分钟之后就可以启动来宾:

  
xm create -c /etc/xen/tutorial-pv-guest.cfg

在此命令中的-C告诉XM我们希望连接到来​​宾虚拟控制台。这是一个半虚拟化的串口内配置Xen的创建图像听一个getty域。这运行analgous:

  
xm create /etc/xen/tutorial-pv-guest.cfg && xm console tutorial-pv-guest

你可以离开来宾虚拟控制台,按CTRL +],并重新进入运行的“XM控制台<DOMAIN>”命令。

你可以在以后关机无论是从内域或从dom0的以下旅客:

  
 xm shutdown tutorial-pv-guest

建立你的第一个半虚拟化域完成我们的部分!如果你没有任何兴趣设立的HVM域,然后无需任何进一步的阅读,但强烈建议!

创建一个Windows的HVM(虚拟硬件)访客

HVM来宾不少位不同,他们的光伏同行。因为他们需要硬件仿真有更多的需要进行配置等运动件

这里值得一提的主要观点是,HVM中需要ATA,以太网和其他设备的仿真,虚拟化的CPU和内存访问是在硬件中执行,以达到良好的性能。默认模拟设备,因为这是非常缓慢的,我们一般尽量使用PV驱动程序内的HVM域。我们将安装一套Windows PV驱动程序,大大提高性能,一旦我们有我们的Windows客户机运行。

这额外的仿真提供的QEMU的Xen的修改后的版本,我们应该已经安装较早,但如果你跳过这一步,现在的Xen QEMU的包安装:

   
aptitude install xen-qemu-dm

一旦安装必要的软件包,我们需要创建一个逻辑卷来存储我们的Windows虚拟机硬盘,创建一个配置文件告诉Xen的从​​DVD开始在HVM模式和引导以安装Windows域。

首先,创建新的逻辑卷 - 名字音量“窗口”,设置大小为20GB,使用的卷组VG0我们前面创建的。

   
  lvcreate -nwindows -L20G vg0

接下来与您选择的文本编辑器打开一个新的文件:

   
nano windows.cfg

下面的配置粘贴到该文件,并保存,注意,这里假设你的Windows ISO是位于在/ root /与文件名windows.iso。

   
  kernel = "/usr/lib/xen-4.0/boot/hvmloader"
   builder='hvm'
   memory = 4096
   vcpus=4
   name = "ovm-1734"
   vif = ['bridge=xenbr0']
   disk = ['phy:/dev/vg0/windows,hda,w','file:/root/windows.iso,hdc:cdrom,r']
   acpi = 1
   device_model = 'qemu-dm'
   boot="d"
   sdl=0
   serial='pty'
   vnc=1
   vnclisten=""
   vncpasswd=""

然后就可以开始的域名,并通过VNC连接到它从你的图形机。

   
xm create windows.cfg

VNC的显示应该是您dom0的IP端口5900,实例使用gvncviewer:

   gvncviewer <dom0 IP>:590​​0

一旦你已经安装的Windows格式化磁盘,并按照提示将重新启动域 - 然而这一次,我们要防止它从DVD启动,从而破坏与域

   
 xm destroy windows

然后在配置文件中更改引导线读取引导=“C”'重新启动域

   
xm create windows.cfg

重新与VNC和完成installatation。当此过程完成后,那么你就应该PROCEDE下载Windows由詹姆斯·哈珀GPLPV司机。

从这里可以得到签名的驱动程序:

http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers

许多感谢Univention使Xen社区和ofcourse一个巨大的感谢,他的所有工作在Xen这样一个流畅的体验的Windows詹姆斯签名的驱动程序。上完成安装并重新启动,你应该注意的磁盘和网络性能大大提高,现在Xen将能够正常关闭您的Windows域。

结论

总结我们介绍Xen的,现在你可以设置一个光秃秃的dom0 PV和HVM域管理程序!

你现在可以转移到建立自己的旅客图像,或尝试一些预置的虚拟机图像。

相关内容