縱向擴(kuò)展架構(gòu)不必增加基礎(chǔ)設(shè)施設(shè)備 ——比如擴(kuò)展網(wǎng)絡(luò)連接能力 ——就可以完成容量的升級(jí)。然而,在容量增長(zhǎng)的同時(shí),仍然需要增加物理空間、電力消耗和散熱能力。它不會(huì)通過(guò)控制器擴(kuò)容的方式來(lái)響應(yīng)主機(jī)端額外的處理請(qǐng)求。這也意味著用戶不必為了額外的控制功能而增加開銷。

因此縱向擴(kuò)展架構(gòu)的擴(kuò)容成本不會(huì)線性增長(zhǎng),只需要增加存儲(chǔ)介質(zhì)設(shè)備。

Scale-out橫向擴(kuò)展架構(gòu)的升級(jí)通常是以節(jié)點(diǎn)為單位,容量和性能會(huì)同步增長(zhǎng)。與那些控制器固定配置的存儲(chǔ)系統(tǒng)不同,它會(huì)擴(kuò)展更多的功能性部件(通常是控制器或控制卡)。但Scale-out架構(gòu)的存儲(chǔ)系統(tǒng)在擴(kuò)展之后,從用戶的視角看起來(lái)仍然是一個(gè)單一的系統(tǒng),這一點(diǎn)與我們將多個(gè)相互獨(dú)立的存儲(chǔ)系統(tǒng)簡(jiǎn)單的疊加在一個(gè)機(jī)柜中是完全不同的。

有幾種方法可以實(shí)現(xiàn)scale-out,即橫向擴(kuò)展,包括集群存儲(chǔ)系統(tǒng)和網(wǎng)格存儲(chǔ)。這兩類產(chǎn)品的定義同樣容易混淆,但無(wú)論是哪種類型的系統(tǒng),能夠以一個(gè)單一系統(tǒng)的形式被訪問(wèn)和使用是scale-out解決方案的基本前提。

下圖展示了scale-out存儲(chǔ)方案的架構(gòu)。在圖中,系統(tǒng)只能通過(guò)增加具有完整功能的節(jié)點(diǎn)進(jìn)行擴(kuò)展,但一個(gè)scale-out系統(tǒng)可以有很多節(jié)點(diǎn),而且節(jié)點(diǎn)之間的內(nèi)部物理互聯(lián)距離也可以很遠(yuǎn)。

上圖的例子中,scale-out系統(tǒng)在擴(kuò)展控制功能和容量的同時(shí)仍然保持一個(gè)單一的訪問(wèn)界面。而這背后,是存儲(chǔ)和控制器以及集群或網(wǎng)格中節(jié)點(diǎn)之間的互聯(lián)。因此,這種擴(kuò)展也可能需要增加額外的基礎(chǔ)設(shè)施來(lái)實(shí)現(xiàn),比如說(shuō)存儲(chǔ)交換機(jī)。

系統(tǒng)橫向擴(kuò)展時(shí)同樣需要電力、散熱和機(jī)房空間,整體擴(kuò)展成本包括增加容量、增加控制部件和基礎(chǔ)設(shè)施。從上面的圖例可見,容量增長(zhǎng)和性能擴(kuò)展(即增加額外的控制器)是同時(shí)進(jìn)行。

Scale-up和scale-out并非不能融合在一起,很多存儲(chǔ)系統(tǒng)就可以同時(shí)實(shí)現(xiàn)縱向擴(kuò)展和橫向擴(kuò)展。下面的示意圖就展示了這種方案。

我們需要考慮的事項(xiàng)

究竟選擇scale-up還是scale-out架構(gòu)?我們主要考慮以下因素:

Scale-up架構(gòu)只有容量升級(jí)的成本,不會(huì)增加控制器或基礎(chǔ)設(shè)施的開銷。如果我們主要衡量每GB存儲(chǔ)的單位價(jià)格,scale-up的擴(kuò)展方式無(wú)疑更便宜一些。

容量。兩種解決方案都可以滿足容量需求,但scale-up架構(gòu)也許會(huì)有些限制,主要取決于單個(gè)系統(tǒng)最大支持多少個(gè)磁盤數(shù)量和多大的容量。

性能。Scale-out架構(gòu)在性能上具有擴(kuò)展?jié)摿Γ诙鄠€(gè)存儲(chǔ)控制器下,IOPS處理能力和吞吐帶寬都可以聚合。雖然節(jié)點(diǎn)之間的通信會(huì)引發(fā)延遲,但那是部署時(shí)的細(xì)節(jié)問(wèn)題。

管理。Scale-up架構(gòu)本身就是以單一系統(tǒng)的方式來(lái)進(jìn)行管理的。而Scale-out架構(gòu)通常有聚合管理的能力,但每個(gè)廠商提供的產(chǎn)品可能會(huì)有所不同。

復(fù)雜性。Scale-up架構(gòu)的存儲(chǔ)相對(duì)簡(jiǎn)單,而scale-out架構(gòu)的系統(tǒng)會(huì)更復(fù)雜一些,畢竟每個(gè)節(jié)點(diǎn)都需要管理。

可用性。多個(gè)節(jié)點(diǎn)可以提供更好的可用性,假使有一個(gè)部件故障或失效,系統(tǒng)也不至于整體宕機(jī)。這一點(diǎn)與具體的實(shí)施方案也有關(guān)系。

在選擇scale-up還是scale-out的時(shí)候,我們要考慮大量的因素。而結(jié)果往往取決于哪個(gè)廠商有比其他人更好的整體方案、實(shí)施能力和技術(shù)優(yōu)勢(shì)。但我們最好從了解最基本的信息起步,了解這兩種技術(shù)及其之間的差別。

分享到

liukai

相關(guān)推薦