首先:”虛擬化“其實有很多分類,比如虛擬化技術,虛擬機軟件,IaaS層虛擬化解決方案。甚至java虛擬機之類的東西也可以划到虛擬化中,當然在此我們不做討論。
1.硬件虛擬化技術:
硬件虛擬化技術主要是有以下兩類:
- 英特爾虛擬化技術(IVT,Intel Virtualization Technology)是由英特爾開發的一種虛擬化技術,利用IVT可以對在系統上的客操作系統,通過虛擬機查看器(VMM,Virtual Machine Monitor)來虛擬一套硬件設備,以供客操作系統使用。這些技術以往在VMware與Virtual PC上都通過軟件實現,而通過IVT的硬件支持可以加速此類軟件的進行。
- AMD虛擬化(AMD Virtualization),縮寫為“AMD-V”,是AMD為64位的x86架構提供的虛擬化擴展的名稱,但有時仍然會用“Pacifica”(AMD開發這項擴展時的內部項目代碼)來指代它。
PS:
大多數的虛擬化軟件都要求開啟硬件虛擬化技術的支持,也就是要在宿主機的BIOS中設置虛擬化支持。
2.軟件虛擬化技術
虛擬化技術指的是軟件層面的實現虛擬化的技術,現在典型的代表有:Xen,KVM,WMware,Hyper-V
Xen和KVM,是開源免費的虛擬化軟件;WMware是付費的虛擬化軟件;Hyper-V微軟的收費虛擬化技術。
特別介紹KVM和VMware
- KVM是用於Linux內核中的虛擬化基礎設施。KVM目前支持Intel VT及AMD-V的原生虛擬技術。KVM在2007年2月被導入Linux 2.6.20核心中。
- VMware系列的管理軟件使用的是Wmware虛擬技術,同樣需要開啟Intel VT及AMD-V的原生虛擬技術。
3.基於虛擬化技術的單機版虛擬機管理軟件:
- KVM: linux的虛擬機基於KVM虛擬技術的單機版虛擬機管理軟件。
- VirtualBox:oracle公司的直接基於Intel VT及AMD-V的虛擬機管理軟件。
- Vmware workStation:Wmware公司的基於Wmware虛擬技術的虛擬機管理軟件。
4.IaaS層虛擬化解決方案
IaaS層虛擬化解決方案,要符合IaaS層的基礎特點,除了最基礎的虛擬化軟件之外,還包括,共享存儲服務,鏡像服務,身份認證服務,統一監控服務,以及收費管理等其他配套的服務。當然,既然是IaaS服務,必須支持對外API接口開放,支持定制開發。一般來說不是一個軟件,而是一組軟件組成的整理解決方案。
- VMware vSphere是基於VMware虛擬化技術的虛擬化管理軟件,目前在行業內來說算是最成熟,生產環境應用度最廣的IaaS層虛擬化技術的解決方案。目前對整個集群的虛擬機監控管理也是最好的。(vSphere本身收費,而且監控軟件還需要單獨收費)。
- Openstack是基於linux的IaaS層解決方案(支持多種虛擬化技術,比如KVM),是目前用戶最多,影響最大的開源解決方案,得到了HP,IBM等知名廠商的大力支持,國內的虛擬化解決方案也大部分是基於openstack開發定制。主要運行在CentOS和ubuntuServer操作系統上。
- CloudStack是使用 java開發的基於linux的IaaS層解決方案(支持多種虛擬化技術,比如KVM),目前發展潛力非常不錯,也得到了很多知名廠商的認可,不過相對起步比較晚,在國內的推廣度也不如openstack。
回過頭來總結:
1.雲計算中的虛擬化指的是IaaS層虛擬化解決方案,而不是虛擬機技術。
2.openstack和VMware WorkStation的區別主要有:
OpenStack:開源管理項目
OpenStack是一個旨在為公共及私有雲的建設與管理提供軟件的開源項目。它不是一個軟件,而是由幾個主要的組件組合起來完成一些具體的工作。OpenStack由以下五個相對獨立的組件構成:
- OpenStack Compute(Nova)是一套控制器,用於虛擬機計算或使用群組啟動虛擬機實例;
- OpenStack鏡像服務(Glance)是一套虛擬機鏡像查找及檢索系統,實現虛擬機鏡像管理;
- OpenStack對象存儲(Swift)是一套用於在大規模可擴展系統中通過內置冗余及容錯機制,以對象為單位的存儲系統,類似於Amazon S3;
- OpenStack Keystone,用於用戶身份服務與資源管理以及
- OpenStack Horizon,基於Django的儀表板接口,是個圖形化管理前端。
這個起初由美國國家航空航天局和Rackspace在2010年末合作研發的開源項目,旨在打造易於部署、功能豐富且易於擴展的雲計算平台。OpenStack項目的首要任務是簡化雲的部署過程並為其帶來良好的可擴展性,企圖成為數據中心的操作系統,即雲操作系統。
KVM:開放虛擬化技術
KVM(Kernel-based Virtual Machine)是一個開源的系統虛擬化模塊,它需要硬件支持,如Intel VT技術或者AMD V技術,是基於硬件的完全虛擬化,完全內置於Linux。
2008年,紅帽收購Qumranet獲得了KVM技術,並將其作為虛擬化戰略的一部分大力推廣,在2011年發布RHEL6時支持KVM作為唯一的hypervisor。KVM主打的就是高性能、擴展性、高安全,以及低成本。
與Linux的緣分
一個被某些熱心支持者成為雲時代的Linux,是公有雲與私有雲的開源操作系統。一個則是Linux內核的一部分,將Linux轉換成一個Type-1 hypervisor,無需任何變更就能享受現有的Linux內核進程調度、內存管理和設備支持。
OpenStack炙手可熱,它如同Linux一樣,旨在構建一個內核,所有的軟件廠商都圍繞着它進行工作。OpenStack的許多子項目,對雲計算平台中的各種資源(如計算能力、存儲、網絡)提供敏捷管理。此外,OpenStack也提供對虛擬化技術的支持。
KVM集成在Linux的各個主要發行版本中,使用Linux自身的調度器進行管理。KVM專注於成為最好的虛擬機監控器,是使用Linux企業的不二選擇,加上它還支持Windows平台,所以也是異構環境的最佳選擇。