当前位置:首页 > linux > 正文

收藏:虚拟化技术及管理平台相关资料

简介开源虚拟化技术软件1 前言 .....................................................


开源虚拟化技术软件

1 前言 ........................................................................ 1

2 Xenserver ................................................................... 2

2.1 Xenserver简介 ......................................................... 2

2.2 Xenserver优点 ......................................................... 3

2.2.1 数据中心自动化 .................................................. 3

2.2.2 先进的集成和管理 ................................................ 3

2.2.3 高性能虚拟基础架构 .............................................. 3

2.2.4 降低IT成本 ..................................................... 3

2.2.5 提高IT灵活性 ................................................... 4

2.2.6 减少服务器宕机 .................................................. 4

3 Vmware、Microsoft和Citrix对比 .............................................. 4

4 VirtualBox .................................................................. 6

4.1 VirtualBox简介 ........................................................ 6

4.2 主要特点 .............................................................. 6

4.3 模拟环境 .............................................................. 7

4.3.1 软件模拟 ........................................................ 7

4.3.2 硬件模拟 ........................................................ 7

5 VirtualPC ................................................................... 8

6 OpenStack和CloudStack ...................................................... 8

6.1 OpenStack简介 ......................................................... 8

6.2 CloudStack简介 ........................................................ 9

6.3 OpenStack与CloudStack的比较 .......................................... 9

6.4 实际安装与运行测试的比较 .............................................. 9

7 红帽RHEV .................................................................. 10

7.1 RHEV简介............................................................. 10

7.2 Ovirt开源项目 ........................................................ 13

8 OpenNebula ................................................................. 13

8.1 OpenNebula简介 ....................................................... 13

8.2 OpenNebula的架构 ..................................................... 14

8.3 私有云 ............................................................... 15

8.4 混合云 ............................................................... 15

8.5 公有云 ............................................................... 16

9 OpenQRM .................................................................... 16

9.1 OpenQRM简介 .......................................................... 16

9.2 OpenQRM功能 .......................................................... 18

9.3 OpenQRM优点 .......................................................... 18

10 Cecos ..................................................................... 18

10.1 简介 ................................................................ 18

10.2 服务器虚拟化 ........................................................ 19

10.3 桌面虚拟化 .......................................................... 19

10.4 企业级解决方案 ...................................................... 20

11 ZeroVM .................................................................... 21

12 Proxmox VE ................................................................ 21

13 Convirt ................................................................... 21

14 Xen、KVM和OpenVZ ......................................................... 22

14.1 Xen简介............................................................. 22

14.2 KVM简介............................................................. 22

14.3 OpenVZ简介 .......................................................... 22

14.4 架构和原理 .......................................................... 22

14.5 相关技术 ............................................................ 23

14.6 优势对比 ............................................................ 24

14.6.1 Xen的优势 ..................................................... 24

14.6.2 Xen的缺点 ..................................................... 25

14.6.3 KVM优势 ....................................................... 25

14.6.4 KVM缺点 ....................................................... 25

14.6.5 OpenVZ优点 .................................................... 25

14.6.6 OpenVZ缺点 .................................................... 26

14.7 发展趋势 ............................................................ 26

15 LXC ....................................................................... 27

02.jpg1 前言

服务器虚拟化技术是指通过运用虚拟化的技术充分发挥服务器的硬件性能,能够在确保企业投入成本的同时,提高运营效率,节约能源降低经济成本和空间浪费,对于发展迅速,成长规模大的企业来说,可以通过服务器虚拟化技术带来更多的经济效益。

服务器虚拟化可以帮助企业在现有计算资源投资的基础上节约大量的时间和金钱,主要体现在以下几个方面。

1.基础架构的利用率

通过将基础架构资源池化并打破一个应用一台物理机的藩篱,虚拟化大幅提升了资源利用率。通过减少额外硬件的采购,企业可以获得大幅成本节约。

2.安全性

通过将操作系统和应用从服务器硬件设备隔离开,病毒与其他安全威胁无法感染其他应用。

3.IT员工的工作效率

过去上一台新服务器需要走复杂的流程,而现在新建虚拟机只是几分钟的事。这大大简化了服务器的供应,IT员工可以将时间花在更重要的事情上,比如制定更规范的IT方案,优化IT策略和业务等。

4.灾难恢复变得更容易

通过整合服务器,企业有一些富余的基础设施,可以利用这些设备建设一个灾难恢复站点,而无需购买额外的设备做灾备。

5.业务连续性和应用可用性都提高了

通过虚拟化,企业可以降低计划停机时间,并且可以从意外宕机快速恢复业务,而且可以将整个虚拟环境迁移到别处。

6.能耗、制冷和机房空间

通过减少数据中心里服务器和相关硬件的数量,企业可以从减少机房空间、能耗与制冷需求中获益,从而降低IT成本。

7.利用低成本存储

虚拟化让iSCSI存储和NAS存储得到更好的利用,这些存储方式为公司提供了除了FCSAN之外其他的存储选择。

2 Xenserver

2.1 Xenserver简介

Citrix Xenserver,思杰基于Linux的虚拟化服务器。Citrix XenServer是一种全面而易于管理的服务器虚拟化平台,基于强大的Xen Hypervisor 程序之上。Xen技术被广泛看作是业界最快速、最安全的虚拟化软件。XenServer是为了高效地管理Windows(R) 和 Linux(R)虚拟服务器而设计的,可提供经济高效的服务器整合和业务连续性。

XenServer是在云计算环境中经过验证的企业级虚拟化平台,可提供创建和管理虚拟基础架构所需的所有功能。它深得很多要求苛刻的企业信赖,被用于运行最关键的应用,而且被最大规模的云计算环境和xSP所采用。通过整合服务器,降低电源、冷却和数据中心空间需求来降低成本允许在几分钟内完成新服务器置备和IT服务交付,进而提高IT灵活性确保可始终达到应用要求和性能水平标准减少故障影响,防止灾难,进而最大限度地减少停机,免费版XenServer配备有64位系统管理程序和集中管理、实时迁移及转换工具,可创建一个虚拟平台来最大限度地提高虚拟机密度和性能。Premium版XenServer扩展了这一平台,可帮助任何规模的企业实现管理流程的集成和自动化,是一种先进的虚拟数据中心解决方案。

