儲存架構體系發展在電信支撐系統中的應用

才智咖 人氣:1.35W

磁碟儲存器經過多年發展,在容量、速度及體系架構方面都有很大發展,從目前電信運營商支撐系統的現狀來看,主流還是SMP/NUMA儲存,但在電信運營商網際網路化的程序中,MPP儲存應用可能會越來越廣泛。

儲存架構體系發展在電信支撐系統中的應用

一、儲存器發展簡述

儲存與主機分離的概念顛覆了傳統的DAS模式,儲存子系統從原來的計算系統中分離出來形成一個獨立的子系統,儲存和主機間通過高速網路互聯。同時隨著網路共享應用的持續增長和網路檔案分享協議的成熟,檔案服務器作為一種獨立的NAS儲存器也走向了市場。

二、儲存體系架構的發展

儲存本質上也是計算機,影響計算機行業快速發展、頻繁更新換代的最重要的部件是CPU。計算機體系架構中一個很重要的部分就是如何讓多個CPU一起協同工作,而且效能能夠成倍提高。

結合到儲存行業來講,主機主要負責資訊的快速處理,而資料儲存和資料保護等工作漸漸被轉移到儲存器上。歸根到底儲存器的功能還是儲存和保護被主機處理過的資訊,其主要的設計思想應該是著重於在接收到主機的資訊後做到以下幾點:高效能的IO響應能力、高可靠性、可管理性和其他資料保護功能(如容災、克隆、快照等)。

儲存器比較學術的一種分類方法是根據其體系架構進行分類。(1)低端的基於陣列控制卡技術的儲存器。(2)中端的基於簡單群集技術的模組化儲存器。(3)高階儲存器現在有兩種方向,一種是基於統一大快取scale-up架構多處理器(SMP)儲存器;另外一種是分散式快取多處理器scale-out架構的儲存器。

三、scale-up架構多處理器儲存介紹

此類儲存通常可以先只配少量的前端主機介面卡、後端磁碟介面卡或者核心控制卡,在升級擴容時在通過靈活新增相關介面卡來提升各個部分的效能從而達到儲存器整體效能的提升,這種設計思路稱為scale up縱向擴充套件大儲存器的設計思路。

儲存器從雙控制器叢集發展到高階陣列,為了滿足效能需求,需要用到多個控制器,把數量超過兩個以上的多控制器組合起來協同工作。這種把多路CPU組合在一起工作的設計方式在計算機體系結構裡稱為共享儲存對稱多處理機系統(SMP)架構。SMP架構的特點包括:(1)對稱共享儲存:系統中任何處理器均可直接訪問任何儲存模組中的儲存單元和I/O模組聯接的I/O裝置,所有記憶體地址單元統一編址。(2)單一的作業系統映像:全系統只有一個作業系統駐留在共享儲存器中。(3)區域性快取記憶體Cache及其資料一致性:每個處理器均配備區域性Cache,但是這些資料必須保持與儲存器中資料是一致的。(4)低通訊延遲:各個程序通過讀/寫作業系統提供的共享資料快取區來完成處理器間的通訊。(5)共享匯流排頻寬:所有處理器共享匯流排的頻寬,完成對記憶體模組和I/O模組的訪問。

四、分散式快取多處理器scale-out架構的儲存器

Scale out體系架構是指基於橫向擴充套件的體系架構的思路,即整個系統一開始由一個節點構成,隨著業務需求的增加,通過把更多的節點新增進去,把多臺小計算機(節點)通過一個快速的通道技術/或外部網路連線起來,這樣就形成一臺可以做到線性擴充套件的超大型計算機裝置,這種思路在伺服器體系架構中叫做scale out,即橫向擴充套件。(1)傳統的儲存陣列相當於老式機頭牽引的火車。儲存控制器:1個或2個火車頭,代表性能與冗餘性;每節車廂只代表容量;對於較短的火車,火車頭會過度配置;新增車廂過載亦會超過功率極限。(2)新架構的Scale Out儲存相當於高鐵和諧號。每節車廂同時代表容量和效能;如果一節車廂的引擎出現故障,其它車廂不會受到影響;新增車廂即同時擴充套件效能;組合功能整體上仍是一列火車。

Scale-Out具體又可再細分成兩類架構,一種是分散式快取但統一編址的NUMA架構,另一類產品線是每個節點各自管理控制器內部快取的MPP架構。

