儲存相關
儲存系統作為網路後臺的核心裝置,為各類資訊應用提供網路儲存、高可用資料庫叢集、高效能運算、資料備份、複製、容災、遷移等各類服務。儲存系統是一種將多個磁碟驅動器組織在一起,以提供較高的資料讀寫、傳輸效能和儲存安全特性的計算機裝置,是典型的嵌入式系統,其儲存控制器是所有功能的實現者,決定著系統體系結構。
儲存控制器,類似於伺服器內部的PCI RAID控制器,又有較大的差別,這裡,我們來談一談儲存控制器,使讀者對儲存裝置有較全面的瞭解。
嵌入式架構
儲存控制器和PCI RAID卡具有相同的邏輯構成,有I/O處理器、快取記憶體、硬碟介面控制器、高速匯流排、儲存嵌入式軟體的快閃記憶體、內外連線介面等。
圖1、 採用雙段PCI-X匯流排的光纖通道磁碟陣列控制器
硬體構成上,和PCI RAID卡不同,儲存控制器還有用於連線主機的磁碟控制器,以及更多的協同處理和管理的功能晶片。物理上,為了能夠實現各類晶片的佈局,儲存控制器通常分為控制器板卡、I/O介面卡、管理模組卡等幾大部分。
任何硬體功能的發揮,離不開軟體。儲存控制器軟體實現如下三個功能:管理和控制磁碟集合(陣列)、傳送I/O操作進/出磁碟、為資料冗餘計算校驗值或使用校驗值恢復丟失的資料。在軟體構成上包括3個部分:陣列控制軟體,板支援包及介面驅動軟體,作業系統及裝置介面。
圖2、控制器軟體示意圖
儲存控制器軟體的各模組功能如下:
系統初始化模組:負責系統初始階段的系統自舉、裝置自檢、引數設定、資源分配等。
命令分解模組:負責伺服器命令的分解、應答等。
資料分塊重組模組:負責伺服器資料的分塊和底層資料的重組。
快取管理:負責命令及資料快取的分配、聚散、釋放等。
I/O排程模組:負責上層與底層I/O命令的並行、流水排程等。
校驗資訊計算模組:負責校驗資訊的計算。
資料重構模組:負責降級模式下的資料提供。
資料恢復模組:負責磁碟出錯時的資料自動恢復。
RCR模組:實現RAID Cache RAID功能,提供陣列效能。
僅僅控制器是遠遠不夠的,還要輔以下列系統設計方法,方可構建一個高可用的儲存系統:
採用模組化技術,研究開發磁碟陣列的磁碟子系統、控制器、電源、結構件、連線件等模組,並在儲存裝置內部採用無電纜連線技術,提高系統的整合度和可靠度。
採用全冗餘熱拔插技術,實現儲存裝置模組內主要工作子系統,例如散熱子系統、電源子系統、控制器子系統的容錯能力,提高可用性。
採用結構一體化設計技術,為儲存裝置和整個海量儲存系統提供足夠的散熱能力,提高系統的穩定性和可靠性;合理的結構設計,將保證電源、風扇、硬碟、控制器模組的無電纜連線,並保證冗餘熱拔插功能的實現。
儲存處理器特性要求
高效能
與一般的PCI RAID卡相比,儲存控制器控制軟體除了實現基本的RAID功能,支援RAID 0、1、0+1、3、5、30、50等級別外,還透過以下技術提高儲存裝置的傳輸效能:
(1)實現儲存裝置與系統的均衡。在分析磁碟陣列的隨機Petri網模型和計算硬體組成環節執行時間的基礎上,利用Petri網模型計算主要環節的利用率,選擇合適的通訊機制,利用執行時間的計算結果合理地確定硬體配置,來解決主從通道與磁碟通道的速度匹配、各級緩衝儲存器的容量匹配和通訊方式的選擇等影響效能的關鍵問題,使系統結構趨於合理,達到負載均衡的目的。
(2)實現串內多執行緒操作。透過選擇恰當的磁碟控制器,實現同一物理鏈路多個磁碟驅動器的併發操作,實現串內磁碟驅動器的併發操作,在時間上重迭地處理資料的存取,從而達到提高傳輸效能的目的。
(3)實現底層裝置的I/O合併操作。利用底層硬體未曾利用的資料聚散(Scatter/Gather)功能,將所有分解到某個磁碟驅動器上的子命令,按其操作屬性進行合併,並將邏輯地址離散的資料調整為支援一次I/O操作的格式,然後用一次I/O代替多次I/O,達到降低服務時間的目的。
(4)利用縱橫LRU替換演算法實現縱橫LRU替換。對於主機的大塊資料訪問,當第i塊資料在第j個磁碟驅動器上時,第i+1塊資料肯定在第(j+1)mod N個磁碟驅動器上,如果第i塊資料在第j組快取失效,那麼第i+1塊資料有可能在第(j+1)mod N組快取也發生失效,因此在資料讀寫過程考慮資料塊在磁碟驅動器上的橫向相關性,可以透過縱橫LRU替換演算法,將縱向預騰空(即同一組內的預騰空)發展成縱橫預騰空(即多組同時替換)。
智慧化
儲存控制器提供了儲存系統一定的線上操作智慧化能力,減少由儲存模組自身原因引起的系統停機,提高儲存系統內資料的高可用能力,這些特性包含:
多種讀寫方式
RAID陣列遷移、級別遷移、容量線上擴充套件、容量線上擴容、磁碟易位
面向單RAID陣列的讀寫應用最佳化
儲存系統管理和監控
儲存控制器除了提高磁碟陣列線上操作智慧化能力的同時,還實現I/O讀寫的智慧化。I/O負載可以表示為一個三元組(地址、大小、讀/寫),因而存取模式可以對應一個三維空間,每一維對應三元組的一個元素隨時間的變化值。自適應磁碟陣列透過獲取不同I/O負載和不同磁碟資料分佈的特徵,調節磁碟陣列引數和排程策略,以獲取系統的最大效能。
高可用
支援雙控制器和映象快取,是儲存控制器的獨有特性,它和冗餘熱拔插、模組化無電纜連線技術一起,可滿足海量儲存系統的高可用性要求。雙控制器系統中,每個控制器擁有自己的快取,可獨立工作,也可透過系統的通訊背板相互監測狀態,實現故障切換、甚至負載共享。磁碟陣列還可實現與伺服器之間的路徑冗餘,即當主路徑失敗時,系統可以使用另一條I/O路徑,在伺服器和儲存系統間傳輸資料,該功能可以保證陣列與兩臺伺服器,以及雙機高可用軟體,構成一個完全排除單點故障的雙機高可用叢集系統。
圖3、雙控磁碟陣列通道連線示意圖
高擴充套件
儲存控制器是後臺計算系統的I/O連線橋樑,在控制器基板和匯流排上,透過植入各種不同工業標準的I/O控制器,例如SCSI、FC、iSCSI、ATA、SATA、SAS控制器,可以方便的構成不同種類的磁碟陣列裝置,選擇不同種類和數量的控制器,可以保證儲存系統的主機連線和硬碟連線的高擴充套件特性。
在其控制器上採用了FC-AL技術,理論上一個FC-AL通道可以最大連線127個裝置,而且,如果磁碟陣列提供兩個FC-AL介面,即實現了通道擴充套件,可以把一組硬碟連線在一個雙光纖環路上,實現同一組光纖硬碟的全雙工操作,兩個雙光纖環路間透過並行I/O技術和全雙工操作,實際I/O吞吐率可以達到320MB/s以上。
圖4 、雙光纖線環路連線示意圖
後記:
隨著資訊化應用規模的急劇擴大,儲存系統所面對的資料量和I/O操作量日漸巨大,並且網路化儲存需求越來越迫切,這需要從匯流排、處理器、I/O控制器角度提高儲存系統的效能,大容量快取、二級快取、多路處理器、新型匯流排等,都是儲存控制器效能提升的方向。在由計算器(伺服器)、儲存連線裝置和儲存系統構成的後臺應用系統中,從儲存系統上實現更多的儲存管理功能,例如遠端映象、虛擬儲存、資料快照、資料備份、快取服務,是提高後臺系統資料管理能力的捷徑,更是儲存控制器的一個發展方向。
控制器
控制器的冗餘,包括對LUN管理的路徑冗餘,前端主機訪問路徑的冗餘,也就是HA的功能,這個是為了保障從前端到後端的任意路徑出現故障時能及時切換訪問路徑,避免資料鏈路中斷;另外,HA功能裡,兩個控制器互為Active-Standby/Standby-Active的狀態去管理後端磁碟,等於將後端磁碟分成兩組,變相提高儲存對外的效能輸出;
另外,某些高階的儲存,可以提供控制器的負載均衡,即從主機到後端任意訪問點都能保障兩個控制器的鏈路訪問均分資料流量,很顯然,能夠做到控制器負載均衡,比單純提供控制器冗餘,效能上要高很多。
最後。。。。。單純的比較裝置引數指標,已經是完全沒有任何實際意義的事情了,一個系統裡使用到儲存,應該是由儲存的功能配合系統需求來決定的,而不是由紙面指標來決定儲存的型別
轉載地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27767315/viewspace-2107767/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- emc儲存相關簡稱
- 儲存容量及相關計算單位
- MySQL全面瓦解16:儲存過程相關MySql儲存過程
- 檢視和儲存過程相關物件儲存過程物件
- android 【儲存相關】preserveLegacyExternalStorage,requestLegacyExternalStorageAndroid
- DAOS 分散式非同步物件儲存|相關元件分散式非同步物件元件
- 儲存器資料恢復相關知識資料恢復
- (Oracle)儲存過程、儲存函式和包的相關知識與例項Oracle儲存過程儲存函式
- PAD儲存過程以及相關的高階呼叫儲存過程
- GlusterFS分散式儲存叢集部署記錄-相關補充分散式
- MySQL索引、事務以及儲存引擎的相關知識和命令MySql索引儲存引擎
- 圖(1)--圖的相關術語與圖的儲存結構
- SAP MM 庫存相關表格
- 二叉連結串列儲存結構、二叉樹相關操作二叉樹
- K8S叢集儲存服務相關日誌獲取指南K8S
- [小技巧]Laravel 關聯儲存Laravel
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- 塊儲存 檔案儲存 物件儲存物件
- 關係等級儲存問題
- 關於jdon儲存,修改問題
- SAP 庫存地點定義相關
- 關於 SysOM 2.0 網路/儲存相關診斷功能介紹及案例展示 | 第 72-73 期
- word未儲存文件怎麼找回 word不小心關閉沒儲存
- 【下一代核心技術DevOps】:(六)Rancher集中儲存及相關應用dev
- 關於Entity Freamwork 儲存過程操作儲存過程
- 關於事務的儲存過程儲存過程
- 關於hibernate 和 儲存過程儲存過程
- 行式儲存 列式儲存
- 儲存—物件儲存_Minio物件
- 自動儲存、靜態儲存和動態儲存
- MyISAM 儲存引擎,Innodb 儲存引擎儲存引擎
- 資料儲存--檔案儲存
- 值得儲存的 synchronized 關鍵字總結synchronized
- 關於資料儲存的一個故事
- 一些主機儲存的開關
- 關於Hibernate一對多關聯儲存問題
- 儲存
- 物件儲存 vs 檔案儲存 vs 塊儲存,選哪個?物件