Citrix XenServer作为一种开放的、功能强大的服务器虚拟化解决方案,可将静态的、复杂的数据中心环境转变成更为动态的、更易于管理的交付中心,从而大大降低数据中心成本。XenServer是市场上一款免费的、经云验证的企业级虚拟化基础架构解决方案,可实现实时迁移和集中管理多节点等重要功能。Citrix XenServer精华版为XenServer和Microsoft Hyper-VTM环境新增了虚拟化管理和自动化功能,因而,客户可将数据中心转变成自动交付中心。丰富的管理和自动化功能集包括自动高可用性、生命周期自动化、面向物理和虚拟机的动态供给以及与领先存储平台的深度集成。

XenServer是一套已在云计算环境中经过验证免费的企业级开放式服务器虚拟化解决方案,可以将静态、复杂的IT环境转变为更加动态、易于管理的虚拟数据中心,从而大大降低数据中心成本。同时,它可以提供先进的管理功能,实现虚拟数据中心的集成和自动化,而成本远远低于其它解决方案。

同时XenServer也是一种完整的虚拟基础架构解决方案,包括具有实时迁移功能的64位系统管理程序、功能全面的管理控制台,以及将应用、桌面和服务器从物理环境迁移到虚拟环境所需的各种工具。XenServer允许企业创建和管理数量无限的服务器和虚拟机,而且可以从同一管理控制台上安全运行。如果客户需要更高级的管理功能、可用性、集成功能或自动化功能,只需升级到高级版本的XenServer,即可创造一个增强型的虚拟数据中心。高级版、企业版和铂金版XenServer产品具有丰富的管理和自动化功能,能够提供全面 的数据中心自动化、高级集成和管理,以及关键的性能特性。

XenServer基于Xen开源设计,是一种具有出色可靠性、可用性和安全性的虚拟化平台,能够提供与本地应用不相上下的性能和无与伦比的虚拟机密度。XenServer允许通过一个直观的向导驱动工具轻松完成服务器、存储和网络设置。

2.2 Xenserver优点

思杰XenServer可以整合服务器工作负载,进而节约电源、冷却和管理成本,更有效地适应不断变化的IT环境,优化利用现有的硬件并提高IT可靠性等。

2.2.1 数据中心自动化

采用XenServer,IT专业人员可以实现关键IT流程的自动化,改进服务交付和虚拟环境中的业务连续性,节省时间和成本,获得更灵活的IT服务。

2.2.2 先进的集成和管理

采用高级XenServer版本,客户可以使用高级功能,实现物理和虚拟资源的高度集成,实现对虚拟环境的更精细管理。

2.2.3 高性能虚拟基础架构

利用XenServer基础平台,客户可搭建一个可扩展、易于管理而且灵活的虚拟服务器基础架构。

2.2.4 降低IT成本

虽然服务器整合通常是实施服务器虚拟化的主要驱动因素,但企业可以获得更多优势,而不仅仅限于服务器总数量的减少。XenServer虚拟化管理工具可以将服务器要求降低10倍。数据中心内的服务器整合可以降低功耗和管理成本,同时帮助打造更绿色环保的IT环境。

2.2.5提高IT灵活性;虚拟化使数据中心可以灵活适应不断变化的IT要求;2.2.6减少服务器宕机;XenServer可以减少计划内服务器宕机,减小;3Vmware、Microsoft和Citrix;表3.1Vmware、Microsoft和Cit;4VirtualBox4.1;VirtualBox简介;VirtualBox是一款简单易用的且完全免费的;Vi

2.2.5 提高IT灵活性

虚拟化使数据中心可以灵活适应不断变化的IT要求。例如,XenServer可以创建能无缝地集成现有存储环境的虚拟基础架构,这样就可以缩短IT部门满足用户需求所需的时间。

2.2.6 减少服务器宕机

XenServer可以减少计划内服务器宕机,减小故障影响,预防灾难并搭建始终可用的虚拟基础架构。服务器和应用升级可以在正常工作时间完成。这样就可以减小对用户生产率的影响,节约成本,使IT人员可以在晚上和周末正常休息。

3 Vmware、Microsoft和Citrix对比

表3.1 Vmware、Microsoft和Citrix功能对比

4 VirtualBox 4.1

VirtualBox简介

VirtualBox是一款简单易用的且完全免费的开源虚拟机软件,VirtualBox目前支持的操作系统包括Debian, Fedora, Linux, MacOSX(Intel), Mandriva, OpenSolaris,PCLiunxOS,RedHat,SUSE Linux,Solaris 10, Ubuntu, Windows, Xandros, openSUSE等。

VirtualBox是一款功能强大的x86虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。更可喜的是,VirtualBox现在是一款开源、免费的虚拟机软件,性能不比Vmware、VirtualPC差,支持系统环境也很丰富。用VirtualBox安装Linux系统后还可以安装其增强工具,使鼠标在主机与虚拟机间自由移动、并且可共用剪切板。性能优异却占用很少的资源,虽然是英文版,但是安装到系统盘就可以自动切换为中文,方便使用。

4.2 主要特点

支持64位客户端操作系统,即使主机使用32位CPU;支持SATA硬盘NCQ技术;虚拟硬盘快照;无缝视窗模式(须安装客户端驱动)能够在主机端与客户端共享剪贴簿(须安装客户端驱动);在主机端与客户端间建立分享文件夹(须安装客户端驱动);内建远端桌面服务器,实现单机多用户 ;支持VMware VMDK磁盘

档及Virtual PC VHD磁盘档格式3D虚拟化技术支持OpenGL(2.1版后支持)、Direct3D(3.0版后支持)、WDDM(4.1版后支持);最多虚拟32颗CPU(3.0版后支持);支持VT-x与AMD-V硬件虚拟化技术。

VirtualBox可以安装在32位和64位操作系统上。在32位主机操作系统上运行64位的虚拟机是可以的,但必须在主机的BIOS中启用硬件虚拟化特性。运行二进制安装文件将开启一个简单的安装向导,允许用户定制VirtualBox特性,选择任意快捷方式并指定安装目录。USB设备驱动以及VirtualBox host-only网络适配器将一起安装。

4.3 模拟环境

4.3.1 软件模拟

能够安装多个客户端操作系统,每个客户端系统皆可独立开启、暂停与停止。主端操作系统与客户端操作系统皆能相互通讯,多个操作系统同时运行的环境,也彼此能够同时使用网络。

4.3.2 硬件模拟

