存儲控制器是是計算機與磁盤驅動器的接口設備,是磁盤陣列的大腦,硬件組成包括CPU,高速緩存(Cache)以及光纖通道(FC),主要用來實現(xiàn)數(shù)據(jù)的存儲轉發(fā)以及整個陣列的管理,是系統(tǒng)主機與存儲器件(磁盤柜)之間的“橋梁”。
存儲控制器在存儲設備中發(fā)揮著非常重要的作用。存儲控制器是一臺控制著存儲陣列的設備,主要包括三種類型的組件:"CPU"、"緩存存儲器"和"與網(wǎng)絡和存儲設備的連接接口"。
▲存儲控制器一覽
存儲控制器將多個存儲設備中的存儲區(qū)域整合起來,作為一個存儲區(qū)域提供給服務器。當收到來自服務器的寫入數(shù)據(jù)的請求時,存儲控制器將確定數(shù)據(jù)落到哪個存儲設備,并將數(shù)據(jù)存儲在所選設備中。
當收到來自服務器的讀取某些數(shù)據(jù)的請求時,存儲控制器找到相關數(shù)據(jù)的存儲位置,從存儲設備中讀取數(shù)據(jù),并將其傳輸?shù)椒掌?。高效、穩(wěn)定地完成這些處理任務是存儲控制器的作用。
除了讀寫數(shù)據(jù)外,存儲控制器還執(zhí)行處理任務,實現(xiàn)各種增值功能包括RAID、卷管理(volume management)、Provisioning、快照(snapshot)、克隆(clone)、復制(replication)等。
如前面的視頻所述,最早的存儲只有單個控制器,如果它壞了,那么整個業(yè)務都會因此停頓。因此,至少兩個控制器非常有必要。現(xiàn)如今的存儲已大多是雙控制器了,但即使是這樣,依然有很多不同,挑選存儲產品時可要擦亮眼睛了。下面就來介紹幾種主要的雙控模式。
正常運行時,兩個控制器中的一個處理所有的I/O處理和數(shù)據(jù)服務管理(主動),而第二個控制器則隨時待命(被動),準備在發(fā)生故障時接管。后來有一些改進允許在被動控制器的主機端口上接收和傳輸I/O,但控制器本身不進行I/O或數(shù)據(jù)服務處理。
相反,它只是通過內部連接將I/O傳遞給主動控制器,主動控制器負責所有數(shù)據(jù)服務(如重復數(shù)據(jù)刪除、快照、RAID等)以及對底層閃存介質的所有讀/寫處理。這就需要使用ALUA(非對稱邏輯單元訪問)來定義到主動控制器的首選路徑和到被動控制器的非首選路徑。
存儲處理器在其中主動提供對給定 LUN 的訪問權限的系統(tǒng)。其他處理器用作備用 LUN,并且可以主動提供對其他 LUN I/O 的訪問權限。只能向給定 LUN 的主動端口成功發(fā)送 I/O。如果通過主動存儲器端口訪問失敗,則其中一個被動存儲處理器可通過服務器對其進行訪問而激活。
主/被架構是上世紀80年代發(fā)展起來的原始HA機制。這種模式在當今已經(jīng)被淘汰了,用戶在選擇存儲時應避免選擇這種架構,特別是對有些廠商來說,這種HA架構實現(xiàn)起來更簡單,有助于實現(xiàn)產品快速上市。主/備架構最大的劣勢是,主動控制器很快就會成為性能瓶頸,而被動控制器則處于閑置狀態(tài),性能完全浪費。
這種設計是對主動/被動模式的改進,使用兩個控制器來執(zhí)行全部的數(shù)據(jù)活動。其特點是,每個控制器都是卷的子集的主節(jié)點,并在發(fā)生故障時,隨時準備接管伙伴的卷。這比完全的主動/主動架構(任何卷在任何控制器的任何端口上都可以訪問,并且沒有路徑或性能偏好)更容易實現(xiàn)。
但其缺點是,任何給定的卷仍然受限于單個控制器的資源,一旦發(fā)生故障,陣列的性能可能會減半。另一個問題是,管理員必須關注每個控制器上的工作負載,并手動分配卷以保持平衡。
這是當前最流行的雙控制器架構形式,兩個控制器在數(shù)據(jù)服務和I/O處理中都是主動的,沒有給控制器分配卷,任何主機都可以通過任何控制器上的任何端口訪問任何卷,而不會有路徑或性能上的損失。允許通過所有可用的存儲器端口同時訪問多個 LUN,而不會明顯降低性能。所有路徑始終保持活動狀態(tài),除非路徑發(fā)生故障。
這種模式類似于雙主動模式,不同之處在于,現(xiàn)在可以有兩個以上的控制器。卷仍然由某個控制器擁有,仍然有路徑和性能偏好。這種架構的優(yōu)勢是聚合規(guī)模–在單點管理下獲得更高水平的總容量和性能。然而,任何特定的卷仍然受限于擁有它的控制器的性能。
支持非對稱邏輯單元訪問 (ALUA)。ALUA 合規(guī)存儲系統(tǒng)對每個端口提供不同級別的訪問。ALUA 允許主機確定目標端口的狀態(tài),并區(qū)分路徑的優(yōu)先級。主機會將某些活動路徑用作主路徑,其他用作輔助路徑。
在這種模式下,存儲陣列可擴展到N個控制器。正常運行期間,所有控制器都積極地服務于I/O和處理數(shù)據(jù)服務,并均勻地分擔工作負載。如果其中一個控制器發(fā)生故障,其余的控制器將繼續(xù)為所有的I/O服務。
在故障期間,N-1個控制器依然為客戶請求提供服務。系統(tǒng)性能隨著控制器的增加而線性擴展,反之亦然。例如失去4個控制器中的1個會造成最大25%的資源損失。
? ? ? ? ? ? ? ?Copyright 2020-2026 同袍存儲 粵ICP備2021121885號網(wǎng)站地圖