帶你認(rèn)識(shí)存儲(chǔ)系統(tǒng)的心臟:存儲(chǔ)處理器
存儲(chǔ)系統(tǒng)的控制器,類似于服務(wù)器內(nèi)部的PCI RAID控制器,又有較大的差別,這里,我們來(lái)談一談存儲(chǔ)系統(tǒng)控制器,使讀者對(duì)存儲(chǔ)設(shè)備有較全面的了解。
嵌入式架構(gòu)
存儲(chǔ)系統(tǒng)控制器和PCI RAID卡具有相同的邏輯構(gòu)成,有I/O處理器、高速緩存、硬盤(pán)接口控制器、高速總線、儲(chǔ)存嵌入式軟件的閃存、內(nèi)外連接接口等。
圖1、 采用雙段PCI-X總線的光纖通道磁盤(pán)陣列控制器 本文引用地址:http://www.ex-cimer.com/article/201706/353481.htm |
硬件構(gòu)成上,和PCI RAID卡不同,存儲(chǔ)控制器還有用于連接主機(jī)的磁盤(pán)控制器,以及更多的協(xié)同處理和管理的功能芯片。物理上,為了能夠?qū)崿F(xiàn)各類芯片的布局,存儲(chǔ)控制器通常分為控制器板卡、I/O接口卡、管理模塊卡等幾大部分。
任何硬件功能的發(fā)揮,離不開(kāi)軟件。存儲(chǔ)控制器軟件實(shí)現(xiàn)如下三個(gè)功能:管理和控制磁盤(pán)集合(陣列)、傳送I/O操作進(jìn)/出磁盤(pán)、為數(shù)據(jù)冗余計(jì)算校驗(yàn)值或使用校驗(yàn)值恢復(fù)丟失的數(shù)據(jù)。在軟件構(gòu)成上包括3個(gè)部分:陣列控制軟件,板支持包及接口驅(qū)動(dòng)軟件,操作系統(tǒng)及設(shè)備接口。
圖2、控制器軟件示意圖 |
存儲(chǔ)控制器軟件的各模塊功能如下:
? 系統(tǒng)初始化模塊:負(fù)責(zé)系統(tǒng)初始階段的系統(tǒng)自舉、設(shè)備自檢、參數(shù)設(shè)定、資源分配等。
? 命令分解模塊:負(fù)責(zé)服務(wù)器命令的分解、應(yīng)答等。
? 數(shù)據(jù)分塊重組模塊:負(fù)責(zé)服務(wù)器數(shù)據(jù)的分塊和底層數(shù)據(jù)的重組。
? 緩存管理:負(fù)責(zé)命令及數(shù)據(jù)緩存的分配、聚散、釋放等。
? I/O調(diào)度模塊:負(fù)責(zé)上層與底層I/O命令的并行、流水調(diào)度等。
? 校驗(yàn)信息計(jì)算模塊:負(fù)責(zé)校驗(yàn)信息的計(jì)算。
? 數(shù)據(jù)重構(gòu)模塊:負(fù)責(zé)降級(jí)模式下的數(shù)據(jù)提供。
? 數(shù)據(jù)恢復(fù)模塊:負(fù)責(zé)磁盤(pán)出錯(cuò)時(shí)的數(shù)據(jù)自動(dòng)恢復(fù)。
? RCR模塊:實(shí)現(xiàn)RAID Cache RAID功能,提供陣列性能。
僅僅控制器是遠(yuǎn)遠(yuǎn)不夠的,還要輔以下列系統(tǒng)設(shè)計(jì)方法,方可構(gòu)建一個(gè)高可用的存儲(chǔ)系統(tǒng):
采用模塊化技術(shù),研究開(kāi)發(fā)磁盤(pán)陣列的磁盤(pán)子系統(tǒng)、控制器、電源、結(jié)構(gòu)件、連接件等模塊,并在存儲(chǔ)設(shè)備內(nèi)部采用無(wú)電纜連接技術(shù),提高系統(tǒng)的集成度和可靠度。
采用全冗余熱拔插技術(shù),實(shí)現(xiàn)存儲(chǔ)設(shè)備模塊內(nèi)主要工作子系統(tǒng),例如散熱子系統(tǒng)、電源子系統(tǒng)、控制器子系統(tǒng)的容錯(cuò)能力,提高可用性。
采用結(jié)構(gòu)一體化設(shè)計(jì)技術(shù),為存儲(chǔ)設(shè)備和整個(gè)海量存儲(chǔ)系統(tǒng)提供足夠的散熱能力,提高系統(tǒng)的穩(wěn)定性和可靠性;合理的結(jié)構(gòu)設(shè)計(jì),將保證電源、風(fēng)扇、硬盤(pán)、控制器模塊的無(wú)電纜連接,并保證冗余熱拔插功能的實(shí)現(xiàn)。
存儲(chǔ)處理器特性要求
高性能
與一般的PCI RAID卡相比,存儲(chǔ)系統(tǒng)的控制器控制軟件除了實(shí)現(xiàn)基本的RAID功能,支持RAID 0、1、0+1、3、5、30、50等級(jí)別外,還通過(guò)以下技術(shù)提高存儲(chǔ)設(shè)備的傳輸性能:
(1)實(shí)現(xiàn)存儲(chǔ)設(shè)備與系統(tǒng)的均衡。在分析磁盤(pán)陣列的隨機(jī)Petri網(wǎng)模型和計(jì)算硬件組成環(huán)節(jié)運(yùn)行時(shí)間的基礎(chǔ)上,利用Petri網(wǎng)模型計(jì)算主要環(huán)節(jié)的利用率,選擇合適的通信機(jī)制,利用運(yùn)行時(shí)間的計(jì)算結(jié)果合理地確定硬件配置,來(lái)解決主從通道與磁盤(pán)通道的速度匹配、各級(jí)緩沖存儲(chǔ)器的容量匹配和通信方式的選擇等影響性能的關(guān)鍵問(wèn)題,使系統(tǒng)結(jié)構(gòu)趨于合理,達(dá)到負(fù)載均衡的目的。
(2)實(shí)現(xiàn)串內(nèi)多線程操作。通過(guò)選擇恰當(dāng)?shù)拇疟P(pán)控制器,實(shí)現(xiàn)同一物理鏈路多個(gè)磁盤(pán)驅(qū)動(dòng)器的并發(fā)操作,實(shí)現(xiàn)串內(nèi)磁盤(pán)驅(qū)動(dòng)器的并發(fā)操作,在時(shí)間上重迭地處理數(shù)據(jù)的存取,從而達(dá)到提高傳輸性能的目的。
(3)實(shí)現(xiàn)底層設(shè)備的I/O合并操作。利用底層硬件未曾利用的數(shù)據(jù)聚散(Scatter/Gather)功能,將所有分解到某個(gè)磁盤(pán)驅(qū)動(dòng)器上的子命令,按其操作屬性進(jìn)行合并,并將邏輯地址離散的數(shù)據(jù)調(diào)整為支持一次I/O操作的格式,然后用一次I/O代替多次I/O,達(dá)到降低服務(wù)時(shí)間的目的。
(4)利用縱橫LRU替換算法實(shí)現(xiàn)縱橫LRU替換。對(duì)于主機(jī)的大塊數(shù)據(jù)訪問(wèn),當(dāng)?shù)趇塊數(shù)據(jù)在第j個(gè)磁盤(pán)驅(qū)動(dòng)器上時(shí),第i+1塊數(shù)據(jù)肯定在第(j+1)mod N個(gè)磁盤(pán)驅(qū)動(dòng)器上,如果第i塊數(shù)據(jù)在第j組緩存失效,那么第i+1塊數(shù)據(jù)有可能在第(j+1)mod N組緩存也發(fā)生失效,因此在數(shù)據(jù)讀寫(xiě)過(guò)程考慮數(shù)據(jù)塊在磁盤(pán)驅(qū)動(dòng)器上的橫向相關(guān)性,可以通過(guò)縱橫LRU替換算法,將縱向預(yù)騰空(即同一組內(nèi)的預(yù)騰空)發(fā)展成縱橫預(yù)騰空(即多組同時(shí)替換)。
智能化
控制器提供了存儲(chǔ)系統(tǒng)一定的在線操作智能化能力,減少由存儲(chǔ)模塊自身原因引起的系統(tǒng)停機(jī),提高存儲(chǔ)系統(tǒng)內(nèi)數(shù)據(jù)的高可用能力,這些特性包含:
? 多種讀寫(xiě)方式
? RAID陣列遷移、級(jí)別遷移、容量在線擴(kuò)展、容量在線擴(kuò)容、磁盤(pán)易位
? 面向單RAID陣列的讀寫(xiě)應(yīng)用優(yōu)化
? 系統(tǒng)管理和監(jiān)控
控制器除了提高磁盤(pán)陣列在線操作智能化能力的同時(shí),還實(shí)現(xiàn)I/O讀寫(xiě)的智能化。I/O負(fù)載可以表示為一個(gè)三元組(地址、大小、讀/寫(xiě)),因而存取模式可以對(duì)應(yīng)一個(gè)三維空間,每一維對(duì)應(yīng)三元組的一個(gè)元素隨時(shí)間的變化值。自適應(yīng)磁盤(pán)陣列通過(guò)獲取不同I/O負(fù)載和不同磁盤(pán)數(shù)據(jù)分布的特征,調(diào)節(jié)磁盤(pán)陣列參數(shù)和調(diào)度策略,以獲取系統(tǒng)的最大性能。
高可用
支持雙控制器和鏡像緩存,是存儲(chǔ)控制器的獨(dú)有特性,它和冗余熱拔插、模塊化無(wú)電纜連接技術(shù)一起,可滿足海量存儲(chǔ)系統(tǒng)的高可用性要求。雙控制器系統(tǒng)中,每個(gè)控制器擁有自己的緩存,可獨(dú)立工作,也可通過(guò)系統(tǒng)的通訊背板相互監(jiān)測(cè)狀態(tài),實(shí)現(xiàn)故障切換、甚至負(fù)載共享。磁盤(pán)陣列還可實(shí)現(xiàn)與服務(wù)器之間的路徑冗余,即當(dāng)主路徑失敗時(shí),系統(tǒng)可以使用另一條I/O路徑,在服務(wù)器和存儲(chǔ)系統(tǒng)間傳輸數(shù)據(jù),該功能可以保證陣列與兩臺(tái)服務(wù)器,以及雙機(jī)高可用軟件,構(gòu)成一個(gè)完全排除單點(diǎn)故障的雙機(jī)高可用集群系統(tǒng)。
圖3、雙控磁盤(pán)陣列通道連接示意圖 |
高擴(kuò)展
存儲(chǔ)控制器是后臺(tái)計(jì)算系統(tǒng)的I/O連接橋梁,在控制器基板和總線上,通過(guò)植入各種不同工業(yè)標(biāo)準(zhǔn)的I/O控制器,例如SCSI、FC、iSCSI、ATA、SATA、SAS控制器,可以方便的構(gòu)成不同種類的磁盤(pán)陣列設(shè)備,選擇不同種類和數(shù)量的控制器,可以保證存儲(chǔ)系統(tǒng)的主機(jī)連接和硬盤(pán)連接的高擴(kuò)展特性。
在其控制器上采用了FC-AL技術(shù),理論上一個(gè)FC-AL通道可以最大連接127個(gè)設(shè)備,而且,如果磁盤(pán)陣列提供兩個(gè)FC-AL接口,即實(shí)現(xiàn)了通道擴(kuò)展,可以把一組硬盤(pán)連接在一個(gè)雙光纖環(huán)路上,實(shí)現(xiàn)同一組光纖硬盤(pán)的全雙工操作,兩個(gè)雙光纖環(huán)路間通過(guò)并行I/O技術(shù)和全雙工操作,實(shí)際I/O吞吐率可以達(dá)到320MB/s以上。
圖4 、雙光纖線環(huán)路連接示意圖 |
后記:
隨著信息化應(yīng)用規(guī)模的急劇擴(kuò)大,存儲(chǔ)系統(tǒng)所面對(duì)的數(shù)據(jù)量和I/O操作量日漸巨大,并且網(wǎng)絡(luò)化存儲(chǔ)需求越來(lái)越迫切,這需要從總線、處理器、I/O控制器角度提高存儲(chǔ)系統(tǒng)的性能,大容量緩存、二級(jí)緩存、多路處理器、新型總線等,都是存儲(chǔ)系統(tǒng)控制器性能提升的方向。在由計(jì)算器(服務(wù)器)、存儲(chǔ)連接設(shè)備和存儲(chǔ)系統(tǒng)構(gòu)成的后臺(tái)應(yīng)用系統(tǒng)中,從存儲(chǔ)系統(tǒng)上實(shí)現(xiàn)更多的存儲(chǔ)管理功能,例如遠(yuǎn)程鏡像、虛擬存儲(chǔ)、數(shù)據(jù)快照、數(shù)據(jù)備份、緩存服務(wù),是提高后臺(tái)系統(tǒng)數(shù)據(jù)管理能力的捷徑,更是存儲(chǔ)控制器的一個(gè)發(fā)展方向。
評(píng)論