前言
OpenStack作为一个开源的云计算平台,利用底层虚拟化技术和底层存储服务,提供了可扩展、灵活、适应性强的云计算服务。虚拟化技术有很多,在开源领域主要是KVM和Zen,然而OpenStack对KVM的支持明显要好于Zen。
传统服务器架构与虚拟化服务器架构
传统服务器架构
以一台物理服务器为例,如果不使用虚拟化技术,这台物理服务器只能安装一个W indows或Linux操作系统(不讨论双系统)。物理服务器安装完操作系统后会运行其他应用程序,如果应用程序较多,可能存在兼容性以及安全性等多种问题。同时,近几年物理服务器硬件性能提升,未使用虚拟化技术的物理服务器硬件使用率相对较低。
虚拟化服务器架构
以一台物理服务器为例,使用虚拟化技术,这台物理服务器可以安装多个操作系统并且同时运行,每个操作系统之间独立运行不受影响。每个操作系统对应运行一个应用程序,这样可以避免兼容性以及安全问题;再加上近几年物理服务器硬件性能提升,使用虚拟化技术可以提升物理服务器硬件的使用率。
虚拟化阵营
从2006年亚马逊第一次把云计算进行了商用开始,已经发展了10多个年头,特别是最近几年,作为云计算核心的虚拟化平台大量在生产环境中的使用,其平台主要可以分为两大类:
一类是以VMware(早期版本使用Linux内核)、Microsoft等厂商为主的商业平台
另一类是以Linux为主的Xen、KVM开源平台。
虚拟化类型
Type 1 and Type 2 Virtualization
区分虚拟化类型,主要看再硬件之上,是先安装Hyoervisor还是Host OS。前者是type1,后者是type2。
Type 1
Hyper-V,vSphere
Type 2
Microsoft Virtual PC
Microsoft Virtual Server
VMWare Workstation
VirtualBox
type1型虚拟化还有半虚拟化和全虚拟化之分,比如说Xen。
操作系统虚拟化、平台虚拟化
如果把操作系统及其提供的系统调用作为资源,那么虚拟化就表现为操作系统虚拟化。Linux容器虚拟化技术就是在同样的一份Linux操作系统之上,虚拟出多个同样的操作系统。
如果把整个X86平台包括处理器、内存和外设作为资源,那么对应的虚拟化技术就是平台虚拟化,在同一个X86平台上面,可以虚拟多个X86平台,每个虚拟平台都可以运行自己独立完整的操作系统。KVM虚拟化就是平台虚拟化技术