VirtualBox支援Intel VT-x与AMD AMD-V硬件虚拟化技术。

硬盘被模拟在一个称为虚拟磁盘映像档(Virtual Disk Images)的特殊容器,此格式不相容于其它虚拟机平台运行,通常作为一个系统档存放在主机端操作系统。VirtualBox能够连结iSCSI,且能在虚拟硬盘上运作,此外VirtualBox可以读写VMware VMDK档与VirtualPC VHD档。

ISO映像档可以被挂载成CD/DVD装置,例如下载的Linux发行版DVD映像档可以直接使用在VirtualBox,而不需烧录在光碟片上,亦可直接在虚拟机上挂载实体光驱。

默认上VirtualBox提供了一个支援VESA相容的虚拟显卡,与一个供Windows、Linux、Solaris、OS/2客户端系统额外的驱动程式(guest addition),可以提供更好的效能与功能,如当虚拟机的视窗被缩放时,会动态的调整分辨率。在4.1更支援WDDM相容的虚拟显卡,令Windows Vista及Windows 7可以使用Windows Aero。在声卡方面,VirtualBox虚拟一个Intel ICH AC97声卡与SoundBlaster 16 声霸卡。

在以太网接口卡方面,VirtualBox虚拟了数张网络卡:AMD PCnet PCI II、

AMD PCnet-Fast III、Intel Pro/1000 MT Desktop、Intel Pro/1000 MT Server、Intel Pro/1000 T Server。

5 VirtualPC

Virtual PC 2007 是一个虚拟化或模拟程序,可用于在主机上创建虚拟机。虚拟机可与主机共享以下系统资源:随机存取内存(RAM)、硬盘空间和中央处理器 (CPU)。可使用的主要优点是能够以任何顺序安装操作系统,无需进行磁盘分区。可以在桌面上最小化或展开虚拟PC窗口,就像对程序或文件夹进行此操作一样,并且可以在该窗口和其他窗口之间切换。可以在虚拟机上安装程序,向虚拟机中保存文件,并暂停虚拟机,以便使它停止使用主机上的计算机资源。

Microsoft Virtual PC是一个虚拟机软件,可以在Mac OS 和Microsoft Windows 操作系统上模拟x86电脑,并在其中安装运行操作系统。原来由Connectix公司开发,并由原来只在Mac OS运行改为跨平台。现时本软件已被微软公司收购,并改名为Microsoft Virtual PC,并运用于微软公司的训练课程,如MCSE的训练课程作模拟用途。

微软于2005年底推出用于Windows的Microsoft Virtual PC 2004版,并于2006年7月12日宣布Virtual PC成为免费软件。不约而同地,其主要竞对力VMWare亦于同年宣布VMWare Server 1.0成为免费软件。微软宣布目前最新版本的Microsoft Virtual PC 2007,支持Windows Vista。不支持在该虚拟机中安装Windows 7。

6 OpenStack和CloudStack 6.1

OpenStack简介

OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。

OpenStack主要包括以下几个子项目:OpenStackCompute(Nova)、云对象存储CloudObjectStorage(Swift)、镜像管理(Glance)、身份识别Identity(Keystone),网络连接管理NetworkConnectivity(Quantum)、Web管理界面DashBoard等。

目前有超过

150

家公司参与了

Openstack

项目,包括

HP ,Dell ,AMD ,Intel ,Cisco ,Citrix等公司,国内有如新浪、华胜天成、H3C

等公司也参与了OpenStack项目;OpenStack以Python编写,这意味着相;OpenStack至今共有5个版本,最新版本代号;6.2CloudStack简介;CloudStack是新加入到Apache基金会;CloudStack平台可以加速高伸缩性的公共和;6.3OpenStack与CloudStack的;2012年4月5日Citrix宣布将Cl

等公司也参与了OpenStack项目。此外微软在2010年10月表示支持OpenStack与WindowsServer2008R2的整合,而Ubuntu在11.04版本中已开始集成OpenStack。OpenStack是目前最受关注与支持的开源云计算平台之一。

OpenStack以Python编写,这意味着相比其他以C/C++或Java编写的开源云计算平台,OpenStack更容易修改与调试等。OpenStack整合了Tornado网页服务器、Nebula运算平台,使用Twisted框架,目前OpenStack支持的虚拟机宿主包括KVM,XEN,VirtualBox,QEMU,LXC等。

OpenStack至今共有5个版本,最新版本代号为Essex。

6.2 CloudStack简介

CloudStack是新加入到Apache基金会中的开源云计算平台。CloudStack开发语言为Java,此前为Cloud.com研发应用的商业软件,此后被Citrix思杰收购,2012年4月5日思杰宣布将CloudStack项目提交至Apache基金会,CloudStack成为Apache许可下的完全开源软件。

CloudStack平台可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。其最新版本的CloudStack3颇具Amazon亚马逊风格,它帮助那些希望效仿全球最成功云平台来构建云设施的企业用户,快速而轻松地将虚拟数据中心资源转入自动化、富于弹性且可自我服务的云平台中。另外,CloudStack兼容亚马逊API接口,允许跨CloudStack和亚马逊平台实现负载兼容。使用CloudStack作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务。

6.3 OpenStack与CloudStack的比较

2012年4月5日Citrix宣布将CloudStack开源软件加入到Apache软件基金会,CloudStack与OpenStack同成为Apache许可下的完全开源云计算平台,同时也成为OpenStack最有力的竞争对手。

截至目前OpenStack在市场宣传、影响力方面远胜过CloudStack,支持伙伴、社区开发人数及讨论话题数、活跃程度等也高于CloudStack,但CloudStack的平台成熟度要优于OpenStack,CloudStack的用户体验及安装容易度也都比OpenStack要好,并已在更具生产实际的环境中得到了充分验证,而OpenStack到目前为止则更像是仍处于研发阶段难以称为“成熟的产品化的IT产品”。

6.4 实际安装与运行测试的比较

1.OpenStack文档资料数相对于CloudStack较多,且安装过程等讲解较具体。但是因为不同版本间OpenStack可能差异较大,如果实际安装版本与文档中使用版本不一致可能会遇到问题。

2.OpenStack安装过程较复杂,尤其是网络配置部分比较麻烦,而这方面资料较少,讲解不够具体。CloudStack安装过程较简单,但是后续运行中各种配置等问题相关文档少有提及。

