close

 

目前常見的虛擬化技術有那些呢?

 

1. 全虛擬化 Full Virtualization
2. 半虛擬化 Para-Virtualization
3. 作業系統層虛擬化 OS-Virtualization

 

有什麼差別

 

全虛擬化 Full Virtualization

 

顧名思義,就是底層不管3,7,21 ,虛擬機所要用的設備,全部都給它模擬。Guest OS 是完全不知道,自己活在虛擬環境下。所以在Host OS 上的所有Guest OS , 所要做的任何I/O 作業,全部透過Host OS 的模擬器去進行。Guest OS 及Host OS 完全獨立在,不同的記憶體區塊,不會互相干擾,所以全虛擬化,理論上可以模擬運行,所有的作業系統。至於效能呢? 運作的有點抱歉,除非不得已,不會使用這個方式。代表軟體: Virtual PC ,VM-Ware,Virtual Box,KVM等等...

 

半虛擬化 Para-Virtualization

 

嗯..沒錯,只模擬一半的意思。也就是被模擬的Guest OS ,自己很清楚,是活在虛擬化的環境。所以很多指令,要遵守交通規則,因為它知道,自己不是這套Hardware上,唯一的OS。例如呼叫CPU ,以前是用 Ring 0 ,現在要用Ring 1,優先權稍低一點。以免多台Guest OS ,發生車禍。要做到這點,就必須修改Guest OS 的核心,把一些指令調一調。這樣的好處是,Host OS 不用模擬CPU 這個東東,負荷大幅減輕。效能就明顯優於全虛擬化。不過,不是所有OS 核心程式,都是可以改的;Linux 是Open Source 源碼公開,所以要修改很簡單,大家都可以去改;Win “暈倒" 系統呢,抱歉哦,沒有公開源碼。所以Linux 上可以執行 “半虛擬化" , Windows 只能執行 “全虛擬化" 囉。你想要使用 “半暈倒" 系統嗎? 得等MS 公司自己改哦, 嗯...等花兒謝了吧…半虛擬化代表:Xen

 

作業系統層虛擬化 OS-Virtualization

 

這是比較cool 的虛擬化作法。也就是,它只是在原作業系統上模擬出一個行程,所有的CPU/RAM/IO 等資源,全部都共用原生的Host OS,完全沒有模擬Hardware 的負擔,所以跟在原機上執行的效能,幾乎一樣,大約只差1-3%的效能。不過限制就比較嚴格,Host OS 與Guest OS 必須使用同一個核心,所以在Linux 下只能模擬Linux ,在Windows 下,只能模擬Windows 。在這樣的模擬技術下,Guest OS 的檔案資料,基本上,你在Host OS 下可以完全看到,他只是Host OS 下的一個子目錄。
代表軟體:OpenVZ

 

這3種常見的虛擬化技術,效能排序為 OS > Para > Full,如果可以的話,使用OS-Virtualization 是最優的,再來是使用 Para-Virtualization ,如果真的沒有辦法,才選擇 Full-Virtualization。以上是對虛擬化技術的心得整理。至於實作的部份,找時間再貼上吧。

 

全虛擬化 (Full virtualization)不用更改作業系統核心就可以直接安裝在 VM 上。
又分為早期的 Software Emulation 及後來的 Hardware-Assisted-Virtualization (HVM)。
Software Emulation:以純軟體(Hypervisor Level) 模擬 VM 所需之硬體資源,
如以 binary translation 等方式將 VM 對 I/O的存取作轉換。
Hardware-Assisted-Virtualization (HVM)
透過 CPU 來支援虛擬化,CPU 必須具有 AMD-V 或 Intel VT 的技術。

PV on HVM, fully virtualized with PV drivers
因現在新的作業系統都可以外掛第三方 dirver,
所以可以在 HVM 或其他全虛擬之 VM上掛載 PV drivers。

PVHVM
半虛擬化的 Interupters, Timers。

PVH
比 PVHVM 再更半虛擬化一些,把 MotherBoard 及 boot 也都半擬化了。
這個項目是未來 Xen 發展的重點。

半虛擬化 (Para virtualization):就是 PV。
修改作業系統核心使OS知道自己處於虛擬化環境中,
透過 PV dirvers 在I/O呼叫時直接與Hypervisor提供之interface互動,效能比較好。

比較表:

 

 

 

 

 

 

 

 

 

 

 

 

reference :

http://www.netadmin.com.tw/article_content.aspx?sn=1201090002&jump=1

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 新新手 的頭像
    新新手

    新新手的T-BLOG

    新新手 發表在 痞客邦 留言(0) 人氣()