虛拟機(Virtual Machine)指通過軟體模拟的具有完整硬體系統功能的、運作在一個完全隔離環境中的完整計算機系統。
虛拟系統通過生成現有作業系統的全新虛拟鏡像,它具有真實windows系統完全一樣的功能,進入虛拟系統後,所有操作都是在這個全新的獨立的虛拟系統裡面進行,可以獨立安裝運作軟體,儲存資料,擁有自己的獨立桌面,不會對真正的系統産生任何影響 ,而且具有能夠在現有系統與虛拟鏡像之間靈活切換的一類作業系統。虛拟系統和傳統的虛拟機(Parallels Desktop ,Vmware,VirtualBox,Virtual pc)不同在于:虛拟系統不會降低電腦的性能,啟動虛拟系統不需要像啟動windows系統那樣耗費時間,運作程式更加友善快捷;虛拟系統隻能模拟和現有作業系統相同的環境,而虛拟機則可以模拟出其他種類的作業系統;而且虛拟機需要模拟底層的硬體指令,是以在應用程式運作速度上比虛拟系統慢得多。
流行的虛拟機軟體有VMware(VMWare ACE)、Virtual Box和Virtual PC,它們都能在Windows系統上虛拟出多個計算機。
虛拟機技術是虛拟化技術的一種,所謂虛拟化技術就是将事物從一種形式轉變成另一種形式,最常用的虛拟化技術有作業系統中記憶體的虛拟化,實際運作時使用者需要的記憶體空間可能遠遠大于實體機器的記憶體大小,利用記憶體的虛拟化技術,使用者可以将一部分硬碟虛拟化為記憶體,而這對使用者是透明的。又如,可以利用虛拟專用網技術(VPN)在公共網絡中虛拟化一條安全,穩定的“隧道”,使用者感覺像是使用私有網絡一樣。
虛拟機技術最早由 IBM 于上世紀六七十年代提出,被定義為硬體裝置的軟體模拟實作,通常的使用模式是分時共享昂貴的大型機。 虛拟機螢幕(Virtual Machine Monitor,VMM)是虛拟機技術的核心,它是一層位于作業系統和計算機硬體之間的代碼,用來将硬體平台分割成多個虛拟機。VMM 運作在特權模式,主要作用是隔離并且管理上層運作的多個虛拟機,仲裁它們對底層硬體的通路,并為每個客戶作業系統虛拟一套獨立于實際硬體的虛拟硬體環境(包括處理器,記憶體,I/O 裝置)。VMM 采用某種排程算法在各個虛拟機之間共享 CPU,如采用時間片輪轉排程算法。
虛拟機資源涉及多個方面:CPU、記憶體、網絡以及磁盤。在規劃虛拟機時應該考慮這些資源之間的關系,否則,配置設定的資源不合理将導緻虛拟機内的應用程式性能表現不佳。
虛拟機CPU
虛拟機每個vCPU隻運作在一個實體核心之上,是以CPU頻率越高虛拟機的運作速度也就越高,vCPU數量越多有助于提升應用的性能表現。一個比較複雜的因素就是在ESXi伺服器内,所有的虛拟機共享使用實體CPU。ESXi伺服器的核心數越多,每個vCPU獲得的核心份額也就越大,是以多核心的性能表現要強于核心頻率高但數量少的情況。
如果虛拟機需要占用大量的CPU時間,那麼可以考慮為虛拟機配置設定第二個vCPU,但是,為虛拟機配置設定兩個以上vCPU并不一定讓應用運作的更快,因為隻有多線程應用才能有效地使用多個vCPU。
虛拟機RAM
ESXi伺服器内RAM資源通常有限,是以在給虛拟機配置設定RAM時需要格外小心。VMkernel在處理RAM時非常巧妙;允許虛拟機使用ESXi伺服器所有的實體記憶體而且會盡量避免占用實體記憶體卻沒有真正使用的情況。
實體記憶體被完全用完後,VMkernel必須确定哪些虛拟機能夠保留實體記憶體,哪些虛拟機要釋放實體記憶體。這稱之為“記憶體回收”。當虛拟機占用的實體記憶體被回收後,存在的一個風險就是會對虛拟機的性能造成影響。虛拟機被回收的記憶體越多,相應的風險也就越大。
最明智的是隻為虛拟機配置設定完成工作所需要的記憶體。配置設定額外的記憶體将會增加回收風險。另一方面,當虛拟機作業系統将未被使用的記憶體用作磁盤緩存時,将會顯著降低對磁盤系統的性能要求,是以這裡有一個折衷問題。
對于資料庫伺服器以及VDI桌面來說,為虛拟機配置設定更多的記憶體往往更劃算—在一台ESXi伺服器上運作更少的虛拟機—而不是購買高性能的磁盤陣列。關鍵在于針對虛拟機的負載配置設定足夠多記憶體而且沒有浪費。
網絡帶寬
網絡帶寬包括兩個方面:一是虛拟機和虛拟交換機之間的帶寬,二是虛拟交換機與外部網絡之間的帶寬。如果希望虛拟機獲得最大帶寬那麼應該使用VMXNET3網絡擴充卡,VMXNET3在最小的CPU開銷下提供了最好的吞吐量。如果情況允許,所有的虛拟機都應該使用VMXNET3網絡擴充卡。
對于與外部實體網絡的連接配接,一定要確定ESXi主機具備速度最快的實體網卡;10Gb是一個不錯的選擇,即使實體網卡的數量很少,但10Gb能夠允許虛拟機承受突發的網絡流量。
請記住,進行大量網絡傳輸的虛拟機,虛拟機以及資料包的傳輸都會消耗CPU時間。是以,運作在CPU受限的ESXi伺服器之上的虛拟機由于CPU無法快速響應請求可能會面臨網絡吞吐量不高的情況。
虛拟機磁盤性能
磁盤性能往往是無聲的性能殺手。虛拟機磁盤性能受陣列磁盤數量、類型以及運作在其上的虛拟機的數量的限制。因為集中地共享存儲架構将導緻通過同一位置通路所有的虛拟機磁盤,陣列的存儲控制器以及磁盤過載情況很容易出現,隻剩下虛拟機在等待存儲的響應。
虛拟機等待磁盤IO、虛拟機CPU空閑對性能的影響有很大不同。等待IO的虛拟機無法做其他工作,是以高I/O等待時間意味着性能肯定會下降。進行周密的存儲設計以避免上述情況的發生至關重要。
合理選擇磁盤 提升虛拟機性能
在虛拟化中,hypervisor将工作負載從運作在底層的實體硬體中抽象出來,允許快速配置設定并共享計算資源,遷移工作負載。盡管hypervisor以及與虛拟化相容的處理器性能開銷很小,但是虛拟化層的存在卻對性能有影響。
當磁盤性能對工作負載至關重要時,某些管理者可能會選擇以直通模式配置LUN,允許虛拟機的作業系統繞過hypervisor與直接LUN進行通信。例如,Windows伺服器虛拟機可能使用直通模式繞過Hyper-V直接通路磁盤,這對SQL Server資料庫的性能有些許提升。然而,由于客戶作業系統(采用直通模式)以及hypervisor試圖同時通路磁盤,那麼hypervisor必須被配置為忽略直通LUN。
直通模式存在的問題是其不被某些重要的虛拟化功能比如虛拟機快照或者叢集所支援。是以,虛拟機在實際上可能會受益于虛拟化提供的各種功能特性而非采用直通模式所帶來的處于邊緣地位的性能提升。管理者需要評估虛拟機的需求并确定直通模式的适宜性。
除直通模式外,Hyper-V以及其他hypervisor還提供了其他磁盤存儲選項。例如,當.VHD檔案被建立時,大小固定的磁盤将配置設定所有的資料塊。一旦被建立,大小固定的磁盤就不能夠進行調整了。然而,動态擴充磁盤從一開始建立的就是沒有資料塊的.VHD檔案,當資料寫入到.VHD檔案中後磁盤空間才會被配置設定出去。這和精簡配置類似,盡管在邏輯上建立了一塊磁盤,但實際的磁盤空間隻有資料寫入時才會被用到。
差分磁盤是一種特殊的動态擴充磁盤類型。其設計思路是父磁盤擁有固定的鏡像而且差分磁盤與父磁盤相關聯,是以寫入到磁盤的資料被存放在差分磁盤而非.VHD檔案中。讀請求首先檢查差分磁盤的.VHD檔案,如果沒有更改,就會讀父.VHD檔案。當需要标準化的磁盤鏡像而且復原功能很重要時,差分是一個不錯的主意,但是管理者在維護父子磁盤配置時可能會面臨挑戰。
關注90後夢想大師,夢想從未止步.