3.OpenStack的Web管理界面DashBoard目前为止较简单,可能存在bug也较多,但中文翻译较好,并提供一些帮助信息;CloudStack的Web管理界面功能较多,但中文翻译不彻底,缺少帮助提示等信息。两者使用Web界面管理均出现类似删除虚拟机一直删除不掉等问题。

4.测试发现OpenStack可超载创建虚拟机,但所创建虚拟机经常出现无法启动的情况。而CloudStack对虚拟机的资源占用管理较严格,无法超载创建虚拟机,因此对主机节点的硬件配置要求较高。

5.CloudStack支持通过模板(Template)或ISO创建虚拟机,但上传模板、ISO及创建虚拟机等过程均耗时较长;OpenStack在实验过程中为直接从网上下载img文件创建虚拟机,耗时很短即可创建成功。

6.两者创建的虚拟机均可以通过Web管理界面进入管理,但测试中OpenStack创建的虚拟机虽然附加了局域网IP,但网卡实际绑定IP为私有IP,未找到如何通过SSH直接访问的办法。CloudStack创建的虚拟机使用了分配的GuestIP,可通过SSH连接访问。

7 红帽RHEV

7.1 RHEV简介

RHEVM红帽企业虚拟化管理器,作为集中管理系统允许系统管理员查看和管理虚拟机和图像。该红帽企业虚拟化管理提供了一个功能齐全,包括搜索功能, 资源管理,现场迁移和供应。

RHEVH红帽企业虚拟化管理程序(RHEV管理程序)是一个部署在服务器基础设施上的薄虚拟层。它基于内核虚拟机(KVM),kvm是 一个Linux内核的核心组件。RHEV Hypervisor是一个独立的红帽为企业Linux专门开发的虚拟化应用。它也可以将红帽企业5.5或更新版本的Linux作为一个主机使用。红帽企业Linux

主机可以与RHEV管理程序同时使用。

Red Hat企业虚拟化是功能强大且全面的服务器虚拟化平台,经常令vSphere和 Hyper-V相形见绌。因为KVM hypervisor 集成在Linux内核中,所以和其他虚拟化平台相比,Red Hat企业虚拟化(RHEV)有时能够提供出众的成本、安全性和性能。但是为充分使用RHEV的强大功能,必须要理解其架构。RHEV Manager也称之为RHEV-M管理控制台,它是 Red Hat服务器虚拟化平台的核心组件。RHEV Manager提供了管理运行在物理节点上的虚拟机的Web界面。RHEV环境的另一个重要部分就是运行虚拟机的主机节点。可以将 RHEV-Hhypervisor 或带有虚拟化授权的Red Hat企业Linux服务器配置为节点。这两种类型的节点使用 KVM 作为底层的 hypervisor。RHEV-H hypervisor 是设置RHEV节点的默认选项,它是裸机hypervisor,只包含了运行虚拟机RHEL 码的一个子集。正因为如此,RHEV-H 主机的维护更加容易。此外,这些主机需要较少的补丁和维护就能确保其安全性。

RHEV-H基础文件系统只有100多MB而且运行在内存中,这避免了对基础镜像的改变。当对主机进行改变时,这一配置同样减少了人为错误的可能。同样的,除了虚拟机以及hypervisor管理流量外,专用的安全增强型Linux策略以及防火墙阻塞了所有流量,保证了RHEV-H 节点的安全性。除 RHEV-H 节点外,RHEV 管理器同样还支持运行KVM 的RHEL 主机。这一特性使在现有RHEL环境中部署 RHEV 更加容易。

图7.1 RHEV架构图

RHEV由一个或多个Hypervisors (或者成为主机)和至少一个 RHEV manager 组成。虚拟机(或者叫客户机)跑在hypervisor上。所有系统和组件有RHEVM支配。

在虚拟架构环境中, RHEVM 管理着所有的 物理 和 逻辑 的资源。他是整个RHEV平台的大脑。它可以用来管理供应,连接协议,用户会话,虚拟机池,图像和高可用性群集,RHEVM在windows 2008上以 cluster模式运行。active-standby 配置。

RHEV Hypervisor (或者叫 Red Hat Enterprise Linux Host) 在kvm 的架构下运行 虚拟主机(vm) ,它还包括一个资源优化层,以提高虚拟机交互性和可管理通过web browser 使用最少的本地资源访问虚拟机,支持虚拟机的系统包括:

Red Hat Enterprise Linux 3 (32 bit and 64 bit)

Red Hat Enterprise Linux 4 (32 bit and 64 bit)

Red Hat Enterprise Linux 5 (32 bit and 64 bit)

Windows XP Service Pack 3 and newer (32 bit only)

Windows Server 2003 Service Pack 2 and newer (32 bit and 64 bit) Windows Server 2008 (32 bit and 64 bit)

Windows Server 2008 R2 (64 bit only)

Windows 7 (32 bit and 64 bit)

7.2 Ovirt开源项目

Ovirt是一个开源的虚拟化管理平台,是redhat虚拟化管理平台RHEV的开源版本。Ovirt由两部分组成,客户端ovirt-node 类似于vmware esxi,是由fedaro 16订制而成。也可以在linux系统上安装vdsm服务而得到一个ovirt客户端。管理端overt-engine 类似于 vmware vcenter,但是是基于web页面的。

Ovirt现在已有的功能:

1.对宿主机节点的管理,支持基于数据中心,集群的管理,比较有特色的一个功能是可以管理ilo idarc等硬件管理卡;

2.对虚拟机的管理,可以完成虚拟机的创建、快照、删除、基于模版的克隆等常见操作;

3.迁移,在线及离线迁移虚拟机;

4.高可用,当一台宿主机宕机,在另外一台宿主机上自动开启虚机;

5.宿主机、虚拟机性能查看及统计;

6.支持nfs,iscsi,fc等存储方式;

7.支持多端口的网口绑定;

8.提供一个命令行,可以完成图形界面的大部分功能;

9.活动目录集成;

10.提供python api接口,可以api编程;

11.没有授权限制。

8 OpenNebula 8.1 OpenNebula简介

OpenNebula专为Linux VM设计,它是开放云社区项目中的一个组件,OpenNebula和开放核心的Eucalyptus不一样,它是完全开源的。

