【正文】
30 型加固磁盤陣列 采用嵌入式技術(shù) [2527]實(shí)現(xiàn),其硬件結(jié)構(gòu)主要是在支持 64 位 PCIX 接口的主板增加相應(yīng)的芯片構(gòu)成,例如網(wǎng)卡等相關(guān)芯片。我們稱之為屬性控制的數(shù)據(jù)放置策略。不同的屬性內(nèi)容服務(wù)于不同的目的。 15 畢 業(yè) 設(shè) 計 ( 論 文 ) 3 XXX 系統(tǒng)設(shè) 計 前面論述了存儲接口從基于“數(shù)據(jù)塊”發(fā)展到“對象”的必要性、重要性和可行性。 本章小結(jié) 本章提出了一種可以提高存儲系統(tǒng)數(shù)據(jù)可靠性的技術(shù),即存儲設(shè)備安全預(yù)警及數(shù)據(jù)主動遷移技術(shù),它包括磁盤數(shù)據(jù)自愈、磁盤數(shù)據(jù)主動遷移、陣列級數(shù)據(jù)自愈及系統(tǒng)級數(shù)據(jù)主動遷移四個層次。 SMART 技術(shù)原理是通過檢測磁盤運(yùn)行狀況,包括數(shù)據(jù)吞 吐率、磁盤啟動停機(jī)次數(shù), I/O 出錯次數(shù)等,并將這些信息保存在磁盤特定的位置,提供特殊的訪問指令供用戶獲取磁盤 SMART 信息。 SMART(通常寫為 )的全稱為“ SelfMonitoring, Analysis and Reporting Technology”,即“自我檢測、分析及報告技術(shù)”。檢測磁盤健康狀況的方式有多種,例如可以通過測量硬盤驅(qū)動器的震動并將產(chǎn)生的震動數(shù)據(jù)和參考的震動數(shù)據(jù)相對比,來判斷硬盤是否可能出故障,并發(fā)出預(yù)警信號,詳見文獻(xiàn) [22]。因?yàn)镽AID5 的操作非常復(fù)雜,我們將模型分為小讀、大讀、小寫和大寫四個部分分別討論。 可知 k 個磁盤的最大定位時間大約是 kp log2?? ,其中 ? 是標(biāo)準(zhǔn)方差。磁盤陣列的吞吐率 )(mX 和隊列長度 )1( ?mQ 分別為: ZmR mmX ?? )()(, m=1,2,… (22) )()()( mXmRmQ ?? (23) 其初始值為 0)0( ?Q 。 Uysal 建立了RAID10 的分析模型,特別是考慮了 cache 的效果,并針對一個實(shí)際的磁盤陣列 HP FC60 進(jìn)行了驗(yàn)證。 Lee 和 Katz建立了 RAID0 的分析模型。兩種方法都可以用來預(yù)測不同設(shè)計情況下磁盤陣列的性能,分析模型比仿真模型更易于實(shí)現(xiàn)、 速度更快。 13 畢 業(yè) 設(shè) 計 ( 論 文 ) 因此,當(dāng) RAID 系統(tǒng)中磁盤出現(xiàn)壞扇區(qū)時,先對其進(jìn)行修復(fù),然后可以利用冗余信息,將處于同一 Stripe 的其它數(shù)據(jù)塊讀入到內(nèi)存中,然后根據(jù)該磁盤所在 RAID級別調(diào)用相應(yīng)的重建數(shù)據(jù)算法,將數(shù)據(jù)恢復(fù)出來并保存到用來替換壞扇區(qū)的保留扇區(qū)中。由于存儲了校驗(yàn)信息,如果一個 Stripe 中任意一塊數(shù)據(jù)丟失,都可以由另外三塊數(shù)據(jù)恢復(fù)出來,例如數(shù)據(jù)塊 A 所在的磁盤 1 損壞,那么只需要讀出與數(shù)據(jù)塊 A 在同一個 Stripe 的其它 SU,然后對這些數(shù)據(jù)塊進(jìn)行異或,就可以將 A 恢 復(fù)出來,其原理是 P0=A⊕ B⊕ C 能夠推導(dǎo)出 A=P0⊕ B⊕ C。例如 P0 及 P1 為校驗(yàn)信息塊, A、B 代表數(shù)據(jù)塊,校驗(yàn)塊是由數(shù)據(jù)塊是以 Stripe 為單位經(jīng)過 RAID5 校驗(yàn)生成算法生成。 P 0DS US US U......S t r i p eAP 1S US US U......BES US US U......CFS US US U......D i s k 0 D i s k 1 D i s k 2 D i s k 3 圖 RAID數(shù)據(jù)塊存儲圖 錯誤 !未找到引用源。以 4 個磁盤的 RAID5 為例描述其數(shù)據(jù)存儲方式以及當(dāng)某個磁盤出現(xiàn)壞扇區(qū)時,如何恢復(fù)出數(shù)據(jù)。 壞扇區(qū)數(shù)據(jù)恢復(fù) 磁盤出現(xiàn)壞扇區(qū),磁盤自愈會從保留區(qū)域中分配扇區(qū)替換壞扇區(qū),然后將壞扇區(qū)的數(shù)據(jù)寫入到保留區(qū),然而如果是讀失敗,那么數(shù)據(jù)將無法得到,這時就需要使用 RAID 算法計算出壞扇區(qū)數(shù)據(jù),并將其寫入到保留扇區(qū)中。 RAIDRAID1231 2 38 9 1089101 2 38 9 10保留區(qū)域 圖 磁盤數(shù)據(jù)自愈 數(shù)據(jù)重定向 為 保證保留區(qū)域數(shù)據(jù)的可靠性,還可以將保留扇區(qū)擴(kuò)充到其他磁盤中,甚至做 12 畢 業(yè) 設(shè) 計 ( 論 文 ) 多余副本。按照類似的方式,磁盤數(shù)據(jù)自愈技術(shù)在磁盤管理策略中,為每個磁盤預(yù)留一部分空間,用來修復(fù)磁盤部分介質(zhì)故障時使用。 ?NE W虛擬陣列虛擬陣列全局熱備多控陣列存儲池虛擬陣列工作磁盤熱備磁盤312 1 、磁盤數(shù)據(jù)自愈2 、磁盤數(shù)據(jù)移植虛擬陣列其他存儲節(jié)點(diǎn)其他存儲節(jié)點(diǎn)44 、系統(tǒng)級數(shù)據(jù)主動遷移 3 、陣列級數(shù)據(jù)自愈 圖 預(yù)警轉(zhuǎn)移層次模型 11 畢 業(yè) 設(shè) 計 ( 論 文 ) 磁盤數(shù)據(jù)自愈技術(shù) 目前陣列算法遇到磁盤介質(zhì)錯誤時即判斷整盤錯誤,立 即將陣列降級處理,如有空閑盤即可開始重建處理,但盤的故障并不是一下子全部失效,而可能是部分介質(zhì)缺陷,按照這種方式進(jìn)行重建處理極有可能由于成員盤部分介質(zhì)的損壞導(dǎo)致重建失敗甚至邏輯卷數(shù)據(jù)丟失,為解決磁盤數(shù)據(jù)部分介質(zhì)錯誤的問題,提出了磁盤數(shù)據(jù)自愈技術(shù),它力圖對出現(xiàn)的磁盤介質(zhì)錯誤進(jìn)行修復(fù),同時恢復(fù)出故障區(qū)域的數(shù)據(jù)。 系統(tǒng)需求分析 系統(tǒng)可行性分析 10 畢 業(yè) 設(shè) 計 ( 論 文 ) 開發(fā)工具分析及選擇 關(guān)鍵技術(shù)分析 基本方案制定 多層次存儲設(shè)備健康預(yù)警 當(dāng)存儲系統(tǒng)產(chǎn)生預(yù)警后,可將數(shù)據(jù)主動遷移到合適的節(jié)點(diǎn)和位置,存儲系統(tǒng)安全預(yù)警及數(shù)據(jù)主動遷移技術(shù)分為如下四個層次,( 1)磁盤數(shù)據(jù)自愈技術(shù),( 2)磁盤間數(shù)據(jù)移植技術(shù)、( 3)陣列級數(shù)據(jù)自愈、( 4)系統(tǒng)級數(shù)據(jù)主動遷移。 傳統(tǒng)存儲系統(tǒng)中數(shù)據(jù)的可靠性通常是采用冗余技術(shù)或者備份技術(shù)來實(shí)現(xiàn)的,如果存儲節(jié)點(diǎn)出現(xiàn)了如風(fēng)扇損毀,磁盤溫度過高、誤碼率過高、 性能下降等問題,系統(tǒng)通常不會進(jìn)行主動處理,而是等待設(shè)備或者磁盤完全故障后才通過數(shù)據(jù)重建或熱切換到鏡像節(jié)點(diǎn)的方式保持存儲系統(tǒng)的持續(xù)工作,這大大增加了數(shù)據(jù)風(fēng)險性。 課題的來源 本課題受國家自然科學(xué)基金項(xiàng)目“進(jìn)化存儲系統(tǒng)”(項(xiàng)目編號: 60273073)和“ 973” 8 畢 業(yè) 設(shè) 計 ( 論 文 ) 國家 重點(diǎn)基礎(chǔ)研究發(fā)展項(xiàng)目 “下一代互聯(lián)網(wǎng)信息存儲的組織模式和核心技術(shù)研究”(項(xiàng)目編號: 2020CB318203)資助。最后還給出了部分測試結(jié)果。 iSCSIOSDRAID 成功地對傳統(tǒng)的 RAID 控制器進(jìn)行了擴(kuò)展,增加了支持 iSCSI 和 OSD 協(xié)議的訪問接口。最后,描述了我們自定義的三個擴(kuò)展屬性頁。首先從比較基于對象的 OSD 與基于塊的 SBC命令集入手,說明在 OSD 協(xié)議中屬性的組織方式,提供了建立屬性傳遞機(jī)制的基礎(chǔ)。另一方面,我們研究了文件系統(tǒng)負(fù)載的特征,并歸納得到可以用來準(zhǔn)確描述一個負(fù)載的若干屬性(包括存儲需求和行為)。 第三章以磁盤陣列作為研究對象,描述了屬性控制的數(shù)據(jù)放置策略。最后討論了對象存儲的實(shí)現(xiàn)途徑, OSD 標(biāo)準(zhǔn)和 Lustre 文件 系統(tǒng)代表了兩種發(fā)展方向。然后詳細(xì)論述了基于對象的存儲如何解決當(dāng)前的問題。本文研究的目的,是在基于對象的存儲設(shè)備( OSD)中實(shí)現(xiàn)屬性控制的存儲策略,關(guān)鍵需要解決兩個方面的問題:第一,屬性表達(dá)什么信息,怎樣影響存儲策略?第二,屬性怎 樣從用戶應(yīng)用傳遞給存儲設(shè)備? 7 畢 業(yè) 設(shè) 計 ( 論 文 ) 本文的主要內(nèi)容如下: 第一章我們首先介紹了當(dāng)前存儲 系統(tǒng)面臨的挑戰(zhàn)和 技術(shù)發(fā)展趨勢,然后分析了對象存儲 技術(shù)的 產(chǎn)生 及發(fā)展現(xiàn)狀, 介紹了國內(nèi)外在存儲策略和智能存儲領(lǐng)域的相關(guān)研究工作, 并對本文的主要研究內(nèi)容及工作意義作了具體說明。 研究目的和主要內(nèi)容 基于對象的存儲是為了克服當(dāng)前基于塊的存儲存在的諸多難題,在存儲接口和結(jié)構(gòu)層次的重要發(fā)展。 課題要求 本課題所涉及模塊的設(shè)計目標(biāo)是使用超級終端通過串口( RS232 接口)對 RAID控制器進(jìn)行配置管理。基于數(shù)據(jù)塊的存儲設(shè)備大多不了解使用存儲的用戶和應(yīng)用。目前其對象存儲設(shè)備仍然是非標(biāo)準(zhǔn)化的,但是 Panasas 公司是 T10 OSD 標(biāo)準(zhǔn)委員會的成員,表示將努力使其設(shè)備支持 OSD 標(biāo)準(zhǔn)。 PanFS 由網(wǎng)絡(luò)、元數(shù)據(jù)服務(wù)器、對象存儲設(shè)備和客戶端構(gòu)成。 Lustre 針對的市場是高性能計算。 6 畢 業(yè) 設(shè) 計 ( 論 文 ) 議。 INCITS 由 ANSI (American National Standards Institute)任命。其組成部分包括客戶端、集群控制系統(tǒng)和存儲目標(biāo)器。除此之外, IBM還實(shí)現(xiàn)了 OSD 啟動器 [14]。 ObjectStone 的主要特點(diǎn)是它實(shí)現(xiàn)了標(biāo)準(zhǔn)的 T10 SCSI OSD 協(xié)議,并使用 iSCSI 作為 SCSI 命令的傳輸層。本文所參考的是 OSD 標(biāo)準(zhǔn)草案修訂版本 10。參與的公司包括 EMC, HP, IBM, Intel, Panasas,Seagate 和 Veritas 等。 zFS 是一個基于對象存儲的分布式文件系統(tǒng) [11]。 IBM Haifa 實(shí)驗(yàn)室早期的一個項(xiàng)目 DSF( Data Sharing Facility),是創(chuàng)建無服務(wù)器文件系統(tǒng)的試驗(yàn)項(xiàng)目,把所有文件和存儲管理分布到網(wǎng)絡(luò)中 [10]。Ursa Minor 協(xié)議還支持根據(jù)負(fù)載的特征(讀寫比率或者請求大?。┰诰€改變存儲節(jié)點(diǎn)的配置,使之更加適合負(fù)載。而萬能的存儲系統(tǒng)允許以對象為單位選擇最合適的數(shù)據(jù)分布(包括編碼、容錯和位置等),滿足相應(yīng)的訪問模式、可靠性需求和成本目標(biāo)。 CMU 在 NASD 研究的基礎(chǔ)上,實(shí)現(xiàn) 了一個基于對象的原型系統(tǒng) Ursa Minor, 5 畢 業(yè) 設(shè) 計 ( 論 文 ) 號稱“萬能的”集群存儲系統(tǒng) [9]。顯示了 NASD 的系統(tǒng)結(jié)構(gòu)。其基本思想有四點(diǎn):直接向客戶端傳送數(shù)據(jù),通過加密實(shí)現(xiàn)安全接口,異步非臨界通道(客戶端的大多數(shù)操作不需要向文件管理器發(fā)出同步請求),大小可變的數(shù)據(jù)對象。 應(yīng) 用 程 序文 件 系 統(tǒng)塊 設(shè) 備 驅(qū) 動S C S I 啟 動 器i S C S I 層T C P / I P磁 盤 L o g i c a l U n i t S C S I 目 標(biāo) 器i S C S I 層T C P / I PS C S Ii S C S I S e s s i o nT C P / I P數(shù) 據(jù) 鏈 路 層 數(shù) 據(jù) 鏈 路 層E t h e r n e tD i s k I / O r e q u e s t sS C S I C D Bi S C S I P D UT C P S e g m e n t I P 包E t h e r n e t F r a m e塊 數(shù) 據(jù)數(shù) 據(jù) 拷 貝物 理 鏈 路數(shù) 據(jù) 拷 貝D M A D M A啟 動 器目 標(biāo) 器P C I P C I數(shù) 據(jù) 封 裝 解 包 解 包 數(shù) 據(jù) 封 裝 圖 iSCSI的系統(tǒng)結(jié)構(gòu) 圖 是 卡內(nèi)基梅隆大學(xué) ( Carnegie Mellon University, CMU) 1995 年開始的研究項(xiàng)目 NASD( NetworkAttached Secure Disks) [6][7][8]。另一方面,與文件一樣,訪問對象的應(yīng)用也要通過必要的元數(shù)據(jù),容易實(shí)現(xiàn)對象的跨平臺訪問。 對象具有文件和塊兩種技術(shù)的 優(yōu)點(diǎn)。文件提供給用戶應(yīng)用一個高層抽象,允許不同的操作系統(tǒng)平臺之間安全地共享數(shù)據(jù),但是其性能往往受到文件服務(wù)器的限制。與數(shù)據(jù)塊不同的是,對象的大小是可變的,可以存儲整個數(shù)據(jù)結(jié)構(gòu),例如文件和數(shù)據(jù)庫表。我們相信一個基于存儲對象( object)的接口是該問題的解決之道。 因此,工業(yè)界和學(xué)術(shù)界正在努力改變目前的存儲技術(shù),使存儲設(shè)備從非智能的、外部管理發(fā)展成為智能的、自管理的設(shè)備,并且能夠感知設(shè)備所服務(wù)的應(yīng)用。盡管存儲系統(tǒng)從基于塊的接口( SCSI 和 ATA/IDE)的穩(wěn)定性中獲益不少,而這一點(diǎn)越來越成為存儲體系結(jié)構(gòu)的制約因素。 國內(nèi)外發(fā)展?fàn)顩r 存儲工業(yè)已經(jīng)開始對接口提出更多要求,希望接口能做更多的事情。當(dāng)前廣泛使用的三種存儲結(jié)構(gòu)是直連存儲( DAS)、存儲區(qū)域網(wǎng)( SAN)和附網(wǎng)存儲( NAS)。 3 畢 業(yè) 設(shè) 計 ( 論 文 ) 面臨的問題和挑戰(zhàn) 理想的存儲體系結(jié)構(gòu)應(yīng)該 提供安全性、跨平臺數(shù)據(jù)共享、高性能、以及可擴(kuò)展性(包括存儲設(shè)備和客戶端)。傳統(tǒng)的并行 PCI和 SCSI總線已經(jīng)沒有性能提升的余地,I/O 總線更多地向串行化發(fā)展,比如 PCI Express、串行存儲體系結(jié)構(gòu)( SSA)、光纖通道( Fibre Channel)等。比如RAID 技術(shù)可以挖掘多個磁盤的并行性,大規(guī)模存儲集群挖掘存儲節(jié)點(diǎn)的并行性 [4]。一是改進(jìn)部件的物理性能。 提高存儲系統(tǒng)性能的途徑 長期以來,存儲系統(tǒng)的性能一直是人們關(guān)注的焦點(diǎn)。計算機(jī)系統(tǒng)結(jié)構(gòu)的設(shè)計重點(diǎn)正在逐漸從傳統(tǒng)的以處理為中心轉(zhuǎn)變?yōu)橐詳?shù)據(jù)為中心。 研究