五、Scale-Out架構分支一:NUMA架構

在前述SMP架構中,整個系統相當於一臺大型計算機,所有的處理器P/C訪問記憶體SM的速度和延遲都是一致的。由於匯流排和交叉開關工藝終將會碰到難於擴充套件的問題,因此其上端的處理器的數量以及下端的快取模組的數量和容量也會碰到擴充套件性的問題。這些擴充套件性的問題在早期並不明顯,因為儲存器容量或者處理能力不夠時,使用者可以再新增購買,但在今天整個IT架構對於儲存器的容量、處理能力以及擴充套件性都提出了更大的挑戰,因此就出現了另外一種設計思路,即拋開設計一臺超級大計算機的思路,而是把多個儲存節點(引擎)通過一個快速的通道技術連線起來,仍然採用統一記憶體編址設計,這樣就形成一臺可以做到線性擴充套件的.架構。

具備這種設計思想稱為分佈共享儲存多處理機系統架構DSM,又稱為CC-NUMA架構(快取記憶體一致性非均勻儲存訪問,ccNUMA,Cache-Coherent Non-Uniform Memory Access),如圖1所示。

NUMA架構的特點:

(1)每個處理器都有自己的記憶體LM,本質上就是1臺的計算機;(2)這些處理器之間通過一個快速的定製網路互聯起來;(3)各個處理器之間的記憶體/快取LM統一編址,即虛擬分佈共享記憶體體系DSM;(4)通過在定製網路範圍內新增更多的處理器晶片和LM快取等模組,從而方便的擴充套件整個儲存系統,即scale out橫向擴充套件。

六、Scale-Out架構分支一:MPP架構

NUMA架構可以理解成將多個SMP進行鬆一點的耦合,即多個SMP之間通過快速交換通道互聯,每個SMP都有各自自己的記憶體,一個SMP內部的CPU訪問自己的記憶體時與之前沒什麼兩樣,但是要訪問其他SMP處的記憶體,就需要走交換通道。所以,NUMA通過犧牲了記憶體訪問的時延來達到更高的擴充套件性。SMP和NUMA架構同一臺機器內都使用單一作業系統。但是由於NUMA訪問遠端記憶體時的時延問題,擴充套件到達一定規模時,NUMA架構下的效率也不能隨著CPU數量的增加而線性增長,但是要好過SMP。   而MPP實質上是將許多獨立的主機使用外部網路來組成一個叢集。每個節點都有各自的CPU、記憶體、IO匯流排和作業系統。整個系統屬於最鬆散的耦合,各個節點執行大範圍並行化的程式。MPP的效率隨節點數量的增長表現為線性關係。MPP相當於把記憶體、把作業系統強制分開,把程式架構也強制改變以保持海量計算下的效率線性增長。

MPP體系架構特點包括:(1)由數百個乃至數千個計算結點和I/O結點組成,通過高效能網際網路絡相互聯接。(2)每個結點相對獨立,並擁有一個或多個微處理器(P/C)。(3)MPP的各個結點均擁有不同的作業系統映像。(4)各個結點間的記憶體模組相互獨立,且不存在全域性記憶體單元的統一硬體編址。

七、電信支撐系統對於儲存架構的選擇

面對同樣的預算區間,電信支撐系統是選擇傳統scale up高階陣列,還是新型scale out架構的高階陣列,其實這是一個辯證的問題。在伺服器領域,通常會根據應用系統的特點不同,選擇基於scale up架構的伺服器(如資料庫伺服器),或者基於scale out架構擴充套件的伺服器(如應用伺服器)。

特定場景下,由於單路I/O就可能導致整個MPP叢集中的磁碟資源全部牽動(每磁碟同一時刻只能執行一個I/O)。然後在多路大塊連續I/O併發的情況下,反而效率很差(比如多流大塊連續地址I/O);而某些特定場景下,多路I/O之間牽制很少,則表現出線性增長的效能(比如小塊高隨機I/O)。這也可以類比為將一個程式並行分解成多個執行顆粒(類比為高隨機I/O),顆粒間的關聯性越少,則並行執行的效率越高。所以MPP自身為Share-Nothing架構,那麼執行在它上面的程式顆粒之間最好也Share-Nothing。因此MPP架構可廣泛用於網際網路運營商的底層Key-Value分散式資料庫,在高隨機小塊讀訪問場景下能獲得巨量的效能以及線性的效率-擴充套件曲線。