图8.1OpenNebula模型图;OpenNebula的目标是将一群实体clust;目前OpenNebula可支持XEN和KVM和实;OpenNebula支持多种身份验证方案,包括基;OpenNebula还有一个插件安装oneacc;OpenNebula包含许多有用的工具,但它的强;8.2OpenNebula的架构;OpenNebula是一款为云计算而打造

图8.1 OpenNebula模型图

OpenNebula的目标是将一群实体cluster转换弹性的虚拟基础设备,且可动态调适服务器工作负载地改变,OpenNebula在服务器和实体机处设备间产生新的虚拟层,这个层可支持丛集的服务器执行和加强虚拟机的效益。

目前OpenNebula可支持XEN和KVM和实时存取EC2,也支持印象档的传输、复制和虚拟网络管理网络。

OpenNebula支持多种身份验证方案,包括基本的用户名和密码验证(使用SQLlite或MySQL数据库管理用户信息),和通过SSH密钥验证,还有一个新的LDAP插件,但未能成功使用活动目录进行身份验证,OpenNebula的文档也缺乏相关问题的解决方案。

OpenNebula还有一个插件安装oneacct命令,它允许用户查看实例运行时长,运行人员,所在主机和其它细节信息,这些信息可以用于计费。

OpenNebula包含许多有用的工具,但它的强项还是在核心工具上,因此适合开发人员和管理人员使用,普通用户还是远观为宜。

8.2 OpenNebula的架构

OpenNebula是一款为云计算而打造的开源工具箱。它允许与Xen,KVM或VMware ESX一起建立和管理私有云,同时还提供Deltacloud适配器与Amazon EC2

相配合来管理混合云。除了像Amazon一样的商业云服务提供商,在不同OpenNebula实例上运行私有云的Amazon合作伙伴也同样可以作为远程云服务供应商。

图8.2 OpenNebula总体架构图

OpenNebula可以构建私有云、混合云、公开云。

8.3 私有云

私有云的目的是给本地的用户和管理员提供了一个灵活和敏捷的私人基础设施,以在可管理的域内运行虚拟化服务。OpenNebula虚拟基础设施暴露虚拟化、网络、图像和物理资源的配置、管理、监督和会计的功能接口。

图8.3 私有云内用户视图 8.4 混合云

OpenNebula提供Deltacloud适配器与Amazon EC2相配合来管理混合云。

图8.4 混合云

8.5 公有云

OpenNebula公有云是私有云的一个扩展,是在私有云的基础上对外暴露REST接口。如果要让合作伙伴或外部用户能够访问基础设施,或出售服务,云接口可以被添加到私有或混合云。显然,一个本地的云解决方案是任何公共云自然后端。OpenNebula的构架包括三个部分:驱动层、核心层、工具层。驱动层直接与操作系统打交道,负责虚拟机的创建、启动和关闭,为虚拟机分配存储,监控物理机和虚拟机的运行状况。核心层负责对虚拟机、存储设备、虚拟网络等进行管理。工具层通过命令行界面/浏览器界面方式提供用户交互接口,通过API方式提供程序调用接口。

图8.5 三层架构图

9 OpenQRM

9.1 OpenQRM简介

OpenQRM是目前业内领先的开源系统管理解决方案,用来管理企业数据中心业务,同时包括虚拟环境管理、数据中心自动化。OpenQrm是一款开源的数据中心管理平台。它拥有完全可插拔的体系结构把重点放在支持和符合多种虚拟技术

对自动、快速和基于设备的部署,监控,高可用性,云计算尤其如此。Openqrm是一个单一的管理控制台的完整的IT基础设施结构,提供了一个良好定义的API,可用于与其它插件结合起来,作为第三方的工具OpenQRM提供开放的插件管理架构,可用很轻松的将现有的数据中心应用程序集成到其中,比如Nagios和VMware。OpenQRM的自动化数据中心操作不但可用帮助提高可用性,同时还可以降低企业级数据中心的管理费用。

OpenQRM是为了管理混合虚拟化环境而开发的一个虚拟化管理框架,包括基础层(框架层)和插件。基础层(框架)的作用是管理不同的插件,而对虚拟资源的管理(计算资源,存储资源,映像资源)都是通过插件来实现的。OpenQRM的框架类似于Java语言中的Interface,定义了一系列虚拟机资源生命周期管理的方法,例如创建、启动、关闭虚拟机等等。在个框架的基础上,OpenQRM针对不同的虚拟化平台(Xen、KVM)实现了不同的插件,用来管理不同的物理和虚拟资源。当出现新的资源需要支持的时候,只需要为OpenQRM编写新的插件,就可以无缝地整合到原来的环境中去。

图9.1 OpenQRm架构图

OpenQRM插件也是使用无代理模式工作的。当需要管理的目标节点提供SSH登录方式时,OpenQRM插件通过SSH登陆到计算节点,在计算节点上直接运行相对应的虚拟化管理命令。当需要管理的目标节点提供HTTP/HTTPS/XML-RPC远程调用接口时,OpenQRM插件通过目标节点所提供的远程调用接口实现对目标平台管理。

9.2 OpenQRM功能

1.从软件完全隔离了硬件

OpenQRM 的硬件仅仅是计算资源,可以非常容易重分配而无须修改或重新配置服务器(server-image)。

2.支持不同虚拟技术

支持包括 VMware XEN KVM 和 Linux-VServer 虚拟技术系统的管理,支持物理到虚拟(P2V,physical to virtual),虚拟物理(V2P,virtual to physical)和虚拟到虚拟(V2V,virtual to virtual)迁移。这意味着方便地在物理和虚拟,以及虚拟之间毫无困难的转换。

3.完全自动化的Nagios配置监控所有系统和服务

OpenQRM提供了一种通过nmap2nagios-ng的 自动映射整个OpenQRM网络并创建或更新Nagios配置(所有系统和所有服务)的完全自动配置Nagios。

4.高可用

通常10个HA系统就会有10个独立的standby系统(浪费了!),但是在 openQRM可以只配置一个(或多个)standby系统,这样就可以节约idle节点的系统资源浪费。

9.3 OpenQRM优点

1.Web管理管理虚拟技术,使用Linux的virt-manager管理XEN和KVM需要。远程登录系统或者远程VNC或者X-Window登录,很不方便。OpenQRM提供Web管理技术,通过网页管理虚拟机。

2.开源数据中心管理平台,插件结构,支持多种虚拟技术,自动化、快速基于应用的部署、监控和高可用。

