虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行,将一个计算机资源从另一个计算机资源中分离出来的一种技术。从当前的技术发展趋势上来看,虚拟化和数据中心自动化是私有云的两大技术基础。一个云计算的应用必定是基于虚拟化的,将硬件变成服务要看产品在虚拟化的能力,只有在虚拟化的环境下,云才是可能。本文将介绍虚拟化的发展历程、云计算时代的虚拟化技术、服务器虚拟化、应用程序虚拟化以及System Center对虚拟化的管理,本文的重点在于虚拟化管理,因为这是我们在实际应用中落地的东西。
虚拟化发展历程:
虚拟化的概念在 20 世纪 60 年代首次出现,利用它可以对属于稀有而昂贵资源的大型机硬件进行分区。随着时间的推移,微型计算机和 PC 可提供更有效、更经济的方法来分配处理能力,因此到 20 世纪 80 年代,虚拟技术已不再广泛使用。
但是到了20 世纪 90 年代,研究人员开始探索如何利用虚拟化解决与廉价硬件激增相关的一些问题,例如,利用率不足、管理成本不断攀升和易受攻击等。现在,虚拟化技术处于时代前沿,可以帮助企业升级和管理他们在世界各地的 IT 基础架构并确保其安全。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。 CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
云计算的平台包括三类服务:软件基础实施即服务IaaS、平台即服务PaaS、软件即服务SaaS,而这三类服务的基础则是虚拟化平台,其关系结构如下图1所示:
▲ 云计算技术服务模式图
毫无疑问,虚拟化正在重组IT工业,同时它也正在支撑起云计算,如果把云计算单纯理解虚拟化,其实也并为过,因为没有虚拟化的云计算,是不可能实现按需计算的目标的。
虚拟化技术
虚拟化是资源的逻辑表示,这种表示不受物理限制的约束,它的主要目标是对包括基础设施、系统和软件等IT资源的表示、访问、配置和管理进行简化,并为这些资源提供标准的接口来接收输入和提供输出。
虚拟化技术包括两个层面,其一是硬件层面的虚拟化,其二是软件层面的虚拟化。实际上,我们通常所说的虚拟化是指服务器虚拟化技术,除此之外,在应用层、表示层、桌面、存储和网络都可以做全方位的虚拟化,虚拟化的类型可以用下图2来表示:
▲ 虚拟化的类型
(1)网络虚拟化
网络虚拟化通常包括虚拟局域网和虚拟专用网。虚拟局域网是其典型的代表,它可以将一个物理局域网划分成多个虚拟局域网,或者将多个物理局域网中的节点划分到一个虚拟局域网中,这样提供一个灵活便捷的网络管理环境,使得大型网络更加易于管理,可以通过集中配置不同位置的物理设备来实现网络的最优化。
虚拟专用网帮助管理员维护IT环境,防止来自内网或者外网中的威胁,使用户能够快速、安全地访问应用程序和数据。目前虚拟专用网在大量的办公环境中使用。
(2)存储虚拟化
存储虚拟化就是为主机创建物理存储资源的过程。通过虚拟化技术,多个存储介质模块(如硬盘、RAID)通过一定的手段集中管理起来,所有的存储模块在一个存储池中得到统一管理。Redundant Array of independent Disk,(RAID)技术是虚拟化存储技术的雏形,目前使用的存储还有Network Attached Storage(NAS)和Storage Area Network(SAN)。
(3)桌面虚拟化
桌面虚拟化技术,维基百科上给出的定义是:“Desktop virtualization (或者成为Virtual Desktop Infrastructure) 是一种基于服务器 的计算模型,并且借用了传统的瘦客户端 的模型,但是让管理员与用户能够同时获得两种方式的优点:将所有桌面虚拟机在数据中心进行托管并统一管理;同时用户能够获得完整PC的使用体验。桌面虚拟化最大的好处在于能够使用软件从集中位置来配置PC及其它客户端设备,这样方便了企业用户集中管理计算机,运维部门可以在数据中心加强对应用软件、系统补丁、杀毒软件的管理和控制。
(4)表示层虚拟化
在本地计算机显示和操作远程计算机桌面,在远程计算机执行存储信息和程序,一般通过终端服务来实现。
(5)应用虚拟化
在一台计算机上显示和操作计算机桌面,在另一台计算机上执行程序和存储信息。
目前在微软的虚拟化产品线中,已经有了服务器虚拟化、应用虚拟化、桌面虚拟化、表示层虚拟化产品,如下图3所示:
▲ 微软虚拟化产品
服务器虚拟化
服务器虚拟化可以说是最为熟悉的,就是让多个操作系统和应用程序同时运行在不同的虚拟机上,而这些虚拟机建立在同一个物理服务器上。但是一个服务器上的虚拟服务器的数量取决于硬件的能力,所有虚拟服务器共享相同的硬件上,但是相互独立运行,单独的虚拟服务器可以自行升级、启动,不会影响到其他虚拟服务器。
服务器虚拟化解决了存在物理服务器环境下问题,通过虚拟化层可以隔离同一台机器上、不同操作系统中运行的程序,避免资源的冲突。另外,服务器虚拟化可以动态移动没有充分利用的硬件资源到最需要应用的程序中,从而提高底层硬件资源的利用率。
Windows Server Hyper-v是微软的服务器虚拟化技术,可以将多个服务器角色整合成单一物理机上执行不同的虚拟机,也可以利用Hyper-v在单一服务器中执行不同的操作系统的服务器,如windows、Unix、Linux等。Hyper-V的体系结构如下图4所示:
▲ Hyper-v 体系结构
#p#
应用程序虚拟化
应用程序虚拟化通过为所有共享资源创建特定于应用程序的副本解决了这一问题。应用程序与其操作系统中其他应用程序共享但容易出现问题的内容--注册表项、特定 DLL 等等均与应用程序打包在一起,从而形成一个虚拟应用程序。虚拟应用程序在部署后,将使用自己的共享资源副本,应用程序虚拟化如下图5所示:
▲应用程序虚拟化
应用程序虚拟化能够显著提高部署简易性。应用程序在 DLL 版本或其环境的其他共享方面不再存在冲突,因此,在部署新应用程序之前,无需测试它们与现有应用程序之间是否存在冲突。Microsoft Application Virtualization,简称为 App-V,是 Microsoft 针对此领域提供的技术。App-V 管理员可以创建虚拟应用程序,然后根据需要进行部署。通过提供系统核心部分的抽象视图,应用程序虚拟化可以减少部署和更新应用程序所需的时间和费用。
微软在2008年底发布了MDOP 2008 R2,MDOP是桌面优化套件(Microsoft Desktop Optimization Pack)的缩写。MDOP中提供了一套用于优化客户端桌面环境的组件,其中最有名的就是应用程序虚拟化App-V(Application Virtualization)。App-V允许用户通过网络获得一个软件的虚拟运行环境,然后无需安装软件,直接可以在虚拟环境中运行软件。
App-V的强大功能及灵活应用吸引了不少管理员的关注,试想,如果企业中使用了App-V,那很多用户将无需安装种类繁多的软件。只要在一台模板计算机上把常用软件都封装好,然后打包到App-V服务器上,用户就可以直接从App-V服务器下载软件的整个运行环境。由于软件运行是在虚拟的环境中进行,用户不用担心兼容性问题,甚至在单机上不太可能出现的场景也可以在App-V中轻易实现,例如用户同时运行Office95和Office2007。
虚拟化管理之System Center
虚拟化以后,企业的IT环境变得更加复杂,如物理机和虚拟机环境下的硬件资源管理,不同虚拟化技术组合使用,如何对虚拟化的资源进行管理以及高效的管理,这些问题都是虚拟化后对IT带来的挑战。
目前主流的虚拟化提供商均能提供相应的管理产品和技术,微软在这方面主要通过System Center及其系列产品来实现对虚拟化的管理。System Center 可管理整个 IT 系统,它可在多个操作系统(如 UNIX 和 Linux)间处理虚拟和物理环境,而这仅需一个统一界面,它可利用虚拟化允许任何地点的人员访问资源。System Center有四个核心产品:System Center Virtual Machine Manager(SCVMM)、System Center Configuration Manager(SCCM)、System Center Operation Manager(SCOM)、System Center Data Projection Manager(SCDPM),如下图5所示:
▲System Center核心产品
SCVMM
为当今虚拟化的数据中心,提供了一个全面的管理解决方案,帮助您集中管理的 IT 基础设施,提高服务器利用率,以及跨多个物理和虚拟平台的资源动态优化。
▲SCVMM
SCCM
SCCM是一款跨物理、虚拟、分布式和移动环境对Windows服务器、客户计算机和设备进行全面接入部署全面评估、部署和更新的解决方案。它针对 Windows进行了 优化,并具备持续可扩展性,是获得 IT 系统进行全面管理与加强控制的理想选择。
▲SCCM
SCOM
SCOM提供了最好的用于 Microsoft Windows 的端到端的服务管理,从而帮助您提高效率和更好的控制 IT 环境.
▲SCOM
SCDPM
是 Windows 备份及恢复的新标准,利用无缝整合的磁盘和磁带介质,为 Microsoft 应用程序和文件服务器提供持续的数据保护。System Center Data Protection Manager 为不同规模的组织带来可靠的快速恢复服务。
▲SCDPM
除此之外,还有System Center Mobile Device Manager和System Center Essentials 2007 。
总结
虚拟化是最近几年非常热门的一个技术话题,本文简要介绍了虚拟化技术的发展历程,虚拟化技术的分类,在虚拟化技术中,重点介绍了服务器虚拟化和应用程序虚拟化,我们通常所说的虚拟化均指服务器虚拟化,但是应用虚拟化是未来的一个方向,最后介绍了微软虚拟化管理工具—System Center,鉴于篇幅,介绍的相对简单一些。
【编辑推荐】
- 解决五大VMware不容忽视的安全漏洞
- 全方位比拼 Windows Azure VS VMware vFabric
- 在VMware vSphere上运行XenDesktop考虑三方面
- 别发愁了 基于VMware环境的虚拟化平台这样选型
- 六问六答 快速解析VMware Workstation
- X86平台进军虚拟化 比拼传统大型机