ISCSI雙控制器存儲(chǔ)系統(tǒng)緩存設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2018-01-12 09:24
本文關(guān)鍵詞:ISCSI雙控制器存儲(chǔ)系統(tǒng)緩存設(shè)計(jì)與實(shí)現(xiàn) 出處:《山東大學(xué)》2014年碩士論文 論文類(lèi)型:學(xué)位論文
更多相關(guān)文章: ISCSI存儲(chǔ) 雙控制器 緩存 同步 可靠性
【摘要】:在云計(jì)算及大數(shù)據(jù)浪潮的推動(dòng)下,互聯(lián)網(wǎng)對(duì)數(shù)據(jù)存儲(chǔ)系統(tǒng)的可靠性和性能提出了越來(lái)越高的需求。在存儲(chǔ)領(lǐng)域,基于ISCSI的存儲(chǔ)系統(tǒng)因?yàn)榭梢曰诂F(xiàn)有的IP網(wǎng)絡(luò)架設(shè)而變得越來(lái)越流行。為了提供更高的可靠性,避免存儲(chǔ)系統(tǒng)控制器單點(diǎn)故障造成服務(wù)中斷,ISCSI雙控制器存儲(chǔ)系統(tǒng)成為中高端存儲(chǔ)系統(tǒng)的標(biāo)配。 目前ISCSI控制器CPU速度遠(yuǎn)遠(yuǎn)超過(guò)磁盤(pán)IO速度,磁盤(pán)IO瓶頸成為制約存儲(chǔ)系統(tǒng)性能的關(guān)鍵。在控制器軟件中引入緩存模塊可以大大減少磁盤(pán)IO次數(shù),提升性能;同時(shí)雙控制器存儲(chǔ)中,為避免控制器故障造成的緩存數(shù)據(jù)丟失和服務(wù)中斷,必須維護(hù)兩個(gè)控制器中緩存數(shù)據(jù)的一致性。 本文通過(guò)分析ISCSI控制器軟件沒(méi)有緩存不足支持,在存儲(chǔ)控制軟件中設(shè)計(jì)并實(shí)現(xiàn)了獨(dú)立緩存模塊,面向雙控制器實(shí)現(xiàn)了緩存同步模塊。當(dāng)主控制器對(duì)緩存作出更新后,會(huì)實(shí)時(shí)同步到從控制器緩存中作為備份,保證了主控制器故障時(shí),緩存數(shù)據(jù)不會(huì)丟失。緩存模塊位于獨(dú)立內(nèi)存空間中,采用哈希表進(jìn)行快速匹配,緩存替換算法采用最近最少使用策略(LRU),基于雙向循環(huán)鏈表組織緩存塊,每個(gè)緩存塊包含8個(gè)連續(xù)磁盤(pán)扇區(qū)數(shù)據(jù)。緩存同步使用高速通道作為數(shù)據(jù)鏈路,當(dāng)向主控制器緩存寫(xiě)入數(shù)據(jù)時(shí),必須同時(shí)寫(xiě)入從控制器緩存才能返回。配合心跳模塊,實(shí)時(shí)監(jiān)測(cè)兩個(gè)控制器的工作狀態(tài),一旦主控發(fā)生故障,則通知從控制器接管,保證服務(wù)的持續(xù)性。 在控制器軟件ISCSI Enterprise Target的基礎(chǔ)上,在Linux內(nèi)核層設(shè)計(jì)并實(shí)現(xiàn)了緩存系統(tǒng)的各功能模塊,作為ISCSI控制器驅(qū)動(dòng)的一部分,并采用內(nèi)核多線(xiàn)程工作方式提升性能。緩存的實(shí)現(xiàn)遵循模塊化和層次化設(shè)計(jì),進(jìn)行了性能優(yōu)化,提供了良好的可移植性。采用Iometer測(cè)試帶有緩存模塊的ISCSI存儲(chǔ)服務(wù)器,測(cè)試結(jié)果表明緩存系統(tǒng)能夠滿(mǎn)足存儲(chǔ)性能和功能需求。
[Abstract]:Driven by the cloud computing and big data wave, the Internet has put forward more and more high demand for the reliability and performance of the data storage system. The storage system based on ISCSI has become more and more popular because it can be set up based on the existing IP network. In order to provide higher reliability, the single point failure of the storage system controller can avoid the interruption of service. ISCSI dual-controller storage system has become the standard of mid-high-end storage system. Currently, the CPU speed of the ISCSI controller is much faster than the disk IO speed. The bottleneck of disk IO becomes the key to restrict the performance of storage system. The introduction of buffer module in controller software can greatly reduce the number of disk IO and improve performance. At the same time, in order to avoid the loss of cached data and the interruption of service caused by the failure of the controller, the consistency of the cached data in the two controllers must be maintained. In this paper, we design and implement the independent cache module in the storage control software by analyzing that the ISCSI controller software does not have insufficient cache support. When the main controller updates the cache, it will synchronize to the slave controller cache as a backup in real time, which ensures the main controller failure. The cache module is located in a separate memory space and uses a hash table for fast matching and a cache replacement algorithm using the least recent use strategy (LRUU). A cache block is organized based on a bidirectional circular linked list, each of which contains eight consecutive disk sector data.; the cache synchronizes using a high-speed channel as a data link when data is cached to the main controller. The heartbeat module can be used to monitor the working status of the two controllers in real time. Once the main controller fails, the controller must be notified to take over from the controller to ensure the continuity of the service. Based on the controller software ISCSI Enterprise Target, every function module of the buffer system is designed and implemented in the Linux kernel layer. As a part of the driver of ISCSI controller and using multi-thread kernel to improve performance, the implementation of cache follows modular and hierarchical design, and the performance is optimized. Iometer is used to test the ISCSI storage server with cache module. The test results show that the cache system can meet the storage performance and functional requirements.
【學(xué)位授予單位】:山東大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2014
【分類(lèi)號(hào)】:TP333
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 肖建田;龔向堅(jiān);伍大清;;一種高可用的自適應(yīng)雙控制器心跳設(shè)計(jì)[J];現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版);2011年28期
,本文編號(hào):1413653
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/1413653.html
最近更新
教材專(zhuān)著