分散云
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
2.2?分散云
再讲分散云,这块是目前的主流,也是前面提到的云服务的关键底层技术。由于有VMware和Citrix等厂家在大力推广,而且应用内容较集中云更加平民化,随便找台PC或服务器,装几个虚拟机大家都能玩一玩,想干点儿啥都成,也就使其的认知度更加广泛。
一虚多的最主要目的是为了提高效率,力争让所有的CPU都跑到100%,力争让所有的内存和带宽都占满。以前10台Server干的事,我整两台Server每台跑5个虚拟机VM(Virtual Machine)就搞定了,省电省空间省制冷省网线,总之省钱是第一位的(用高级词儿就是绿色环保)。技术方面从实现方案来看,目前大致可分为三类:
操作系统虚拟化OS-Level
在操作系统中模拟出一个个跑应用程序的容器,所有虚拟机共享内核空间,性能最好,耗费资源最少,一个CPU号称可最多模拟500个VPS(Virtual Private Server)或VE(Virtual Environment)。缺点是操作系统唯一,如底层操作系统跑的Windows,VPS/VE就都得跑Windows。代表是Parallels公司(以前叫SWsoft)的Virtuozzo(商用产品)和OpenVZ(开源项目)。Cisco的Nexus 7000猜测也是采用这种方案运行的VDC技术,但不太清楚为什么会有最多4个VDC的数量限制,也许是基于当前应用场景进行规格控制的一种商业手段。
主机虚拟化Hosted
先说下Hypervisor或叫做Virtual Machine Monitor(VMM),它是管理虚拟机VM的软件平台。在主机虚拟化中,Hypervisor就是跑在基础操作系统上的应用软件,与OS-Level中VE的主要区别在于:
Hypervisor构建出一整套虚拟硬件平台(CPU/Memory/Storage/Adapter),上面需要你再去安装新的操作系统和需要的应用软件,这样底层和上层的OS就可以完全无关化,诸如Windows上跑Linux一点儿问题没有;
VE则可以理解为盗用了底层基础操作系统的资源去欺骗装在VE上的应用程序,每新创建出一个VE,其操作系统都是已经安装好了的,和底层操作系统完全一样,所以VE比较VM(包括主机虚拟化和后面的裸金属虚拟化)运行在更高的层次上,相对消耗资源也少很多。
主机虚拟化中VM的应用程序调用硬件资源时需要经过:VM内核->Hypervisor->主机内核,导致性能是三种虚拟化技术中最差的。主机虚拟化技术代表是VMware Server(GSX)、Workstation和Microsoft Virtual PC、Virtual Server等。
裸金属虚拟化Bare-metal
裸金属虚拟化中Hypervisor直接管理调用硬件资源,不需要底层操作系统,也可以理解为Hypervisor被做成了一个很薄的操作系统。这种方案的性能处于主机虚拟化与操作系统虚拟化之间。代表是VMware ESX Server、Citrix XenServer和Microsoft Hyper-V。
上图描述了三种虚拟化方案的形态区别。当前分散云数据中心服务器虚拟化使用的主要是Bare-Metal方案。分散云给数据中心网络带来了新的挑战,虚拟机之间的数据通信管理需求促使了一系列网络新技术的发展。在OS-Level与Hosted方案中,虚拟机都是架设于操作系统之上的,因此VM/VE之间的通信主要由同样运行于基础操作系统之上的网络交换应用程序来完成。而在最主流的Bare-Metal结构中,由于Hypervisor薄操作系统的引入,性能、管理、安全和可靠性等多维度的考虑,造成VM间网络通信管理发展出不同的技术道路(EVB与BPE),后文会对这些技术方向加以详述。