基于Linux MD的雙控盤陣列數(shù)據(jù)一致性保障技術(shù)研究
發(fā)布時(shí)間:2021-04-09 14:14
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)價(jià)值顯得彌足珍貴,因而對(duì)數(shù)據(jù)存儲(chǔ)的可靠性要求變得更加嚴(yán)苛。雙控制器盤陣列由于能夠提供穩(wěn)定可靠的數(shù)據(jù)存儲(chǔ)服務(wù)而被廣泛應(yīng)用于各個(gè)數(shù)據(jù)中心。在眾多雙控制器盤陣列結(jié)構(gòu)中,基于Linux MD軟件設(shè)計(jì)的雙控制器盤陣列由于其RAID5、6內(nèi)部設(shè)置了條帶緩存,很難實(shí)施緩存鏡像,當(dāng)雙控制器盤陣列同時(shí)對(duì)同一條帶進(jìn)行數(shù)據(jù)寫入操作時(shí)會(huì)造成數(shù)據(jù)/校驗(yàn)不一致性。針對(duì)這一問題,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)保證數(shù)據(jù)一致性的方案。在Linux的MD層構(gòu)建雙控互斥鎖進(jìn)行數(shù)據(jù)一致性保障,將RAID存儲(chǔ)空間按照一定粒度劃分為邏輯塊,兩個(gè)控制器以邏輯塊為基本管理單位,通過(guò)信息交互,按照實(shí)際需求協(xié)商邏輯塊的操作權(quán)限,實(shí)現(xiàn)數(shù)據(jù)一致性保障。為了避免以單一數(shù)據(jù)條帶作為一個(gè)邏輯塊進(jìn)行劃分造成兩個(gè)控制器通信協(xié)商頻繁進(jìn)而影響性能,選擇邏輯塊的大小為若干個(gè)數(shù)據(jù)條帶大小,根據(jù)應(yīng)用環(huán)境和RAID容量進(jìn)行配置。雙控制器重構(gòu)讀寫同一份磁盤數(shù)據(jù),進(jìn)行冗余操作,不僅降低了系統(tǒng)性能,而且會(huì)出現(xiàn)難以預(yù)計(jì)的結(jié)果,所以支持一個(gè)控制器進(jìn)行重構(gòu),另一個(gè)終結(jié)重構(gòu)線程。根據(jù)雙控制器的實(shí)際負(fù)載確定控制器獲取實(shí)現(xiàn)重構(gòu)權(quán)限的成功與否,在重構(gòu)過(guò)程中實(shí)時(shí)同步重構(gòu)信息,實(shí)時(shí)...
【文章來(lái)源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:59 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
RAID設(shè)備驅(qū)動(dòng)層結(jié)構(gòu)
圖 3-2 數(shù)據(jù)不一致情況的產(chǎn)生示意圖寫-寫操作:當(dāng)發(fā)生控 A 和控 B 需在同一時(shí)間對(duì)同一條數(shù)據(jù)條帶執(zhí)行寫操作時(shí),由于控 A、控 B 要寫入目標(biāo)條帶的數(shù)據(jù)不同,如控 A 需要將修改后的黑色數(shù)據(jù)塊以及重新計(jì)算所得的校驗(yàn)塊 1 刷回磁盤,而控 B 也需將修改后的灰色數(shù)據(jù)塊以及重新計(jì)算的校驗(yàn)塊 2 的數(shù)據(jù)刷回磁盤,此時(shí)位于雙控制器的條帶緩存中的條帶中數(shù)據(jù)是一致的。然后,控 A 和控 B 會(huì)并發(fā)地向該條帶發(fā)出寫請(qǐng)求,更新數(shù)據(jù),由于數(shù)據(jù)寫請(qǐng)求的不確定性,數(shù)據(jù)條帶中數(shù)據(jù)的順序便也具有不確定性,導(dǎo)致寫亂序。當(dāng)出現(xiàn)圖 3-2 所示的情況時(shí),控 A 與控 B 寫入條帶的數(shù)據(jù)相互覆蓋,此時(shí)左側(cè)兩個(gè)數(shù)據(jù)塊屬于控 A,而右側(cè)兩個(gè)數(shù)據(jù)塊屬于控 B,使得數(shù)據(jù)出現(xiàn)紊亂,后果十分嚴(yán)重。進(jìn)行重構(gòu)讀寫操作時(shí),會(huì)根據(jù)現(xiàn)在的數(shù)據(jù)塊和校驗(yàn)塊同步操作重新進(jìn)行異或計(jì)算,并將恢復(fù)的出錯(cuò)數(shù)據(jù)塊直接寫入磁盤陣列,導(dǎo)致陣列原始數(shù)據(jù)丟失。讀-寫操作:當(dāng)控 A 和控 B 同時(shí)對(duì)同一數(shù)據(jù)條帶進(jìn)行讀寫操作時(shí),過(guò)程和寫-寫操作相似,結(jié)果并不完全一樣?刂破鲗(duì)數(shù)據(jù)條帶進(jìn)行寫操作后,數(shù)據(jù)正確寫入磁
中 科 技 大 學(xué) 碩 士 學(xué) 位 論限釋放:控制器正在處理邏輯塊時(shí),忽略另一個(gè)控制器設(shè)置沖突態(tài)。等待該邏輯塊數(shù)據(jù) I/O 操作結(jié)束后,清空所予請(qǐng)求成功應(yīng)答。結(jié):攔截兩個(gè)控制器的重構(gòu)操作,檢測(cè)雙控制器的負(fù)載構(gòu)操作權(quán)限,終止高負(fù)載控制器的重構(gòu)線程。移:進(jìn)行重構(gòu)操作的控制器的負(fù)載過(guò)大,產(chǎn)生遷移操作另一個(gè)控制器根據(jù)實(shí)時(shí)同步信息,重啟重構(gòu)線程,本控束:雙控制器更新實(shí)時(shí)信息,完成重構(gòu)操作。
【參考文獻(xiàn)】:
期刊論文
[1]FC Target的設(shè)計(jì)與實(shí)現(xiàn)[J]. 楊帆,呂爍,文中領(lǐng). 計(jì)算機(jī)研究與發(fā)展. 2012(S1)
[2]基于Linux的雙機(jī)熱備系統(tǒng)的實(shí)現(xiàn)技術(shù)[J]. 劉曉潔,黃永佳. 計(jì)算機(jī)應(yīng)用研究. 2007(04)
[3]高可用雙機(jī)容錯(cuò)服務(wù)器的研究與設(shè)計(jì)[J]. 于斌,劉宏偉,崔剛,楊孝宗. 計(jì)算機(jī)工程與設(shè)計(jì). 2006(09)
[4]雙機(jī)容錯(cuò)方案設(shè)計(jì)[J]. 武建鋒,荊文芳. 電子產(chǎn)品可靠性與環(huán)境試驗(yàn). 2006(01)
[5]磁盤陣列cache數(shù)據(jù)一致性的研究與實(shí)現(xiàn)[J]. 馮丹,熊建剛. 華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版). 2005(10)
[6]Heartbeat-Gear:一種新型的實(shí)時(shí)心跳監(jiān)測(cè)技術(shù)[J]. 謝長(zhǎng)生,胡慶平,譚志虎. 計(jì)算機(jī)工程與科學(xué). 2004(05)
[7]雙機(jī)熱備系統(tǒng)的技術(shù)研究和具體實(shí)現(xiàn)[J]. 姜堅(jiān)華. 微型電腦應(yīng)用. 2004(03)
[8]數(shù)據(jù)校驗(yàn)的實(shí)現(xiàn)方法[J]. 李建設(shè). 株洲工學(xué)院學(xué)報(bào). 2003(05)
[9]iSCSI協(xié)議及其Linux下的實(shí)現(xiàn)[J]. 任勁,謝長(zhǎng)生,李為. 小型微型計(jì)算機(jī)系統(tǒng). 2003(07)
[10]高可用系統(tǒng)的技術(shù)與應(yīng)用[J]. 蔣謝彬,李獻(xiàn)球. 計(jì)算機(jī)系統(tǒng)應(yīng)用. 2003(01)
碩士論文
[1]元數(shù)據(jù)與數(shù)據(jù)分類緩存策略研究與實(shí)現(xiàn)[D]. 廖雪琴.華中科技大學(xué) 2017
[2]雙控雙活陣列系統(tǒng)數(shù)據(jù)一致性保障策略研究[D]. 伍星宇.華中科技大學(xué) 2017
[3]基于請(qǐng)求類型I/O路徑優(yōu)化研究與實(shí)現(xiàn)[D]. 方雪嬌.華中科技大學(xué) 2015
[4]磁盤陣列雙控制器緩存鏡像技術(shù)研究[D]. 陳學(xué)輝.華中科技大學(xué) 2013
[5]基于DRBD雙控制器磁盤陣列系統(tǒng)控制與管理[D]. 徐鯤.華中科技大學(xué) 2013
[6]雙控制器RAID系統(tǒng)的研究與實(shí)現(xiàn)[D]. 嚴(yán)亮.華中科技大學(xué) 2012
[7]基于SAN的RAID控制器的設(shè)計(jì)與實(shí)現(xiàn)[D]. 張翔.電子科技大學(xué) 2009
[8]基于共享存儲(chǔ)的高可用性系統(tǒng)設(shè)計(jì)及管理模塊實(shí)現(xiàn)[D]. 姚杰.華中科技大學(xué) 2004
[9]雙機(jī)容錯(cuò)熱備份系統(tǒng)研究與實(shí)現(xiàn)[D]. 田灼.哈爾濱理工大學(xué) 2003
本文編號(hào):3127768
【文章來(lái)源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:59 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
RAID設(shè)備驅(qū)動(dòng)層結(jié)構(gòu)
圖 3-2 數(shù)據(jù)不一致情況的產(chǎn)生示意圖寫-寫操作:當(dāng)發(fā)生控 A 和控 B 需在同一時(shí)間對(duì)同一條數(shù)據(jù)條帶執(zhí)行寫操作時(shí),由于控 A、控 B 要寫入目標(biāo)條帶的數(shù)據(jù)不同,如控 A 需要將修改后的黑色數(shù)據(jù)塊以及重新計(jì)算所得的校驗(yàn)塊 1 刷回磁盤,而控 B 也需將修改后的灰色數(shù)據(jù)塊以及重新計(jì)算的校驗(yàn)塊 2 的數(shù)據(jù)刷回磁盤,此時(shí)位于雙控制器的條帶緩存中的條帶中數(shù)據(jù)是一致的。然后,控 A 和控 B 會(huì)并發(fā)地向該條帶發(fā)出寫請(qǐng)求,更新數(shù)據(jù),由于數(shù)據(jù)寫請(qǐng)求的不確定性,數(shù)據(jù)條帶中數(shù)據(jù)的順序便也具有不確定性,導(dǎo)致寫亂序。當(dāng)出現(xiàn)圖 3-2 所示的情況時(shí),控 A 與控 B 寫入條帶的數(shù)據(jù)相互覆蓋,此時(shí)左側(cè)兩個(gè)數(shù)據(jù)塊屬于控 A,而右側(cè)兩個(gè)數(shù)據(jù)塊屬于控 B,使得數(shù)據(jù)出現(xiàn)紊亂,后果十分嚴(yán)重。進(jìn)行重構(gòu)讀寫操作時(shí),會(huì)根據(jù)現(xiàn)在的數(shù)據(jù)塊和校驗(yàn)塊同步操作重新進(jìn)行異或計(jì)算,并將恢復(fù)的出錯(cuò)數(shù)據(jù)塊直接寫入磁盤陣列,導(dǎo)致陣列原始數(shù)據(jù)丟失。讀-寫操作:當(dāng)控 A 和控 B 同時(shí)對(duì)同一數(shù)據(jù)條帶進(jìn)行讀寫操作時(shí),過(guò)程和寫-寫操作相似,結(jié)果并不完全一樣?刂破鲗(duì)數(shù)據(jù)條帶進(jìn)行寫操作后,數(shù)據(jù)正確寫入磁
中 科 技 大 學(xué) 碩 士 學(xué) 位 論限釋放:控制器正在處理邏輯塊時(shí),忽略另一個(gè)控制器設(shè)置沖突態(tài)。等待該邏輯塊數(shù)據(jù) I/O 操作結(jié)束后,清空所予請(qǐng)求成功應(yīng)答。結(jié):攔截兩個(gè)控制器的重構(gòu)操作,檢測(cè)雙控制器的負(fù)載構(gòu)操作權(quán)限,終止高負(fù)載控制器的重構(gòu)線程。移:進(jìn)行重構(gòu)操作的控制器的負(fù)載過(guò)大,產(chǎn)生遷移操作另一個(gè)控制器根據(jù)實(shí)時(shí)同步信息,重啟重構(gòu)線程,本控束:雙控制器更新實(shí)時(shí)信息,完成重構(gòu)操作。
【參考文獻(xiàn)】:
期刊論文
[1]FC Target的設(shè)計(jì)與實(shí)現(xiàn)[J]. 楊帆,呂爍,文中領(lǐng). 計(jì)算機(jī)研究與發(fā)展. 2012(S1)
[2]基于Linux的雙機(jī)熱備系統(tǒng)的實(shí)現(xiàn)技術(shù)[J]. 劉曉潔,黃永佳. 計(jì)算機(jī)應(yīng)用研究. 2007(04)
[3]高可用雙機(jī)容錯(cuò)服務(wù)器的研究與設(shè)計(jì)[J]. 于斌,劉宏偉,崔剛,楊孝宗. 計(jì)算機(jī)工程與設(shè)計(jì). 2006(09)
[4]雙機(jī)容錯(cuò)方案設(shè)計(jì)[J]. 武建鋒,荊文芳. 電子產(chǎn)品可靠性與環(huán)境試驗(yàn). 2006(01)
[5]磁盤陣列cache數(shù)據(jù)一致性的研究與實(shí)現(xiàn)[J]. 馮丹,熊建剛. 華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版). 2005(10)
[6]Heartbeat-Gear:一種新型的實(shí)時(shí)心跳監(jiān)測(cè)技術(shù)[J]. 謝長(zhǎng)生,胡慶平,譚志虎. 計(jì)算機(jī)工程與科學(xué). 2004(05)
[7]雙機(jī)熱備系統(tǒng)的技術(shù)研究和具體實(shí)現(xiàn)[J]. 姜堅(jiān)華. 微型電腦應(yīng)用. 2004(03)
[8]數(shù)據(jù)校驗(yàn)的實(shí)現(xiàn)方法[J]. 李建設(shè). 株洲工學(xué)院學(xué)報(bào). 2003(05)
[9]iSCSI協(xié)議及其Linux下的實(shí)現(xiàn)[J]. 任勁,謝長(zhǎng)生,李為. 小型微型計(jì)算機(jī)系統(tǒng). 2003(07)
[10]高可用系統(tǒng)的技術(shù)與應(yīng)用[J]. 蔣謝彬,李獻(xiàn)球. 計(jì)算機(jī)系統(tǒng)應(yīng)用. 2003(01)
碩士論文
[1]元數(shù)據(jù)與數(shù)據(jù)分類緩存策略研究與實(shí)現(xiàn)[D]. 廖雪琴.華中科技大學(xué) 2017
[2]雙控雙活陣列系統(tǒng)數(shù)據(jù)一致性保障策略研究[D]. 伍星宇.華中科技大學(xué) 2017
[3]基于請(qǐng)求類型I/O路徑優(yōu)化研究與實(shí)現(xiàn)[D]. 方雪嬌.華中科技大學(xué) 2015
[4]磁盤陣列雙控制器緩存鏡像技術(shù)研究[D]. 陳學(xué)輝.華中科技大學(xué) 2013
[5]基于DRBD雙控制器磁盤陣列系統(tǒng)控制與管理[D]. 徐鯤.華中科技大學(xué) 2013
[6]雙控制器RAID系統(tǒng)的研究與實(shí)現(xiàn)[D]. 嚴(yán)亮.華中科技大學(xué) 2012
[7]基于SAN的RAID控制器的設(shè)計(jì)與實(shí)現(xiàn)[D]. 張翔.電子科技大學(xué) 2009
[8]基于共享存儲(chǔ)的高可用性系統(tǒng)設(shè)計(jì)及管理模塊實(shí)現(xiàn)[D]. 姚杰.華中科技大學(xué) 2004
[9]雙機(jī)容錯(cuò)熱備份系統(tǒng)研究與實(shí)現(xiàn)[D]. 田灼.哈爾濱理工大學(xué) 2003
本文編號(hào):3127768
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3127768.html
最近更新
教材專著