操作系统级的虚拟化
操作系统级的虚拟化有别于全虚拟化和半虚拟化技术,操作系统级的虚拟化主要是在操作系统之上虚拟多个服务器,且支持在单个操作系统上简单隔离每一个虚拟服务器。在该技术领域主要是以SWsoft的Virtuozzo/OpenVZ和Sun基于Solaris平台的Container技术为代表,其中Virtuozzo是提供商业解决方案,而OpenVZ是以Virtuozzo为基础的开源项目。
在操作系统级的虚拟化技术中,每个节点上只有唯一的系统内核,不虚拟任何硬件设备。此外,多个虚拟环境以模板的方式共享一个文件系统,性能得以大幅度提升。在生产环境中,一台服务器可根据环境需要,运行一个VE/VPS,或者运行上百个VE/VPS。所以,操作系统虚拟化技术是面向生产环境、商业运行环境的技术。但是,在操作系统级的虚拟化中,并没有单独的虚拟机管理程序层。
虽说,在操作系统级的虚拟化技术中,有点缺乏灵活性,不过它能获得更高的原生速度性能。另外,如果体系机构使用一个单一的、标准的操作系统来横过所有的虚拟服务器,在整个过程中将变的易于掌控,且能在不同的环境下进行实施。
简单但同样艰难
和大型机不同的是,在PC硬件的设计中并不夹杂有虚拟化技术。所以直到目前为止,要想在PC中实现虚拟化,在很大程度上要依赖软件的参与。不过,在最新的x86处理器中,AMD和英特尔都首次在CPU级中添加了虚拟化支持。
但作为最直接的竞争对手,AMD和英特尔的技术都是相对独立的,这也就意味着代码兼容的问题,尽管他们都在做同样一件事情。而为了成功掌控虚拟服务器来访问I/O通道和硬件资源,硬件虚拟化支持能够极大地减轻虚拟机管理程序日常事物管理的一些压力。另外,为了改善性能,操作系统可在半虚拟化的环境下运行,其中还包括有Windows在内。
由于CPU级的虚拟化不能进行自动的运行,因此一些虚拟化软件必须对此进行特定的支持。虽然对于虚拟化软件供应商而言,他们希望AMD和英特尔在代码兼容上达成一致,但从现在的情况来看,似乎是不可能实现。
虚拟工具箱
其实,对于每一项虚拟化技术而言,都存在一定的优势,不过优势的大小取决于不同的环境。对于操作系统级的虚拟化而言,基于同操作平台的服务器组就是一个最合适的环境,能够产生最大的性能。但对于其他类型的虚拟化而言,这就未必是一个最好的解决方案。
半虚拟化在性能上存在一定的优势,特别是在部署和虚拟化处理器相联合的环境下。此外,在运行混合的客户操作系统时,半虚拟化除了能够提供高性能,还能提供足够多的容量。
全虚拟化在这三种类型的虚拟化当中,是性能最为强大的。从客户操作系统中进行完全隔离,或是客户操作系统之间的完全隔离,全虚拟化体现出了绝对的优势。另外,对于软件品质保证和测试,全虚拟化也是一个非常不错的选择。
不仅如此,全虚拟化解决方案还能提供其他独特的性能。例如,全虚拟化能对虚拟服务器保持状态和帮助灾难恢复进行映照。而这些虚拟服务器映像可以迅速用到新服务器的实例当中。再加上现在很多的软件厂商都开始提供可下载的软件评估版本,以及出售虚拟服务器的映像。
但必须记住的是,虚拟服务器需要运行支持和维护,就像物理服务器一样。由于服务器虚拟化逐渐普及,因此也萌芽了从P2V迁移到主要系统管理控制台的虚拟化导向版本的第三方工具市场。另外,服务器虚拟化从很大程度上改变了传统的IT环境,并逐渐在牵引着它们向更高效、更低成本的虚拟化过度。 |