淺析主流虛擬化技術-Hyper-V,KVM,ESXI,XEN,Docker

常用的虛擬化技術有這些:微軟的Hyper-V,Linux中的KVM,XEN,VMware的ESXI,Docker。
一、Hyper-V
Hyper-V是微軟的一款虛擬化產品,是微軟第一個採用類似Vmware ESXi和Citrix Xen的基於hypervisor的技術.是微軟提出的一種系統管理程序虛擬化技術,能夠實現桌面虛擬化.從Windows Server 2008之後,微軟的服務器系統版本 可以在服務器管理器上進行安裝。

二、KVM
KVM虛擬化全稱爲kernel-based Virtual Machine,是一個開源的系統虛擬化模塊,基於內核的虛擬機 (KVM) 是針對包含虛擬化擴展(Intel VT 或 AMD-V)的 x86 硬件上的 Linux 的完全原生的虛擬化解決方案。目前KVM已經被redhat公司收購,成爲Linux 內核裏面的一種加速虛擬機的功能擴展。
Linux中還有一種虛擬化技術Qemu,和KVM互爲補充,叫做Qemu-kvm,它補充了kvm技術的不足,而且在性能上對kvm進行了優化。
Libvirt又是什麼呢。它是一系列提供出來的庫函數,用以其他技術調用,來管理機器上的虛擬機。包括各種虛擬機技術,kvm、xen與lxc等,不同虛擬機技術就可以使用不同驅動,都可以調用libvirt提供的api對虛擬機進行管理。我們創建的各種虛擬機都是基於libvirt庫及相關命令去管理的。

擴展:虛擬化技術從技術實現上分爲三種虛擬化:
完全擬化技術:
通過軟件實現對操作系統的資源再分配,比較成熟,完全虛擬化代表技術:KVM、ESXI、Hyper-V。
半虛擬化技術:
通過代碼修改已有的系統,形成一種新的可虛擬化的系統,調用硬件資源去安裝多個系統,整體速度上相對高一點,半虛擬化代表技術:Xen。
輕量級虛擬化:
介於完全虛擬化、半虛擬化之間,輕量級虛擬化代表技術:Docker。

三、ESXI
VMware ESXI虛擬化特點如下:
確保業務連續性和始終可用的 IT;
降低 IT 硬件和運營成本;
提高應用程序質量;
增強安全性和數據保護能力。

四、XEN
XEN是一個基於X86架構、發展最快、性能最穩定、佔用資源最少的開源虛擬化技術。Xen可以在一套物理硬件上安全的執行多個虛擬機,與 Linux 是一個完美的開源組合。它特別適用於服務器應用整合,可有效節省運營成本,提高設備利用率,最大化利用數據中心的IT基礎架構。

五、Docker
Docker是一款輕量級、高性能的虛擬化技術,是目前互聯網使用最多的虛擬化技術,Docker虛擬化技術的本質類似集裝箱機制,最早集裝箱沒有出現的時候,碼頭上有許多搬運的工人在搬運貨物,集裝箱出現以後,碼頭上看到更多的不是工人,而且集裝箱的搬運模式更加單一,更加高效.
將貨物多打包在集裝箱裏面,可以防止貨物之間相互影響。並且到了另外一個碼頭需要轉運的話,有了在集裝箱以後,直接把它運送到另一個碼頭即可,完全可以保證裏面的貨物是整體的搬遷,並且不會損壞貨物本身。
Docker虛擬化 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的Linux機器上,也可以實現虛擬化。
Docker容器是完全使用沙箱機制,相互之間不會有任何接口,幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架或包括系統。
Docker虛擬化技術是在硬件的基礎上,基於現有的操作系統層面上實現虛擬化,直接複用本地主機的操作系統,直接虛擬生成Docker容器,而Docker容器上部署相關的APP應用(Apache、MYSQL、PHP、JAVA)。

六、總結
KVM、XEN、ESXI傳統虛擬化(完全、半虛擬化)是在硬件的基礎上,基於現有的操作系統層面上實現虛擬化,但是不能複用本地主機的操作系統,而是必須虛擬出自己的Guest OS系統,然後在Guest OS系統上部署相關的APP應用(Apache、MYSQL、PHP、JAVA)。

Docker虛擬化跟傳統VM比較具有如下優點:
操作啓動快:
運行時的性能可以獲取極大提升,管理操作(啓動,停止,開始,重啓等等) 都是以秒或毫秒爲單位的。
輕量級虛擬化:你會擁有足夠的“操作系統”,僅需添加或減小鏡像即可。在一臺服務器上可以佈署100~1000個Containers容器。但是傳統虛擬化,你虛擬10-20個虛擬機就不錯了。開源的,免費的,低成本的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章