第3章虚拟化
本章介绍的是虚拟化技术,将对虚拟化的简介、虚拟化技术的分类、系统虚拟化、虚拟化与云计算、相关开源技术以及虚拟化未来的发展趋势进行讲解,包括虚拟化的发展历史以及虚拟化带来的好处。通过对本章的学习,读者应该能对虚拟化技术有系统的了解以及对相关技术有一定的认识。
3.1虚拟化简介
随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在应用上的优势日益体现,通过使用虚拟化,不仅可以降低IT成本,而且可以增强系统的安全性和可靠性,虚拟化的概念逐渐深入到人们日常的工作与生活当中。
3.1.1什么是虚拟化
虚拟化是指计算机软件在虚拟的基础上而不是在真实的、独立的物理硬件基础上运行。例如,CPU的虚拟化技术可以实现单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。这种以优化资源(把有限的、固定的资源根据不同的需求进行重新规划以达到最大利用率)、简化软件的重新配置过程为目的的解决方案,就是虚拟化技术。
图31展示了虚拟化架构与传统架构的对比。简单来讲,虚拟化架构就是在一个物理硬件机器上同时运行多个不同应用的独立的虚拟系统。这些同时运行的虚拟系统由Hyperviser来控制,虚拟机被称为guest。Hypervisor不仅可以提供虚拟系统资源,进行主机/虚拟机之间的调度,而且可以提供虚拟机间的通信。虚拟化服务器的应用如下。
图31虚拟化架构与传统架构的对比
1. 研发与测试
提到虚拟化服务器的应用,人们首先想到的就是研发测试环境,因为在一般情况下,研发和测试人员需要使用不同的操作系统环境,而如果每一种平台都需要使用物理服务器,这将会对准备测试环境的过程带来相当大的困难,一个小小的测试改变都需要重装若干这样的测试用服务器。如果一个测试过程需要成百上千台服务器进行压力测试时,准备纯物理服务器的测试环境几乎不可能,虚拟化技术无疑是最佳的选择。
通过在一台物理服务器上实现多个操作系统,或者实现成百上千个虚拟的服务器,可以极大地降低研发和测试成本。
2. 服务器合并
很多企业用户都不得不面对这样的尴尬: 每实施一项应用就要买一台服务器,随着应用的增加,一般要购买很多不易变更的资源,在这个过程中,完成不同任务的服务器越来越多,管理变得越来越复杂,同时服务器利用率却很低,仅为15%~20%,将会造成资源的极大浪费。
因此,将各种不同的服务器整合在一起的方案受到了用户的欢迎。但是整合在一起的服务器如何分配资源,并保证每一个应用的正常运行呢?服务器从小变大是一个问题,而将大块计算资源分成小块也是一个问题。虚拟服务器技术的出现轻松地解决了服务器合并的问题,从而受到更多企业用户的青睐。
3. 高级虚拟主机
虚拟主机技术的出现,大大降低了在互联网上建立站点的资金门槛。可以说,正是这样的虚拟技术构筑起了互联网的大厦。但随着互联网的普及,客户常常抱怨虚拟主机做了过多的限制,而且稳定性不好,资源很难保证。现在的虚拟主机用户对虚拟主机服务提出了更高的要求,用户需要更安全、稳定的环境,甚至是对部分资源的控制权。