上篇我們介紹了融合式架構的基本概念,本文帶你一步步探尋其中的玄機。
先不說那些傳統的伺服器巨頭們,乙個剛出江湖的廠商nutanix引起了我的注意。市場業績不是本文重點,咱直接談技術吧。我的分析完全是依據廠商資料紙上談兵,還沒有機會親自測試。
上圖是乙個
2u的block,其中整合了4臺伺服器。
我認為nuntanix突出的幾個特點如下:
一低成本,高效能
用本地儲存的低成本,卻能達到
san的高效能。也就是說,少花錢,可效能卻一點都不差。這不是吹呢麼,咱細細道來。
曾經的虛擬化設計中共享儲存一直是推薦的,因為沒有共享儲存,就無法利用
vmotion,ha,drs等特性了。但近年來,本地儲存慢慢的在虛擬化設計中登上舞台,首先是因為成本比san等共享儲存低很多,其次管理相對簡單,實施也快,第三,軟體層可以用本地儲存實現分布式的檔案系統,從而達到共享,冗餘,易擴充套件和高效能的目的。
vmotion
以第一台主機上
vm為例,每一次寫操作寫到本地儲存,同時寫到被同乙個主controller管理的其他主機的本地儲存,從而達到冗餘。
假設vmotion該vm從第一台主機到第三台主機,controller會比較第三台主機是否有該vm的的儲存資訊,發現紅色和橙色的部分缺失,然後會把缺失的部分拷貝到第三台主機的本地儲存中。然後vmotion啟動。
高可用(ha)
至少需要三颱伺服器來實現高可用性。每乙個伺服器包括運算、儲存和虛擬層。還有整個方案的司令部
controllervm,是完全有軟體實現的。
每一台主機上的
controller都和其他controller都是互相通訊的,其中有乙個是主,其他的是從。主controller宕機是,某個從controller自動成為主controller。
拿第三台主機上的
vm舉例,每一次寫操作寫到本地儲存,同時寫到被同乙個主controller管理的其他主機的本地儲存,從而達到冗餘。假如此時第三台主機宕機,虛擬層ha會將該vm在第二台主機重啟,因為在第二台主機本地儲存中已經有了該vm的乙個備份。
二易擴充套件,效能可**
san的設計時需要考慮到光纖交換機、storageprocessor等各個節點可以支援的iops,throughput等因素。如果計畫不周的話,san的容量擴充套件會因為某處的瓶頸造成效能下降。
nutanix的擴充套件看上去簡單的多,本地的儲存和運算整合在一起,只需要增加主機數就可以實現擴充套件。
nutanix提供的資料稱擴充套件後效能是線性增長的,特別適合桌面虛擬化的實踐。這就意味著你可以在初期用較少的投入來測試,虛擬機器數量大規模增長時再增加主機數,而效能和以前是一樣的。不會有效能瓶頸。
三 儲存分層
從上圖可以看到,本地儲存由軟體層控制,以
iscsi/nfs的方式共享給所有主機。每次虛擬機器對共享儲存的讀寫,都有controller來排程。常用的資料會由速度最快的fusionio來處理。不常用的資料還是在本地硬碟內。
疑問:
有些疑問需要實踐和進一步驗證:
首先,因為每一次虛擬機器發起的
write io,在多個主機的本地儲存都要完成的write io, 這是乙個transaction.所有transaction都成功後,該次write才是有效的。如果在很多節點被乙個controller控制的情況下,不知道對效能上的影響如何。
其次,
controller的穩定性也需要驗證。在主controller宕機的情況下,其他從controller能否無縫接管群集?切換時間如何?
第三,
nutanix在乙個資料中心實施的高可用性是沒有問題的。但在大企業需要兩個資料中心之間災難恢復時,往往涉及到資料在資料中心之間的同步。不知道nutanix的本地儲存資料如何在異地同步。
controller以及nutanix檔案系統的進一步分析。
融合式架構Nutanix深入分析一
上篇我們介紹了融合式架構的基本概念,本文帶你一步步探尋其中的玄機。先不說那些傳統的伺服器巨頭們,乙個剛出江湖的廠商nutanix引起了我的注意。市場業績不是本文重點,咱直接談技術吧。我的分析完全是依據廠商資料紙上談兵,還沒有機會親自測試。上圖是乙個 2u的block,其中整合了4臺伺服器。我認為nu...
IsPostBack深入分析
1 ispostback 介紹 ispostback是 page類有乙個 bool型別的屬性,用來判斷針對當前 form的請求是第一次還是非第一次請求。當 ispostback true時表示非第一次請求,我們稱為 postback,當 ispostback false時表示第一次請求。在 asp....
深入分析ConcurrentHashMap
再多執行緒的情況下,如果使用hashmap,就會導致死迴圈,導致cpu利用率接近100 所以如果是併發的情況不要使用hashmap 導致死迴圈主要是這段 當在多執行緒的情況由於沒有同步導致,著段 在擴容的時候會執行 do while e null 執行緒安全的hashtable 容器 hashtab...