3.OpenQRM是一个单一管理控制台,用于完成IT基础构架和提供良好 定义API以集成第三方工具作为插件,方便扩展。

10 Cecos

10.1 简介

Community Enterprise Cloud Operating System(CecOS)是OpenFans社区推出的一款针对服务器和桌面虚拟化的完整虚拟化管理解决方案,是一个成熟的、

完全开源的企业虚拟化平台;10.2服务器虚拟化;1.适用于大规模的虚拟化和内部云部署;CecOSVirtualization为企业提供;2.低成本的同时,大大提高了利用率和灵活性;将工作负荷从物理服务器转换至虚拟机,数据中心整合;10.3桌面虚拟化;1.提高数据安全性;CecOSVirtualization桌面虚拟化;2.更低的基础设施成本;通过将桌面环境集

完全开源的企业虚拟化平台。它以强大的基于内核的虚拟机(KVM)系统管理程序和开放虚拟化管理平台为基础。

10.2 服务器虚拟化

1.适用于大规模的虚拟化和内部云部署

CecOS Virtualization为企业提供了理想平台,此平台以大规模的虚拟化和内部/私有云部署为基础,以强大的内核虚拟机(KVM)系统管理程序实现了记录设置的虚拟化基准结果以及无与伦比的固结比;拥有功能齐全的企业管理系统,使客户能够集中且有效地管理他们的整个虚拟环境(如虚拟数据中心、群集、主机、客户机虚拟服务器、网络和存储器);功能齐全,并具有高可用、迁移、负荷均衡、映像管理、实时快照和精简配置等功能。

2.低成本的同时,大大提高了利用率和灵活性

将工作负荷从物理服务器转换至虚拟机,数据中心整合大大提高了计算机资源的利用率和灵活性且能更有效地利用能源和空间,同时降低了操作成本。在服务器硬件上节约的资金成本是您最大的收益,可将成本降低40%至75%。另外,整合操作有益于节省空间和能源且能改善服务器持续管理。

10.3 桌面虚拟化

1.提高数据安全性

CecOS Virtualization桌面虚拟化通过将桌面环境移至公司防火墙保护下的安全数据中心,帮助企业组织确保数据安全,并有助于减小盗窃的风险,符合严格的政府法规和数据隐私法。

2.更低的基础设施成本

通过将桌面环境集中到数据中心,设置新的桌面环境、维护现有系统和监控桌面活动,一切只需单击几次鼠标便可实现。

3.提高可管理性

可对桌面环境进行集中创建、监控和管理,从而减少了对现场支持的需求,甚至不在需要现场支持。

4.建立业务连续性和数据敏捷性

通过消除对操作系统和硬件的依赖,桌面环境存在于隔离的可迁移的虚拟机上,实现了在整个数据中心中的可移动性。此外,桌面可轻松加入到数据中心备

份计划,带来高水平的连续性。

5.提高应用和客户端灵活性

用户可在各种类型的客户端设备中访问多种操作环境。这为基于Windows和Linux的应用程序提供了应用灵活性,无论是什么客户端。

10.4 企业级解决方案

1.CecOSVirtualization系统管理程序

基于CecOS内核的裸机、高性能且安全的系统管理程序,Linux内核采用了KVM(基于内核的虚拟机)技术;基于映像的轻量级系统管理程序,具有最小安全影响;支持VLAN、网络连接和广泛的网络设备,包括10GB接口;支持CecOS的所有64位x86服务器平台(需要Intel-VT或AMD-V硬件虚拟化扩展)。

2.CecOSVirtualization管理平台

集中管理系统具有搜索驱动图形界面,支持数百台主机和数千台虚拟机(以CecOSVirtualization和JBossEAP为基础,实现高性能和可扩展性)。

3.具有企业管理全部功能

动态迁移、策略式工作负荷平衡、高可用性、节约能源、群集维护、映像管理、模板化、精简配置、事件监视等。

4.高级SELinux基于内核的安全性

基于内核的最高级别安全,能够立即进行入侵检测以及利用安全增强式Linux(SELinux)和sVirt保护隔离虚拟机和主机。

5.自助服务用户门户

RESTfulAPI能够以编程方式自动运行、管理和配置CecOSVirtualization的各个方面;基于Python的命令行接口能够启动脚本和自动化,且由上游社区共同开发挂钩机制使管理员能定义脚本以修改虚拟机定义或运行系统命令,使终端客户能够自己设置虚拟机、定义模板和管理他们自己的环境;管理员可为磁盘空间、CPU使用和内存定义用户配额。

6.存储

支持的存储包括iSCSI、光纤通道、NFS、本地存储和其他POSIX兼容文件系统等;支持的功能包括存储实时迁移、实时快照、共享磁盘、浮动磁盘、VM磁盘热插拔/拔下、LUN直接链接至VM。

7.报告和监控

基于JasperReports的详细记录历史能力与基础产品相结合,旨在监控历史使用情况、趋势和服务质量。

8.故障和恢复

实时迁移—将虚拟桌面从一台主服务器移到另一台主服务器,不会中断终端用户,便于系统维护、创建负载平衡策略等;负载平衡—创建策略,自动在各可用系统管理程序主机间实现负载平衡虚拟桌面确保最优性能和系统资源的均匀分配;快照—在任一时间点捕捉虚拟桌面状态,实现桌面环境的迅速恢复;灵活的存储—使用iSCSI或光纤通道(FCP)共享存储来存储虚拟桌面映像和数据,或利用本地磁盘测试环境。

9.安全和可扩展性

SSL加密—确保来自客户端的数据传输安全;SELinux和sVirt—内核级安全策略提供数据的全面隔离和保护;内存过量分配—可分配比主机物理内存更多的虚拟内存;最高的虚拟机密度—支持单一主机上数百个虚拟桌面,最大程度地利用硬件;CPU和内核抽离—使用多达64个虚拟CPU,以任意虚拟处理器和虚拟内核组合。

11 ZeroVM

ZeroVM是第一个专门为云设计的虚拟机管理程序。ZeroVM 是一个开源轻量级虚拟化平台,基于 Google Native Client 项目,提供如下优势:速度、隔离、高效、进程抽象、每次请求创建一个一次性虚拟机、轻松的嵌入式、高性能等。 12 Proxmox VE Proxmox VE (Proxmox Virtual Environment) 是一个非常棒的集成OPENVZ 支持KVM应用的环境。有方面易用的WEB界面,基于JAVA的UI和内核接口,可以登录到VM客户方便的操作,还有易用的模板功能,基本跟国外的商业VPS环境差不多了,支持VT和ISCSI。

