作為一個熱愛計算機硬件的工作者,不一定要技術上力挫群芳,重要的是有沒有一個重在參與的態度。總想自己寫一點自己的理解性的文字,但是目前關于一些服務器硬件方面的文章已經在網絡上泛濫了,我抽了點時間,把自己這次在公司的Tech Summit上獲得的收獲,整理出了一點文字,下面的文字是我自己培訓以后整理的,對虛擬化VMware的理解還稱不上原創,很多知識和信息是與培訓的老師一起溝通以后,打開了內心的心結所獲得的。能夠把了解的東西如果能夠與大家一起分享也是一件很愉快的事情。。首先VMware是一門很新興的技術,我對虛擬化的了解還停留在門檻階段,所以下面的文字里難免會有很多認識不足和技術上的錯漏,還請大家看過以后幫忙指正與修改。或者把我看做一個完全門外漢的熱心參與。
通過誤區的清晰化去了解技術一直是我學習的方式。
在下面這個問題了解清楚之前,我對VMware甚至提出了一個想法,如果在一臺4路的服務器上模擬出16路的虛擬運行環境,而只購買4顆CPU的Licence豈不是很賺了,這個問題在ORACLE的培訓課程上講師告訴過我,無論虛擬機如何設置,ORACLE的Licence出售始終是按照物理CPU的內核數量來計算的。
了解虛擬化軟件VMware,走出誤區,VMware不能夠把一個雙路的服務器虛擬化表現為16路的服務器,在接觸這個軟件之前,我甚至認為資源是無限虛擬化的,實際上呢,當一臺服務器被虛擬化了以后,它的資源是通過管理軟件來分享給虛擬機的,這份被虛擬化集中管理的硬件資源叫做資源池Resource pool,每個虛擬機也就是虛擬的服務器通過虛擬中央管理軟件---Virtual Central management 來對資源池里的處理器以及內存資源進行分配。。比如虛擬機A用來安裝Linux獲得了30%的絕對CPU資源,20%的共享CPU資源,這里20%的資源與另外的虛擬機是對等機會的,誰先申請誰先獲得。。資源池里的資源是有限的,并不是說一臺機器被安裝上了VMware以后,可以無限的劃分虛擬機來安裝OS和應用程序的,比如需要在一臺2路的DELL PE2950服務器上劃分多少個虛擬機實際上要取決于應用程序的負荷總量,也就是說比如兩顆雙核XEON的3。2G處理器和4GB內存能夠提供的100%的資源,能夠滿足到什么程度應用,就最大理論上可劃分這樣多的虛擬機來投入應用,而實際上比如一臺DELL PE2950的100%CPU資源池,虛擬機A獲得了30%的絕對資源,20%的共享資源,虛擬機B獲得了40%的絕對資源,20%的共享資源,虛擬機C獲得了10%的絕對資源,20%的共享資源,實際上三者相加的絕對資源占有80%,三者可交替申請的共享資源占20%,加起來正好是100%的全部資源。。
關于底層的軟件語言,VMware底層大部分是C++環境,有一些Linux的環境協作。上層安裝在虛擬機上的OS以及應用程序其實是通過這些與低層溝通的虛擬層和裸機溝通的。我對這個問題了解的還不夠透徹,虛擬機軟件是如何內嵌在裸機物理設備與上層的OS之間,幫助OS調度硬件資源的,還需要進一步的了解。如果有相關的知識比較清晰與透徹的朋友,可以第一時間幫助到我。
并不是所有的OS都能夠運行于安裝有VMware的虛擬機機器上的,以前我們有的時候走入了一個誤區,認為普通PC機器無法兼容的一些OS,比如AIX和SCO UNIX都可以通過虛擬機軟件安裝的方式安裝在X86環境下,其實不然,VMware公司對自己沒有測試和通過的OS操作系統不做任何技術上的保障,比如AIX ,HP-UX都是目前VMware無法解決的,其實底層還是涉及到一些上層虛擬機上的OS通過下層的虛擬層對真實的硬件資源調動的問題,有些還沒辦法在短的時間以內解決。
關于Vmotion的理解,這個動態遷移功能組件所能夠實現的根本條件,是需要后備的物理服務器提供充足的資源池空閑空間,并且遷移的源物理服務器和目的服務器share同一個磁盤空間,在需要遷移的那一個時刻,實際上物理服務器A上的虛擬機1內的內存里的所有關于虛擬機1的信息全部被封包通過網絡移交給物理服務器B上而形成了新的虛擬機2。這是一個內存信息移交和轉移的過程,速度快,但是掉電以及其他突發的事件會影響到安全性,網絡的延遲與阻塞會讓A,B兩臺物理服務器之間的虛擬機動態遷移變得不夠可靠和高速,除非你使用FC或者其他高速的連接選擇。
關于DRS的理解,這是一個建立在擁有VMOTION的基礎上,進行虛擬機之間動態均衡的一個有監控特征的組件,他按照你的需要,在半自動的情況下,提示你虛擬機A上的CPU資源耗費到100%需要Vmotion到虛擬機B上面,這個遷移的過程大約需要3-8分鐘。而如果是全自動設置的情況下,那么這個遷移的過程將完全自動和對你來說透明的實現。。所以DRS組件實現的功能是一個具備Load Balance能力的功能。
關于HA和在虛擬機上構建高可靠性平臺,這個動態遷移功能組件所能夠實現的依據,是需要不同的物理主機之間的虛擬機運行同樣的操作系統,并且share磁盤空間。目前在VMware上構建安全和可靠的企業級數據庫服務器平臺還需要時間的考驗,VMware公司的工程師還不能100%確信自己的產品能夠真實的達到物理服務器能夠給予的安全性和可靠性。所以在這類關鍵性應用中采納VMware請三思而后行,不過在WEB以及EMAIL等等類型的服務器上則可以通過VMware的大膽應用而大大的提高物理服務器資源的利用效率,以前8臺1U物理服務器才能夠達到的物理環境你現在可以通過2-3臺2U的高配服務器虛擬化來實現,并且能夠通過VMware的HA組件提供更加方便的HA可靠性,節約了投資和提升了利用率。