什么是scale up和scale out?
達沃時代 發(fā)表于:13年05月06日 14:29 [轉載] DOIT.com.cn
許多存儲系統(tǒng)開始很簡單,但當需要進行系統(tǒng)擴展時就會變得復雜。升級存儲系統(tǒng)最常見的原因是需要更多的容量,以支持更多的用戶,文件,應用程序或連接的服務器。
但是通常,存儲系統(tǒng)的升級不只是需要容量,系統(tǒng)還對其他存儲資源有額外需求,即帶寬和計算能力。如果沒有足夠的I/O帶寬,將出現(xiàn)用戶或服務器的訪問瓶頸;沒有足夠的計算能力,常用的存儲軟件如快照、復制和卷管理等服務都將受到限制。
常見的系統(tǒng)擴展方式有scale up和scale out兩種。
Scale Up(縱向擴展) 主要是利用現(xiàn)有的存儲系統(tǒng),通過不斷增加存儲容量來滿足數(shù)據(jù)增長的需求。
但是這種方式只增加了容量,而帶寬和計算能力并沒有相應的增加。所以,整個存儲系統(tǒng)很快就會達到性能瓶頸,需要繼續(xù)擴展。
這個時候有兩種方法,一是采用更強性能的存儲引擎(EMC 的Clarion系統(tǒng)和NetApp 的FAS系列,采用增加控制器CPU或內存的方式來提供更強的性能),但是這種方式問題在于價格昂貴;
另外一種方法是額外購買的獨立的存儲系統(tǒng),這樣又會增加管理的復雜度。
Scale-out橫向擴展架構的升級通常是以節(jié)點為單位,每個節(jié)點往往將包含容量、處理能力和I / O帶寬。一個節(jié)點被添加到存儲系統(tǒng),系統(tǒng)中的三種資源將同時升級。
從上面的圖例可見,容量增長和性能擴展(即增加額外的控制器)是同時進行。
而且,Scale-out架構的存儲系統(tǒng)在擴展之后,從用戶的視角看起來仍然是一個單一的系統(tǒng),這一點與我們將多個相互獨立的存儲系統(tǒng)簡單的疊加在一個機柜中是完全不同的。
所以scale out方式使得存儲系統(tǒng)升級工作大大簡化,用戶能夠真正實現(xiàn)按需購買,降低TCO。
以下是常見的兩個比喻:
一是傳統(tǒng)火車和動車。傳統(tǒng)的存儲Scale-up架構的存儲就好像傳統(tǒng)的火車一樣,當后面的磁盤越掛越多的時候,控制器性能以及背板帶寬卻不能相應提升,因此傳統(tǒng)存儲在磁盤容量擴容到一定程度時候,往往性能下降。
集群存儲就好像新一代的“動車組”火車一樣,當火車車廂增加的時候,前面的火車頭動力也隨之增加,因此不會發(fā)生性能瓶頸。
所謂動車組的設計理念和傳統(tǒng)火車設計理念的最大區(qū)別在于傳統(tǒng)火車主要動力來自于火車頭(就像傳統(tǒng)模塊化陣列的兩個控制器),而動車組則不一樣,除了車頭配有動力裝置外,每一節(jié)車廂都配有動力推動裝置。集群存儲大多都是由一個個節(jié)點(X86 服務器)組成,每一個節(jié)點添加進去后,不僅能夠添加容量,還能夠添加整個存儲器的整體處理能力。
另外一個魚缸的比喻:
當你只有六七條魚的時候, 一個小型魚缸就夠了;可是過一段時間新生了三十多條小魚,這個小缸顯然不夠大了。
如果用Scale up解決方案,那么你就需要去買一個大缸,把所有沙、水草、布景、加熱棒、溫度計都從小缸里拿出來,重新布置到大缸。這個工程可不簡單哦,不是十分鐘八分鐘能搞得定的,尤其水草,糾在一起很難分開(不過這跟遷移數(shù)據(jù)的工程復雜度比起來實在是毛毛雨啦,不值一提)。
那么現(xiàn)在換個思路,用Scale out方案,就相當于是你在這個小缸旁邊接了一個同樣的小缸,兩個缸聯(lián)通。魚可以自動分散到兩個缸,你也就省掉了上面提到的那一系列挪沙、水草、布景等的折騰了。