微軟伺服器虛擬化 Hyper v詳解

2021-09-03 08:45:15 字數 2984 閱讀 3288

轉眼間2023年已經到來,2011已經成為過去。回顧2023年,在開發和it領域裡有不少熱點技術,如web前端開發的css3和html5,jquery等;移動作業系統的android和windows phone等;it域裡的虛擬化技術和雲計算等。

對於it人士來說雲計算可能並不陌生,因為2023年是雲計算茁壯成長的一年。談到雲計算就離不開虛擬化;談到虛擬化就離不開伺服器虛擬化;談到伺服器虛擬化當然離不開微軟的hyper-v。

微軟在虛擬化方面有著整套的解決方案,從桌面到資料中心。今天我們就著重談談微軟的伺服器虛擬化-hyper-v。

硬體資源的浪費

過多的電能消耗

昂貴的資料儲存成本

總部和分公司辦公環境

伺服器整合:

避免購置、管理大量伺服器硬體裝置

避免在不同位置管理多台伺服器角色

避免伺服器欠載執行

避免不必要的電力和其他**裝置

商業連續性:

避免同一伺服器上多個應用衝突

弱化操作失誤損失

硬體資源重新分配:

支援早期虛擬化產品或者非微軟作業系統

動態資料中心:

避免暫停服務及應用以便公升級

弱化磁碟空間丌足損失

測試及部署:

花費時間重新搭建伺服器環境

臨時改變配置用以測試

基於hypervisor的全新系統架構,效能接近於證實的伺服器。

同時32位和64位的虛擬機器。

虛擬機器的記憶體可以達到64g,支援動態記憶體調整。

虛擬機器的cpu最多達到4個cpu核心,並且每個虛擬機器使用的cpu數量可調。

硬體熱插拔。

動態資源調配。

虛擬交換機劃分vlan。

支援支援宿主機、虛擬機器群集、快速遷移、高可用性、快照等技術。

提供相應的wmi管理介面。

支援core和完全安裝兩種安裝方式。

支援多個快照。

上圖的右邊是hyper-v的架構圖,相比左邊的架構圖,我們可以看出,虛擬機器和物理機的作業系統是並行執行在伺服器硬體層上的hypervisor層的,沒有上下層次之分。此時安裝在hyper-v的系統是和安裝在物理機上的系統是平等對待的:物理機的作業系統也可以看作是虛擬機器上的系統;虛擬機器上的作業系統也可以看作是物理機上的系統。可謂是真作假時假亦真。所以,此時的虛擬機器系統的效能就大大提高了在硬體的呼叫方面是好物理機幾乎一樣的。

在上圖中可以看出:下往上可以分為伺服器硬體層(處理器必須支援虛擬化技術並在bios設定裡啟用它,如amd的amd-v和intel的intel vt chipset),windows hypervisor層(包含在windo server 2008/r2/r2sp1系統裡),核心模式層(系統層)和使用者模式層(應用層)。

vmbus執行在物理機共享記憶體裡的虛擬機器高速匯流排,通過vmbus,子分割槽裡的所有硬體請求可以通過vmbus快速的遞交給父分割槽,然後由父分割槽來完成相應硬體的呼叫。它是支援即插即用的匯流排,如在物理機裡插入的scsi裝置、網絡卡支援vmbus的顯示卡。那麼,安裝在hyper-v的虛擬機器將會自動的載入掛載在vmbus裡的相應硬體驅動,從而供虛擬機器使用。

vsp:全稱virtual services provider即虛擬服務提供程式,它是和vmbus相關的兩個程序之一。它存在于父分割槽中,用來監聽來自於vmbus資料的請求,然後把這些請求通過物理機裡的i/o堆疊直接轉到相應的硬體驅動程式上參與hypervisor直接交接到相應的裝置上去。vsp它支援多路復用技術,即可以監聽來自多個物理機上多個虛擬機器的硬體呼叫通訊,如物理機上只有乙個顯示卡和對應的vsp,但是vsp可以處理來自多個虛擬機器上的顯示卡的請求。然後通過vmbus來進行相應**。

vsc:全稱virtual services client即虛擬機器服務客戶端,它是和vmbus相關的另乙個程序。它存在於子分割槽中,用來監聽虛擬機器裡應用程式對虛擬機器裡的i/o堆疊所傳送的裝置請求,讓後把請求轉換為vmbus能夠識別的資料格式,讓後再傳送到vmbus上,最後再**給相應的vsp,vsp再轉給相應的硬體驅動。從而完成虛擬機器上應用程式對硬體的呼叫。

vm worker process(工作者程序):用來和每個子分割槽(虛擬機器)進行一一繫結從而來進行虛擬機器之間的隔離。

wmi provider(windows管理介面提供程式):提供對虛擬機器進行管理的windows管理介面。

vm services(虛擬機器服務):虛擬機器相對應的服務程序。

虛擬裝置:支援vmbus的裝置。

模擬裝置:不自持vmbus的裝置。

從上圖上我們可以看出有父分割槽和子分割槽的劃分,那麼什麼是父分割槽和子分割槽呢?

父分割槽就是指伺服器上物理上的host作業系統;子分割槽就是指執行在伺服器上的gust虛擬機器作業系統包括模擬的(如vpc,vmware等)、非模擬的(如hyper-v等)、和異構的系統(如linux的虛擬機器等)。

在微軟伺服器系統(2008/2008r2)的子分割槽裡發生的任何硬體的呼叫都是通過核心模式裡的vsc(虛擬服務通訊)和執行在物理機記憶體裡的vmbus(虛擬機器匯流排),vmbuse再通過和windwos hypervisor通訊,hypervisor從而和底層硬體相應的裝置驅動通訊。整個通訊過程如下圖所示:

對於linux系統來講,如果linux系統核心支援虛擬化技術如xen。那麼有兩種方式可以實現linux對硬體的呼叫。

第一種:配置有hypercall adapter硬體的伺服器可以通過如下的流程來進行硬體的呼叫。

第二種:沒有hypercall adapter硬體的伺服器可以通過如下的流程來進行硬體的呼叫

硬體上,cpu必須支援虛擬化並在bios裡啟用,如intel vt或者amd v;必須支援硬體級別的資料執行保護技術(dep),如intelxd或者amd nx技術。

可以在,我的電腦-屬性-高階-設定-裡檢視是否有dep選項。

系統上,必須安裝64位的windows server 2008/r2。

本篇就講到這裡吧,希望對正在學習虛擬化的網友有所幫助,下篇開始我們將介紹hyper-v的安裝和配置。

伺服器虛擬化

伺服器虛擬化主要的有三種 citrix xenserver 微軟 windows server 2008 hyper v vmware esx server 這是最常用的 總特點 將伺服器物理資源抽象成邏輯資源,讓一台伺服器變成幾台甚至上百臺相互隔離的虛擬伺服器,或者讓幾台伺服器變成一台伺服器來用,...

伺服器虛擬化技術

伺服器虛擬化技術是指通過運用虛擬化的技術充分發揮伺服器的硬體效能,能夠在確保企業投入成本的同時,提高運營效率,節約經濟成本和空間浪費,對於發展迅速,成長規模大的使用者來說,可以通過伺服器虛擬化技術帶來更多的經濟效益。如果你曾經將硬碟劃分為不同分割槽,那麼可能會對虛擬化的概念有所理解。分割槽是硬碟驅動...

伺服器虛擬化技術現狀

id i8 border 0 name i8 marginwidth 0 marginheight 0 src http www.it2012.cn security 336.htm frameborder no width 346 scrolling no height 283 新華網北京4月7日...