13 Convirt

Convirt是基于KVM,XEN开发的一套虚拟化产品。其特点是每一次对服务器的操作都是通过原生的linux命令模拟人工ssh登录来完成的,所以具有很好的稳定性,灵活性和可扩展性。后台系统基于python语言开发,使用python中轻

量级的Turbogears框架使得整个系统简洁流畅,易于维护。前台使用extjs,运用Ajax技术来完成与后台的实时交互,达到前台界面的局部刷新,给客户很好的用户体验。

Convirt中国开源项目在convirt开源版本的基础上进行优化、稳定,并逐步增加功能上去,打造一个完全公益、开放的国内虚拟化管理软件。

14 Xen、KVM和OpenVZ

14.1 Xen简介

Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。其目标是为了实现在单个计算机上运行128个有完全功能的操作系统。在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。2013年4月,Linux基金会宣布Xen成为Linux基金会合作项目。 14.2 KVM简介

KVM,全称为Kernel-basedVirtualMachine(基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施。KVM目前支持IntelVT及AMD-V的原生虚拟技术。

14.3 OpenVZ简介

OpenVZ是开源软件,是基于Linux平台的操作系统级服务器虚拟化解决方案。OpenVZ采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,Virutozzo是SWsoft公司提供的商业虚拟化解决方案。

14.4 架构和原理

Xen通过hypervisor软件层来访问物理硬件,实现在一台单独的计算机上运行多个各自独立彼此隔离的子操作系统。hypervisor指挥硬件访问和协调来自各子操作系统的请求。

在Xen环境中,主要有两个组成部分。一个是虚拟机监控器(VMM),也叫hypervisor。Hypervisor层硬件与虚拟机之间,最先被载入到硬件的第一层。Hypervisor载入就可部署虚拟机。在Xen中,虚拟机叫做Domain。在这些虚拟机中,Domain0具有很高的特权,负责一些专门的工作。由于hypervisor中不包含

任何与硬件对话的驱动,也没有与管理员对话的接口,这些驱动就由domain0来提供了。通过domain0,管理员可以利用一些Xen工具来创建其它虚拟机(DomainU)。这些domainU属于无特权domain。

而KVM是基于Linux环境的开源虚拟化解决方案,其思想是在Linux内核的基础上添加虚拟机管理模块,重用Linux内核中已经完善的进程调度、内存管理与硬件设备交互等部分,使之成为一个可以支持运行虚拟机的Hypervisor。因此,KVM并不是一个完善的模拟器,而只是一个提供虚拟化功能的内核插件,具体的模拟器工作是借助工具(QEMU)来完成。

OpenVZ可以在单个物理服务器上创建多个隔离的虚拟专用服务器(VPS)并以最大效率共享硬件和管理资源。每个VPS的运行和独立服务器完全一致,因其自身的用户、应用程序都可以独立重启,它拥有根访问权限、用户、IP地址、内存、处理器、文件、应用服务、系统库文件和配置文件等。拥有轻量级处理损耗和高效设计的OpenVZ是运行应用服务和实时数据生产型服务器虚拟化的最佳选择。

OpenVZ软件同时为用户提供工具,协助自动化管理虚拟服务器。基于模板的应用程序部署可以在几分钟内用简单的方法创建新的虚拟服务器并投入使用,而且与其他的虚拟化技术相比,OpenVZ可以在每CPU上运行几倍于其他虚拟化服务器技术的虚拟化服务器。

与VMware这种虚拟机和Xen这种半虚拟化技术相比,OpenVZ的host OS和guest OS都必需是Linux(虽然在不同的虚拟环境里可以用不同的Linux发行版)。但是,OpenVZ声称这样做有性能上的优势。根据OpenVZ网站的说法,使用OpenVZ与使用独立的服务器相比,性能只会有1-3%的损失。

14.5 相关技术

Xen同时支持全虚拟化和半虚拟化(修改过的客户机能有更好的性能)。Intel对Xen贡献修改以支持其VT-XVanderpool架构扩展。如果主系统支持Vanderpool或者Pacifica扩展(Intel和AMD对本地支持虚拟化的扩展),这项技术将允许未修改的客作业系统运行在Xen虚拟机中。事实上,那意味著性能的提升,并且可以在没有进行任何协议不允许的修改的情况下对Windows进行虚拟。而且,通过可以半虚拟化的技术获得高性能,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有上佳的表现。与那些传统通过软件模拟实现硬件的虚拟机

不同,在IntelVT-X支持下3.0版本之前的;KVM是一个全虚拟化的解决方案;OpenVZ是基于Linux内核和作业系统的操作;14.6优势对比;14.6.1Xen的优势;1.可用资源:Xen的问世要比KVM早4年之久(;2.平台支持:Xen在新版本中支持更多的主机和客;3.可管理性:Xen具有一个更加宽泛的第三方配给;4.实施:Xen的运行和管理都是在

不同,在IntelVT-X支持下3.0版本之前的Xen需要系统的来宾权限,用来和XenAPI进行连接。Xen目前可以运行在x86系统上,并正在向x86_64、IA64、PPC移植。移植到其他平台从技术上是可行的,未来有可能会实现。

KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的IntelCPU和具有AMD-V功能的AMDCPU。它包含一个为处理器提供底层虚拟化可加载的核心模块KVM.ko(KVM-intel.ko或KVM-AMD.ko)。KVM还需要一个经过修改的QEMU软件(qemu-KVM),作为虚拟机上层控制和界面。KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器)。在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。

OpenVZ是基于Linux内核和作业系统的操作系统级虚拟化技术。OpenVZ允许物理服务器运行多个操作系统,被称虚拟专用服务器(VPS,Virtual Private Server)或虚拟环境(VE, Virtual Environment)。

14.6 优势对比

14.6.1 Xen的优势

1.可用资源:Xen的问世要比KVM早4年之久(两者分别是2003年和2007年)。比较容易找到精通Xen的IT技术人员,更容易让这些技术人员接受Xen相关的培训、更容易得到Xen的咨询帮助以及获得Xen证书。

2.平台支持:Xen在新版本中支持更多的主机和客体工作环境,包括泛虚拟化技术、硬件辅助支持以及修改过或未修改过的客体操作系统。

3.可管理性:Xen具有一个更加宽泛的第三方配给、备份、存储管理、P2V、容量规划、性能监控、进程自动化、安全和其它管理规则的社区。

4.实施:Xen的运行和管理都是在较低级别的(Ring0)。对于新虚拟机创建,客体机器并不需要像KVM那样共享内存块、CPU指令或者任何底层的Linux操作系统(虽然偶尔也会越权)。

5.支持动态迁移:Xen支持非中断的动态迁移,可以允许动态工作负载平衡和例行维护而几乎没有任何宕机时间。

6.性能:Xen具有更好的处理性能(接近于本地处理),支持一个客体虚拟机

的数量呈线性增长,可以支持30个以上工作负载同时运行。

7.Xen是半虚拟化技术,它并不是一个真正的虚拟机,而是相当于自己运行了一个内核的实例,可以自由的加载内核模块,虚拟的内存和IO,稳定而且可预测。

14.6.2 Xen的缺点

1.Xen是一个安装在Linux内核下层的一个产品。其工作环境的补丁包不能够和Linux内核兼容。

2.Xen使用泛虚拟化技术需要修改操作系统,默认Windows的安装并不支持泛虚拟化工作环境。

3.Xen不能良好的与Linux内核整合,将会使Linux内核的负担越来越重。 14.6.3 KVM优势

KVM是Linux内核的一部分,KVM在Linux内核内部部署,可以很容易控制虚拟化进程。KVM更加灵活。由于操作系统直接和整合到Linux内核中的虚拟化管理程序交互,所以在任何场景下都可以直接和硬件进行交互,而不需要修改虚拟化的操作系统。

KVM在RetHat的大力支持下,将会使虚拟化技术的后来者——KVM同Xen一样功能齐全。

14.6.4 KVM缺点

KVM不如Xen技术成熟,并且缺少某些关键特性,如动态迁移和泛虚拟化支持。

14.6.5 OpenVZ优点

OpenVZ是操作系统级别的虚拟化技术,是底层操作系统上的一层应用,这意味着易于理解和低权重开销,一般来说也意味着更优的性能。但是OpenVZ配置起来比较灵活。优势:现在外面卖的这种类型,许可的内存都超大,CPU也强劲,而且卖家很多,可比性也很强。性价比超高。

OpenVZ的内存模型的优点是,它容易理解:几乎就只有privvmpages受限。与专用的服务器或Xen的服务器不一样的是,磁盘高速缓存和页面缓存并不计入总内存使用情况。因此,在一个没有过度销售的openvz主机上,由于拥有较大冗

余的公共资源,它实际上可能会比同类规格的Xen的VPS表现更佳。

14.6.6 OpenVZ缺点

超卖,没有不超卖的,导致各种石头盘,钻石盘。连带的cpu也被过度分割导致性能升值不如其标明的1/10。对于内存,基本上OpenVZ技术没有独占的,都是共享,而且这种技术最大的劣势就是内存下来后直接就是当机。另外OpenVZ的内存管理方法也有问题。最大的问题之一是内存容量的应用程序使用的内存和应用程序实际上分配到的内存是不同的,不同的应用程序他们的差别可能会很大。以Java为例,它通常分配一大块的内存,但是,它可能只使用一小部分分配的内存。如果privvmpages受限,java会立即停止运行。调整参数可以解决一部分问题,但它处理得绝对没有Xen来得干净利落。事实上,几乎所有使用内存分配的应用程序都会受OpenVZ这个问题的影响。

14.7 发展趋势

Xen同时支持全虚拟化和半虚拟化(修改过的客户机能有更好的性能).KVM当前不支持半虚拟化。而且KVM就是所有新生技术在发展中都会面临的难题:技术不成熟。KVM在可用资源、平台支持、管理工具、实施经验方面不能与Xen相比。目前KVM还缺少某些关键特性,例如存储的动态迁移。性能方面,Xen支持一个客体虚拟机的数量呈线性增长,可以支持30个以上工作负载同时运行。KVM随着工作负载的增加性能逐渐下降。所以就目前来看,Xen在各方面都占有优势。同时,Xen成为Linux基金会项目。但是KVM得到了RetHat的大力支持,将会使其功能更加齐全

虚拟化技术已经成为未来计算机技术的一个重要的发展方向。Linux在虚拟化方面已经有了很多种解决方案:VMware、VirtualBox、Xen和KVM。KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的IntelCPU和具有AMD-V功能的AMDCPU。Xen与KVM的比较Xen也是Linux下的一个虚拟化解决方案,也将很快被编入内核中。Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果需要更新Xen的版本,就需要重新编译整个内核,而且,稍有设置

不慎,系统就无法启动。相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。

15 LXC

LXC为Linux Container的简写。Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:

1.与宿主机使用同一个内核,性能损耗小;

2.不需要指令级模拟;

3.不需要即时(Just-in-time)编译;

4.容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;

5.避免了准虚拟化和系统调用替换中的复杂性;

6.轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。

Linux Container提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制。Linux Container有点像chroot,提供了一个拥有自己进程和网络空间的虚拟环境,但又有别于虚拟机,因为lxc是一种操作系统层次上的资源的虚拟化。

Sourceforge上有LXC这个开源项目,LXC项目本身只是一个为用户提供一个用户空间的工具集,用来使用和管理LXC容器。LXC真正的实现则是靠Linux内核的相关特性,LXC项目只是对此做了整合。基于容器的虚拟化技术起源于所谓的资源容器和安全容器。

LXC在资源管理方面依赖于Linux内核的cgroups子系统,cgroups子系统是Linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就是在clone时加入相应的flag(NEWNS NEWPID等等)。

容器是一种轻量级的虚拟化技术,与qemu/kvm、VMware、Xen等完全的虚拟

化方案相比,LXC更像是加强的“chroot”,因为LXC不但没有对硬件设备进行仿真,而且可以与主机共享一模一样的操作系统,所以LXC与solaris的zones和BSD的jails相比,更具优势。

目前,有两个比较方便的管理容器的用户空间的工具:libvirt和lxc。libvirt通过"lxc:///"像管理其他虚拟机驱动一样管理lxc虚拟机。另一个是与libvirt完全独立的LXC,它定义了一些列的命令,可以更灵活的管理和使用lxc。

发表评论