新聞中心
聯系我們
Contact us
Contact us
- 總部電話010-51727811
- 客服熱線400 779 6696
- 更多聯系信息
存儲系統的心臟存儲處理器(一)
時間:2012-11-05 09:15 來源:飛客數據恢復 作者:飛客數據恢復工程師
存儲系統作為網絡后臺的核心設備,為各類信息應用提供網絡存儲、高可用數據庫集群、高性能計算、數據備份、復制、容災、遷移等各類服務。存儲系統是一種將多個磁盤驅動器組織在一起,以提供較高的數據讀寫、傳輸性能和存儲安全特性的計算機設備,是典型的嵌入式系統,其控制器是所有功能的實現者,決定著系統體系結構。
存儲系統的控制器,類似于服務器內部的PCIRAID控制器,又有較大的差別,這里,我們來談一談存儲系統控制器,使讀者對存儲設備有較全面的了解。
嵌入式架構
存儲系統控制器和PCIRAID卡具有相同的邏輯構成,有I/O處理器、高速緩存、硬盤接口控制器、高速總線、儲存嵌入式軟件的閃存、內外連接接口等。
存儲系統的控制器,類似于服務器內部的PCIRAID控制器,又有較大的差別,這里,我們來談一談存儲系統控制器,使讀者對存儲設備有較全面的了解。
嵌入式架構
存儲系統控制器和PCIRAID卡具有相同的邏輯構成,有I/O處理器、高速緩存、硬盤接口控制器、高速總線、儲存嵌入式軟件的閃存、內外連接接口等。
采用雙段PCI-X總線的光纖通道磁盤陣列控制器
硬件構成上,和PCIRAID卡不同,存儲控制器還有用于連接主機的磁盤控制器,以及更多的協同處理和管理的功能芯片。物理上,為了能夠實現各類芯片的布局,存儲控制器通常分為控制器板卡、I/O接口卡、管理模塊卡等幾大部分。
任何硬件功能的發揮,離不開軟件。存儲控制器軟件實現如下三個功能:管理和控制磁盤集合(陣列)、傳送I/O操作進/出磁盤、為數據冗余計算校驗值或使用校驗值恢復丟失的數據。在軟件構成上包括3個部分:陣列控制軟件,板支持包及接口驅動軟件,操作系統及設備接口。
任何硬件功能的發揮,離不開軟件。存儲控制器軟件實現如下三個功能:管理和控制磁盤集合(陣列)、傳送I/O操作進/出磁盤、為數據冗余計算校驗值或使用校驗值恢復丟失的數據。在軟件構成上包括3個部分:陣列控制軟件,板支持包及接口驅動軟件,操作系統及設備接口。
控制器軟件示意圖
存儲控制器軟件的各模塊功能如下:
系統初始化模塊:負責系統初始階段的系統自舉、設備自檢、參數設定、資源分配等。
命令分解模塊:負責服務器命令的分解、應答等。
數據分塊重組模塊:負責服務器數據的分塊和底層數據的重組。
緩存管理:負責命令及數據緩存的分配、聚散、釋放等。
I/O調度模塊:負責上層與底層I/O命令的并行、流水調度等。
校驗信息計算模塊:負責校驗信息的計算。
數據重構模塊:負責降級模式下的數據提供。
數據恢復模塊:負責磁盤出錯時的數據自動恢復。
RCR模塊:實現RAIDCacheRAID功能,提供陣列性能。
僅僅控制器是遠遠不夠的,還要輔以下列系統設計方法,方可構建一個高可用的存儲系統:
采用模塊化技術,研究開發磁盤陣列的磁盤子系統、控制器、電源、結構件、連接件等模塊,并在存儲設備內部采用無電纜連接技術,提高系統的集成度和可靠度。
采用全冗余熱拔插技術,實現存儲設備模塊內主要工作子系統,例如散熱子系統、電源子系統、控制器子系統的容錯能力,提高可用性。
采用結構一體化設計技術,為存儲設備和整個海量存儲系統提供足夠的散熱能力,提高系統的穩定性和可靠性;合理的結構設計,將保證電源、風扇、硬盤、控制器模塊的無電纜連接,并保證冗余熱拔插功能的實現。
存儲處理器特性要求
高性能
與一般的PCIRAID卡相比,存儲系統的控制器控制軟件除了實現基本的RAID功能,支持RAID0、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)modN個磁盤驅動器上,如果第i塊數據在第j組緩存失效,那么第i+1塊數據有可能在第(j+1)modN組緩存也發生失效,因此在數據讀寫過程考慮數據塊在磁盤驅動器上的橫向相關性,可以通過縱橫LRU替換算法,將縱向預騰空(即同一組內的預騰空)發展成縱橫預騰空(即多組同時替換)。
智能化
控制器提供了存儲系統一定的在線操作智能化能力,減少由存儲模塊自身原因引起的系統停機,提高存儲系統內數據的高可用能力,這些特性包含:
多種讀寫方式
RAID陣列遷移、級別遷移、容量在線擴展、容量在線擴容、磁盤易位
面向單RAID陣列的讀寫應用優化
系統管理和監控
控制器除了提高磁盤陣列在線操作智能化能力的同時,還實現I/O讀寫的智能化。I/O負載可以表示為一個三元組(地址、大小、讀/寫),因而存取模式可以對應一個三維空間,
系統初始化模塊:負責系統初始階段的系統自舉、設備自檢、參數設定、資源分配等。
命令分解模塊:負責服務器命令的分解、應答等。
數據分塊重組模塊:負責服務器數據的分塊和底層數據的重組。
緩存管理:負責命令及數據緩存的分配、聚散、釋放等。
I/O調度模塊:負責上層與底層I/O命令的并行、流水調度等。
校驗信息計算模塊:負責校驗信息的計算。
數據重構模塊:負責降級模式下的數據提供。
數據恢復模塊:負責磁盤出錯時的數據自動恢復。
RCR模塊:實現RAIDCacheRAID功能,提供陣列性能。
僅僅控制器是遠遠不夠的,還要輔以下列系統設計方法,方可構建一個高可用的存儲系統:
采用模塊化技術,研究開發磁盤陣列的磁盤子系統、控制器、電源、結構件、連接件等模塊,并在存儲設備內部采用無電纜連接技術,提高系統的集成度和可靠度。
采用全冗余熱拔插技術,實現存儲設備模塊內主要工作子系統,例如散熱子系統、電源子系統、控制器子系統的容錯能力,提高可用性。
采用結構一體化設計技術,為存儲設備和整個海量存儲系統提供足夠的散熱能力,提高系統的穩定性和可靠性;合理的結構設計,將保證電源、風扇、硬盤、控制器模塊的無電纜連接,并保證冗余熱拔插功能的實現。
存儲處理器特性要求
高性能
與一般的PCIRAID卡相比,存儲系統的控制器控制軟件除了實現基本的RAID功能,支持RAID0、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)modN個磁盤驅動器上,如果第i塊數據在第j組緩存失效,那么第i+1塊數據有可能在第(j+1)modN組緩存也發生失效,因此在數據讀寫過程考慮數據塊在磁盤驅動器上的橫向相關性,可以通過縱橫LRU替換算法,將縱向預騰空(即同一組內的預騰空)發展成縱橫預騰空(即多組同時替換)。
智能化
控制器提供了存儲系統一定的在線操作智能化能力,減少由存儲模塊自身原因引起的系統停機,提高存儲系統內數據的高可用能力,這些特性包含:
多種讀寫方式
RAID陣列遷移、級別遷移、容量在線擴展、容量在線擴容、磁盤易位
面向單RAID陣列的讀寫應用優化
系統管理和監控
控制器除了提高磁盤陣列在線操作智能化能力的同時,還實現I/O讀寫的智能化。I/O負載可以表示為一個三元組(地址、大小、讀/寫),因而存取模式可以對應一個三維空間,