數學題:你的刀片為虛擬化做好準備了么?
原創【51CTO精選譯文】部署虛擬化時最先考慮到的方面就是基礎設施的支持,也就是服務器的選擇。其中,刀片服務器在虛擬化領域一直十分活躍。美國虛擬化專家Dave Convery前日撰寫了一篇博文,從數學的角度對不同刀片在支持虛擬機方面的能力進行了一番比較。Dave Convery是2009年的VMware vExpert,51CTO曾在去年11月對Dave進行過郵件采訪。
以下是該博文的節選編譯:
我去了一個惠普的活動,那天的最后一個演示探討了來自不同制造商的刀片服務器的區別,講得相當不錯。雖然我工作的公司出售惠普、EMC和思科的產品,但是在硬件方面,我相信所有的x64服務器都是差不多的。大家都在宣稱自己的是最好的,但是用戶選擇品牌時考慮更多的往往是他們與供應商、制造商之間的關系,或者說他們會選擇自己“偏愛的廠商”。我去的這次演示自然是偏向惠普的,不過這位惠普刀片系統工程師的演示中包含的一些數學還是十分值得思考的。
首先我們來看看一個典型的VM配置。工程師說這是“Gartner的推薦配置”。雖然我沒有找到相關的資料,不過這數據似乎還算靠譜。
典型的虛擬機配置
﹥3-4GB內存
﹥300Mbps I/O(0.3Gb)
﹥﹥100Mbps以太網(0.1Gb)
﹥﹥200Mbps存儲(0.2Gb)
以上沒有包括CPU count,不過你會發現它在這里并不是什么關鍵因素,因為如今處理器的處理能力往往大于應用需求的處理能力(大部分情況)。IOps也沒有考慮在內,那是存儲系統的指標。
然后我們來看看一個典型的服務器配置。這篇文章討論的是刀片服務器,不過下面的配置對于一個2U機架式服務器也是很常見的。工程師稱之為“八成”服務器,意思是它滿足了對一個服務器需求的80%。
典型的服務器配置
﹥2個CPU插座
﹥﹥每個插座可配置四核或六核
﹥12個DIMM插槽
﹥2個熱插拔驅動
﹥主板配備2個Lan(LOM)
﹥2個Mezzanine插槽
假設我們為這個典型的服務器加載4GB或8GM的DIMM。這就是48GB的內存。接下來就是數學時間:
使用4GB的DIMM的情況
﹥總共48GB內存 / 每個VM的3GB內存 = 16個VM
﹥16個VM / 8個核 = 每個核上運行2個VM
﹥16個VM * 每個VM的0.3Gb = 4.8Gb的I/O需求(考慮到冗余還需x2)
﹥16個VM * 每個VM的0.1Gb = 1.6Gb的以太網(考慮到冗余還需x2)
﹥16個VM * 每個VM的0.2Gb = 3.2Gb的存儲(考慮到冗余還需x2)
使用8GB的DIMM的情況
﹥總共96GB內存 / 每個VM的3GB內存 = 32個VM
﹥32個VM / 8個核 = 每個核上運行4個VM
﹥32個VM * 每個VM的0.3Gb = 9.6Gb的I/O需求(考慮到冗余還需x2)
﹥32個VM * 每個VM的0.1Gb = 3.2Gb的以太網(考慮到冗余還需x2)
﹥32個VM * 每個VM的0.2Gb = 6.4Gb的存儲(考慮到冗余還需x2)
這樣沒錯吧?看起來合乎情理。
下面,讓我們來看看刀片們的數值。
注:IBM LS42和HP BL490c有兩個內部不可插拔的驅動槽。
細數每塊刀片的軟肋:
﹥Cisco B200M1沒有LOM,只有一個mezzanine插槽
﹥Cisco B250M1沒有LOM
﹥Cisco機箱只有一對I/O模塊
﹥Cisco機箱只有四個電源,使用三相電可能會遇到問題
﹥Dell M710和M905只有1GbE的LOM(出于某種原因,這兩個型號的機箱中板無法支持10GbE的LOM)
﹥IBM LS42只有1GbE的LOM
﹥IBM機箱只有四個電源,使用三相電可能會遇到問題
工程師花了一些時間比較這些刀片在加載4GB和8GB DIMM時的不同。簡單總結的說,并不是DIMM裝載的足夠多就能夠支持更多的VM。也就是說,不要簡單的沖到廠商那里購買一臺插滿了DIMM的刀片,否則你的內存利用率很可能會低于預期。你要分析你的需求,并根據需求設計你的基礎設施。
#p#
我的做法一般是,告訴你一個刀片以及一個機箱能夠支持的最大VM數。在我看來這應該是在設計階段考慮好的東西,也方便用戶在接觸廠商時進行TCO(總體擁有成本)的計算。我根據內存容量和總I/O容量分別計算每個刀片支持的最大VM數,并取出兩者之間較小的那個數作為結果。為了簡化理解,這里用的計算很簡單:
內存的算法
用內存的總合,減去虛擬系統所使用的以及額外消耗的6GB,然后除以3,也就是每個VM所需求的3GB。
I/O的算法
用最大冗余I/O,除以0.3Gb,也就是每個VM的I/O。
然后我查閱了每個機箱的物理參數,計算了每個機架所能放置的最大機箱數,從而計算出每個機架能夠支持的VM數。機箱數量的計算中并沒有包括機架交換機。真實情況是,每個機架都會預留出一些空閑空間或放置核心交換機所需的空間,因此會減少一臺機箱。
當然了,這是個簡化的計算結果。這個計算假設虛擬系統和額外消耗占據了6GB的內存。這個假設并沒有依據任何真實測試結果。
譯者注:這篇文章發表之后,其中使用的數據引起了很多爭議,其中最大的爭議就是針對那個“Gartner推薦的VM配置”的數值。為此,本文作者Dave之后發了另一篇文章,提供了一些虛擬化評測的真實數據。
首先是性能總覽:
(點擊查看原圖)
如果你做過虛擬化評測(Virtualization Assessment),那么你會認出這是評測結果的總結頁。這份評測結果收集了1956個服務器的數據,平均內存使用2069MB,平均CPU使用率在5.2%,平均網絡流量在31KB/s。
也是總結頁的一部分。這部分表格告訴我們,平均分配內存為4342MB,平均空閑內存為2273MB。
然后是所有參數的平均值。
(點擊查看原圖)
(點擊查看原圖)
上面這最后一張圖是一張存儲總結報告。平均磁盤讀取速度為442000字節/秒,平均寫入速度為200000字節/秒,加起來一共是600000字節/秒。所以總共的I/O應該是632000字節/秒(600000來自存儲,32000來自網絡)。用Google做下簡單的換算:
632000 bytes = 0.00470876694 gigabits
這個數值遠遠小于“Gartner提供的”0.3Gb。因此以下是我計算的平均VM配置數值:
﹥2GB內存
﹥0.005Gbps I/O
﹥﹥0.0002Gbps以太網
﹥﹥0.004Gbps存儲
當然了,這仍然也是個參考,我并沒有說這是任何形式的“推薦配置”。當然有一個結果是肯定的,那就是每個刀片能夠支持的VM數量要比我之前計算的數值多很多。最后我要說的還是,請根據你自己的環境分析需求并收集數據,從而設計出適合自己的配置。
【51CTO.com譯稿,合作站點轉載請注明原文譯者和出處?!?/p>
原文:Is Your Blade Ready for Virtualization? 作者:Dave Convery
【編輯推薦】