欢迎!
写本指南介绍初学者到Xen的基本概念,并允许你得到事先没有知识开始使用Xen。但需要一些之前的Linux经验,网络知识,LVM和GRUB将很长的路要走!
完成本指南,您将已安装一个全功能的Xen系统管理程序,并开始你的第一个客户机操作系统,它们连接到您的网络,并相继出台,如虚拟机的存储和虚拟网络的基本概念。为了使这个过程更容易,我们将使用一个Linux发行版称为Debian。目前Debian的稳定版本支持Xen的4和你需要的一切开始的船舶“挤”!
本指南虽然看起来长先不要气馁,这是非常深入和全面的,但不指望你事先知道所有的东西。我们的目标,而不是教你所有的事情你需要知道要建立一个正常运作的Xen管理程序。:)
内容 [ 1 ] |
什么是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 loopbackauto eth0
iface eth0 inet dhcp
这个文件是非常简单的。每一节代表一个单一的接口。打破了“汽车eth0的”意味着,eth0的在ifup的运行(这是开机运行时间),将配置与接口,自动启动/停止你这是什么意思。“iface的eth0的”,然后描述了接口本身,在这种情况下,它只是规定,应当由DHCP配置 – 我们将假定您有您的网络上的DHCP运行本指南。如果您使用的是静态地址,你可能知道如何设置,高达。我们要编辑这个文件,所以它类似于这样的:
auto lo
iface lo inet loopbackiface eth0 inet manual
auto xenbr0iface 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>:5900
一旦你已经安装的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域管理程序!
你现在可以转移到建立自己的旅客图像,或尝试一些预置的虚拟机图像。