求linux虚拟化技术的实现方案,谢了
关于Linux虚拟化的优势我们大家已经有所了解。目前使用最多的虚拟化操作系统还是Windows系列,但是Linux的成长速度是惊人的,大有替代Windows的趋势。关于Linux虚拟化技术大致上可以分为六个不同的方式。在本文中,我们将讨论实现Linux虚拟化的这六种方式,以及Linux下的多种虚拟化解决方案。
当我们讨论虚拟化解决方案的时候,常常都要提到具体厂商的具体产品,但是当我们提及Linux虚拟化解决方案的时候,我们更乐意讨论广泛而多样化的开源生态系统。Linux支持多种虚拟化平台,并延伸出多种技术,同样也是一个完整方案的一个元素。
虚拟化—老树开新花
虽然虚拟化现在如此的流行,但虚拟化不是一个新的技术,早在半个世纪之前IBM就已经开始部署虚拟化。最早虚拟化技术是在IBM M44计算机上进行实验,然后在IBM System/360大型机产品上开始普及。最早的真正意义上的整体应用虚拟化的硬件平台是IBM CP-40系统,在上世纪60年代末被用在商业应用上。
虚拟化包含多个层面,比如硬件虚拟化,这种虚拟化从底层的硬件平台直接支持软件环境;另外一种是操作系统虚拟化,这是Linux的一个亮点。
在硬件层之上,独立于操作系统的一层软件被称之为hypervisor,或者叫做虚拟机监视器。hypervisor创建了虚拟化平台,而操作系统实例则运行在这个平台上,这使得硬件平台可以被多个操作系统和应用所共享,从而降低硬件的成本。
运行在hypervisor上面的实体被称为虚拟机,即VM,是用来放置操作系统、应用和数据元的“容器”。虚拟机中的操作系统和应用程序的数据被存储在虚拟磁盘中,hypervisor利用虚拟磁盘来启动虚拟化平台。虚拟机被封装为一个文件,这样比分布式的文件更好管理。
本地虚拟化和主机虚拟化模型
早期的虚拟化模型被称为Type 1,或者叫本地虚拟化(native virtualization),这种模型下hypervisor直接运行在硬件之上,在hypervisor上面是虚拟机。后来出现了主机虚拟化(hosted virtualization)模式,被称为Type 2,hypervisor运行在操作系统之上,在同一平台上允许两个或更多的操作系统共存。
Linux虚拟化技术基础
了解了有关虚拟化的一些基本知识后,我们进入正题,来讨论一下Linux虚拟化的一些知识。首先是模拟(Emulation),是将一个操作系统(Host)的服务转换并显示成另一个操作系统(Guest)的过程,Host和Guest系统不一定是相同的,比如,Host系统可能是x86平台,可以提供PowerPC平台的模拟,即使是指令和架构完全不相同。
另外,hypervisor的模拟器(emulator)可以提供多个平台的模拟,比如下面的图例,在Host系统上可以仿真出PowerPC和ARM系统。模拟过程并不仅限于Type 2虚拟化模型,在虚拟化技术中都存在这个过程。
虚拟化模型中的模拟过程
Linux中最流行的两个模拟器(emulator)包括QEMU和Bochs(处理器和平台模拟器)。这种解决方案的优点是它们是非常“轻便的”,可以支持在不同的Host操作系统和平台上运行不同的Guest操作系统。而这种解决方案的缺点在于由于要模拟指令,导致效率比较低。QEMU通过动态编码转换的模拟方式,让内核和内部用户代码可以被加速。另外,QEMU是一个很好的嵌入式平台开发工具,可以为与主机相异的CPU开发和测试代码。QEMU还可以被用来其他虚拟化解决方案来进行设备模拟。
平台虚拟化
更加传统的虚拟化解决方案是平台虚拟化,或者叫做硬件虚拟化,具有两种主要的形式,完全虚拟化( full-virtualization)和半虚拟化(para-virtualization)。
完全虚拟化,虚拟化平台通过hypervisor来承载虚拟机(VM),完全虚拟化的关键在于这些虚拟机,也就是运行在这些虚拟机里面的操作系统可以在hypervisor上运行,并且不被修改,这在需要一个真正的虚拟平台时是非常理想的,但这种模式具有一个缺点。
在完全虚拟化下虚拟机VM会把虚拟平台当作物理平台,工作在虚拟平台上的Guest操作系统驱动就好像运行在真实的硬件之上。但需要考虑这意味着什么,Guest操作系统和虚拟平台之间通讯就好像和真实平台一样,在hypervisor里面存在着另外一个模拟层,模拟硬件平台并转发虚拟机对硬件的访问,就好像虚拟机直接在使用真实的硬件。这个过程需要大量的处理,会限制Guest系统的I/O性能。
解决这个问题的一个方法就是让Guest操作系统意识到自身是被虚拟化的,这种形式被称作半虚拟化(para-virtualization),如下图,在这种模式下,Guest系统包含了缩短硬件访问过程所需的驱动程序,这让把Guest系统从不必要的工作中解放出来,来进行更高级别的工作。
两种平台虚拟化方式
虽然完全虚拟化是一个理想的方案,但是通过修改Guest操作系统可以最大限度的减少处理开销,获得相当大的性能提升。
Linux包含两个重要的解决方案,可以同时实现完全虚拟化和半虚拟化。如Citrix的Xen是一个流行的解决方案,可以同时执行Type1和Type2型hypervisor,Amazon的EC2就采用Xen来进行服务器的虚拟化。
另一个重要的hypervisor是Linux Kernel Virtual Machine(KVM),同样都支持本地虚拟化和主机虚拟化模型。KVM是有特点的,它通过夹在内核模块可以对Linux内核进行小的修改,从而变成一个全特性的hypervisor。KVM通过应用virtio可以支持半虚拟化,在Guest系统中包括用于半虚拟化的标准Linux驱动。
KVM也是第一个完全集成在主线内核(mainline kernel)的hypervisor,由Rad Hat开发,在一些关键领域被采用,比如IBM对云计算的开发和测试中。
需要注意的是无论是完全虚拟化还是半虚拟化,每种解决方案都应用了硬件协助虚拟化(hardware-assisted virtualization)。目前新的AMD和英特尔CPU都集成了优化hypervisor的指令集,来增强Guest虚拟机的I/O性能。
操作系统虚拟化
操作系统虚拟化是另外一个重要的虚拟化技术,正如其名,是对操作系统本身进行虚拟化,而不是平台。在这种方式下,操作系统提供一组用户空间(User-Space)彼此隔离,而应用被限制在每个用户空间里面,就好像一个独立的主机。这种形式的虚拟化在虚拟主机环境中非常流行,让多个独立的用户可以共享一个操作系统。
操作系统虚拟化
操作系统虚拟化依赖于可以创建和隔离用户空间(或者叫做容器或者私有虚拟服务器)的Linux内核,OS虚拟化最大的好处在于几乎没有任何开销,因为用户只是简单的共享OS和主机,而不需要通过虚拟机。而缺点在于目前我们采用的OS虚拟化解决方案缺乏灵活性,不能在任意的操作系统上实施,用户共享主机和操作系统还需要注意版本。尽管有这些不足,服务器虚拟化还是应用的非常广泛。
Linux包含很多的操作系统解决方案,具有很高的可配置性。比如OpenVZ、Linux-VServer和FreeVPS是其中三个最流行的,均支持CPU、内存网络、I/O和存储配额配置,OpenVZ还支持主机之间的在线VPSes迁移。
其他Linux虚拟化技术
在上面的文章中,我们讨论了模拟、平台虚拟化和操作系统虚拟化,这三种是最常用的虚拟化技术,除此之外,还有很多其他种类的虚拟化技术可以满足我们的需求,下面我们来看看几种不同于之前谈论范畴的虚拟化技术。
CoLinux
CoLinux,或者叫做协作Linux,是一种利用协作虚拟机的虚拟化方式。在CoLinux模式下,Linux Guest系统运行在微软Windows操作系统之上,共享底层的硬件资源。CoLinux需要Guest系统(即CoLinux本身)被修改,让它认为自己运行在其他操作系统之上。CoLinux是一种半虚拟化的方式,是将Windows作为Host操作系统,并且每个Host系统上只能运行一个CoLinux实例。由于这种限制,CoLinux被定义为一种特别的虚拟化技术。
完整克隆方式下,克隆虚拟机和源虚拟机是两个完全独立的实体,源虚拟机的修改乃至删除不会影响到克隆虚拟机的运行,但缺点是2个虚拟机运行时需要占用2份内存和2份磁盘空间;与之相对应的是链接克隆方式,克隆虚拟机必须在源虚拟机存在的情况下才能运行,但优点是多个克隆虚拟机之间的公共部分(共同来自源虚拟机的部分)可以共用同一份内存空间和同一份磁盘空间,因此在服务器主机资源相同的情况下,采用链接克隆的方式可以支持更多的虚拟机,运行更多的业务,或者运行更多的虚拟桌面,从而使企业的IT成本更低。
服务器虚拟化的数据类型对数据迁移的影响重大。通常来讲,非结构化数据更易于迁移,通过文件系统复制或备份恢复就能够渐进完成迁移过程。 而结构化数据的处理就很棘手:类似于数据库这样的数据类型通常一直处于使用状态,因此渐进式的迁移过程就难以实现。 大多数情况下,任务关键数据库往往配置为高可用集群。而在这种情形下,虚拟单个数据库集群结点,创建单个客户集群主要有这样两个考虑: 如果你的hypervisor提供支持,你需要设置规则防止客户节点宿主在物理主机上,否则主机失败理论上可能导致数据库失败。尽管数据库节点能够处理不同hypervisor的节点失败,但这样做你将有更大几率保持数据库在线。 数据库故障恢复节点鲜少会存储数据本身。这些节点通常会关联到一个集群共享卷,你需要处理这些数据。你可以把数据存放于原有位置,但必须考虑到hypervisor的一些专有限制。
虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
1、CPU虚拟化
虚拟化在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。简单说来,CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
2、网络虚拟化
网络虚拟化是目前业界关于虚拟化细分领域界定最不明确,存在争议较多的一个概念。微软眼中的“网络虚拟化”,是指虚拟专用网络(***)。***对网络连接的概念进行了抽象,允许远程用户访问组织的内部网络,就像物理上连接到该网络一样。网络虚拟化可以帮助保护IT环境,防止来自Internet的威胁,同时使用户能够快速安全的访问应用程序和数据。
3、服务器虚拟化
与网络虚拟化不同,服务器虚拟化却是虚拟化技术最早细分出来的子领域。根据2006年2月ForresterResearch的调查,全球范围的企业对服务器虚拟化的认知率达到了75%。三分之一的企业已经在使用或者准备部署服务器虚拟化。这个产生于20世纪60年代的技术日益显示出其重要价值。由于服务器虚拟化发展时间长,应用广泛,所以很多时候人们几乎把服务器虚拟化等同于虚拟化。
4、存储虚拟化
随着信息业务的不断运行和发展,存储系统网络平台已经成为一个核心平台,大量高价值数据积淀下来,围绕这些数据的应用对平台的要求也越来越高,不光是在存储容量上,还包括数据访问性能、数据传输性能、数据管理能力、存储扩展能力等等多个方面。可以说,存储网络平台的综合性能的优劣,将直接影响到整个系统的正常运行。因为这个原因,虚拟化技术又一子领域——虚拟存储技术,应运而生。
5、应用虚拟化
前面几种虚拟化技术,主要还专注于对硬件平台资源的虚拟优化分配,随着IT应用的日益广泛,应用虚拟化作为虚拟化家族的明日之星登上了历史舞台。2006年7月由Forrester咨询公司在美国对各种不同行业的高层IT管理人员所做的一项研究显示,当今的机构现在将应用虚拟化当作是业务上的一个必由之路,而不是一个IT决策。据统计,全世界目前至少有超过18万个机构在利用应用虚拟化技术进行集中IT管理、加强安全性和减少总体成本。
VMWARE
服务器虚拟化介绍
利用虚拟化基础架构技术,可以不断整合工作负载,从而充分利用服务器并降低运营成本。该基础架构技术不但使系统管理员能够管理更多的服务器,而且在置备新的软件服务和维护现有软件服务时,具有更高的灵活性,响应也更快速。最重要的是,它实现了各种基于 x86 的环境下管理工作的标准化和简化,这包括 Microsoft Windows、Linux、及Solaris x86 等操作系统。
VMware 服务器虚拟化解决方案拓扑图
VMware虚拟架构可以让IT部门达成以下目标:
∙ 达到甚至超过每个CPU,4个负载的整合比率
∙ 更便宜的硬件和运作成本
∙ 在服务器管理方面的重大改进,包含添加,移动,变更,预制和重置
∙ 基础应用将变得更强壮和灾难抵御能力
VMware软件可帮助我方实现:
∙ 减少28%-53%的硬件成本
∙ 减少72%-79%的运作成本
∙ 减少29%-64%的综合成本
建设目标:
∙ 整合空闲服务器和存储资源,为新项目重新部署这些资源
∙ 提升运作效率
∙ 改进服务器的管理灵活性
∙ 通过零宕机维护改善服务等级
∙ 标准化环境和改进安全
∙ 灾难状态下,减少恢复时间
∙ 更少冗余的情况下,确保高可用性
∙ 更有效的适应动态商业的需求
∙ 在技术支持和培训方面降低成本
提高运营效率
部署时间从小时级到分钟级, 服务器重建和应用加载时间从 20-40 hrs到15-30 min, 每年节省10,00 人/小时(30台服务器);
以前硬件维护需要之前的数天/周的变更管理准备和1 - 3小时维护窗口,现在可以进行零宕机硬件维护和升级。
提高服务水平
帮助建立业务和IT资源之间的关系,使IT和业务优先级对应;
将所有服务器作为大的资源统一进行管理,并按需自动进行动态资源调配;
无中断的按需扩容。
旧硬件和操作系统的投资保护
不再担心旧系统的兼容性,维护和升级等一系列问题。
VMware虚拟化具有的主要功能
1、VMware VMotion
通过VMware VMotion可以实现虚拟机的动态迁移, 而服务不中断 。VMware VMotion 是一项由 VMware 独家提供的革命性技术,它可以将正在运行的虚拟机移动到另一台物理服务器上,同时使服务始终保持可用状态,并实现零停机。虽然 VMotion 需要用户手动执行,但是该产品也是 VMware DRS 等产品的基础,这些产品可在预定义的条件下自动移动虚拟机。
VMotion 是 VMware 第一款实现虚拟机分发的产品,它创造了条件,使您可以根据需要移动工作负载,以便维持服务级别和性能目标。现在可以在不安排停机时间、不中断业务运营的情况下执行硬件维护。
2、VMware Storage VMotion
Storage VMotion 对异构存储阵列执行的操作与 VMotion 对物理服务器执行的操作相同。Storage VMotion 可以将虚拟机磁盘文件从一个共享存储位置重新分配到另一个共享存储位置,并具有与 VMotion 相同的优势:零停机、连续的服务可用性和全面的事务完整性。
这些优势适用于在许多情景中管理存储容量和性能。其中包括从一个存储阵列迁移到另一个存储阵列,或将虚拟机磁盘文件移动到位于光纤通道阵列上经过性能优化的 LUN。Storage VMotion
的无中断特性意味着可以更积极地管理和平衡存储容量,以及
减少 I/O 性能问题。
3、VMware分布式资源调度(DRS)
除了 VMotion 和 VMware HA 等支持服务器超长正常工作时间和高可用性的产品之外,VMware 还开发了一些优化工具,用来维护 VMware Infrastructure 的高效率。VMware DRS 就是其中之一。VMware Infrastructure 将符合业界标准的服务器及其附带的网络和存储器聚合到一个共享的计算、网络和存储资源池。DRS 动态地分配和平衡计算容量以保证对资源的最优访问。
它主动监控容量利用率,并以智能化的方式在资源池中自动平衡虚拟机,以达到服务级别要求。DRS 根据定义的业务优先级和不断变化的容量需求在不同的虚拟机间分配可用的计算容量。当某个虚拟机的负载增大时,DRS 会自动将该虚拟机迁移到另一台可用资源较多的物理服务器,从而为它分配更多的容量。反之,当 VMware DRS 检测到资源池使用较少的服务器即可运行工作负载时,它会让它们进入待机模式,从而减少电力消耗。无论是哪种情况,它管理资源分配时都不需要让资源池中的虚拟机停机。
3、
VMware HA
共享存储访问的服务器主机的 CPU、内存和其他资源放在共享池中。VMware HA 产品将虚拟机重启自动化,所以它从位于资源池中的其他服务器主机而不是刚刚停机的主机处获取资源。由于硬件故障而失去一台 VMware ESX 主机并不会演化为一场灾难性事件,而仅仅意味着可用的资源池减少了。在群集中失去一台主机只会使资源减少,而不会失去虚拟机。VMware HA 会检测到故障主机,管理重新分配资源,并在另一台 VMware ESX 主机上重新启动故障主机的虚拟机。VMware HA 易于使用,可以为虚拟机中运行的应用程序提供经济高效的高可用性。
不需要专门的备用硬件,也不需要集成其他软件,就可以将停机时间和 IT 服务中断时间降到最低程度。VMware HA 可以实现 IT 环境的高可用性,而且避免了单一操作系统或特定于应用程序的故障切换解决方案带来的成本和复杂性。
4、VMware Converter
这是一款自动将物理机、其他格式的虚拟机和第三方映像格式转换为 VMware
虚拟
机的工具。VMware 的客户主要使用 VMware Converter 来简化物理服务器环境的虚拟化流程。
VMware虚拟化方案的应用效果
根据以上服务器的虚拟化整合方案,新的虚拟构架能为系统应用提供前所未有的资源利用率,并为所有系统运算和I/O提供资源控制。虚拟构架完美地结合FC SAN存储,实现了最大的投资回报率。通过把物理系统整合到有虚拟构架的数据中心上去,可以体现如下的价值:
● 本次虚拟化整合以后,将目前的约20台服务器减少至4台左右。最终将会大大降
低机房能耗,大大降低运营成本。
● 该方案将极大的提供服务器整合的效率,大幅度简化服务器群管理的复杂性,管理
员只通过同一个虚拟主机管理系统,就可对所有的虚拟主机进行管理,同时虚拟主机管理软件能监控服务器CPU、内存使用情况,对于有服务器不正常工作时也会自动报警。
● 改造以后可以做到应用零停机,虚拟架构中虚拟机可动态在线从一台物理服务器迁
移到另一台物理服务器上,当物理服务器底层出现故障时,所有在线的虚拟机都可以自动迁移到另一台主机,保持应用不中断。这样将可提升系统的运作效率,虚拟化平台的虚拟机都可以进行在线的热迁移,无需停止业务系统应用。如果底层硬件需要更新的时候,只需要在新的服务器上安装虚拟主机底层,然后将虚拟主机加入集群,然后使用虚拟机的VMotion热迁功能,即可完成业务系统的迁移,在此过程中业务系统将不会停止工作。
● 空闲系统资源的整合,目前的业务系统多,又必须使用单独的系统,因此就得依靠
大量的服务器,但是以Web业务为主的系统本身对硬件的要求不是很高,这样就导致服务器资源利用率不高,而在服务器虚拟化整合以后,通过虚拟化的动态资源调配功能,保证服务器利用率的最大化。
● 不再担心旧系统的兼容性,维护和升级等一系列问题。
● 企业采用服务器虚拟化的好处:
● 1 减少服务器的数量,提供一种服务器整合的方法,减少初期硬件采购成本
2 简化服务器的部署、管理和维护工作,降低管理费用
3 提高服务器资源的利用率,提高服务器计算能力
4 通过降低空间、散热以及电力消耗等途径压缩数据中心成本
5 通过动态资源配置提高IT对业务的灵活适应力
6 提高可用性,带来具有透明负载均衡、动态迁移、故障自动隔离、系统自动重构的高可靠服务器应用环境
7 支持异构操作系统的整合,支持老应用的持续运行
8 在不中断用户工作的情况下进行系统更新
9 支持快速转移和复制虚拟服务器,提供一种简单便捷的灾难恢复解决方案
VSphere 5产品介绍
VMware vSphere 5 的新增功能
VMware vSphere 是用于构建云计算基础架构的业界领先的虚拟化平台。它使用户能够自信地运行关键业务应用程序,更快地响应业务需求。
vSphere 加快了现有数据中心向云计算的转变,同时还支持兼容的公共云服务,从而形成了业界唯一的混合云模式的基础。
一 基础架构服务(计算、存储和网络)
1 计算
• vSphere ESXi 聚合 — vSphere 5 在 ESXi 虚拟化管理程序体系结构之上实现聚合。ESXi 是虚拟化管理程序的黄金级标准,它使 vSphere 用户能够利用
更精简的体系结构、更安全的占用空间和简化的修补及设置模型。
• vSphere 自动部署 — 自动部署是针对运行 ESXi 虚拟化管理程序的新 vSphere 主机的新部署和修补模型。数分钟即可部署更多 vSphere 主机,而且
更新也变得空前高效。
• 新的虚拟机格式(版本 8) — vSphere 5 中的新虚拟机格式具有若干新功能,包括支持: – Windows Aero 的 3D 图形
– USB 30 设备
• Apple 产品支持 — vSphere 5 支持将运行 OS X Server 106(Snow Leopard) 的 Apple Xserve 服务器作为客户操作系统。
2 存储
• vSphere 存储 DRS — 通过分组、放置和平衡改进管理并实现更高效的存储资源利用。 • 配置文件驱动的存储 — 根据服务级别确定要用于给定虚拟机的适当存储。这样就简化了选择正确的存储并确保提供该存储的方法。
• vSphere 文件系统 — 通过无中断地升级到该平台的最新集群文件系统版本,从而利用增强的可扩展性和性能。
• vSphere 存储 I/O 控制 — 通过扩展网络文件系统 (NFS) 数据存储区中的限制和共享来改进服务级别协议 (SLA) 的管理和执行。
• vSphere Storage API Program — 利用支持精简配置的阵列集成 API 扩展。使用新的 vSphere 存储 DRS 和配置文件驱动的存储功能时,利用新的Storage Awareness and Discovery API与阵列交互。
3 网络
• vSphere 网络 I/O 控制 — 新的每虚拟机控制允许更精确地强制执行 SLA。
• vSphere Distributed Switch — 通过 NetFlow 来提高虚拟机流量的可见性,并通过 Switched Port Analyzer (SPAN) 和链路层发现协议 (LLDP) 支持来增强
监控和故障排除。
二 应用程序服务(可用性、安全性和可扩展性)
1 可用性
• vSphere High Availability — 新的体系结构可以实现一流的保证、简化的设置和配置以及更强的可扩展性。
• vSphere vMotion — 现在支持通过较高延迟的网络链路进行虚拟机迁移。
2 安全性
• ESXi 防火墙 — 新的面向服务且无状态的防火墙引擎可以按IP 地址或子网限制对特定服务的访问。这对于需要网络访问的第三方组件特别有用。
3 可扩展性
• 更大型的虚拟机 — 虚拟机现在可以增长到任何以前版本的 4倍,甚至可以支持最大型的应用程序。虚拟机现在可以拥有多达 32 个虚拟 CPU 和
1 TB RAM。
三 管理服务
核心管理
• vSphere Web 客户端 — 在全球任何位置从任何 Web 浏览器访问 vSphere。
• VMware vCenter Server 设备 — 将 vCenter Server 作为基于Linux 的虚拟设备来运行。
0条评论