基于iSCSI的數(shù)據(jù)完整性存儲系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及到信息安全、數(shù)據(jù)存儲、大數(shù)據(jù)領(lǐng)域,核心內(nèi)容是基于iSCSI的數(shù)據(jù)完 整性存儲系統(tǒng)。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)時代的迅速發(fā)展,用戶數(shù)據(jù)量正在以指數(shù)的方式增長,龐大的數(shù)據(jù)量 給用戶帶來了嚴(yán)重的數(shù)據(jù)存儲問題。存儲區(qū)域網(wǎng)(storage Area Network, SAN)的出現(xiàn)不 僅解決了大容量的數(shù)據(jù)存儲,而且提供了數(shù)據(jù)高速共享,SAN還支持?jǐn)?shù)據(jù)的集中式管理,為 用戶提供方便、靈活的數(shù)據(jù)存儲平臺。隨著時間的推移,IP-SAN的典型代表iSCSI協(xié)議的 提出及其制定,使得塊級別數(shù)據(jù)能夠在網(wǎng)絡(luò)中成功傳輸,iSCSI是SCSI和TCP/IP協(xié)議相結(jié) 合的結(jié)果,依靠 TCP/IP協(xié)議,打破了 SCSI定義中的存儲距離的限制,實(shí)現(xiàn)SCSI命令在普通 的IP網(wǎng)絡(luò)上傳輸,使得iSCSI具備高效、成本低廉,在數(shù)據(jù)共享、容災(zāi)和備份等方面被廣泛 應(yīng)用。
[0003] 在基于iSCSI的遠(yuǎn)程存儲模式中,由于數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,一些人為的失誤或硬 件設(shè)備的故障會導(dǎo)致數(shù)據(jù)的損壞或丟失,破壞數(shù)據(jù)的完整性。在網(wǎng)絡(luò)存儲中,保證傳輸數(shù)據(jù) 完整性使用以下三種方案來驗(yàn)證數(shù)據(jù)的完整性。一是使用挑戰(zhàn)應(yīng)答(Challenge-Response) 模式,通過客戶端的挑戰(zhàn)值C與服務(wù)器端的應(yīng)答值R來確定數(shù)據(jù)的完整性;二是PDP模型, 在服務(wù)器端生成T標(biāo)簽與T的哈希值P,用戶端獲取數(shù)據(jù)時采用相同的哈希算法獲取哈希值 與 P 進(jìn)行比較。三是 Juels 和 Kaliski 提出的 PoR(Proof of Retrievability)模型,PoR 是在文件中添加一些不可辨認(rèn)的數(shù)據(jù)標(biāo)簽,來驗(yàn)證數(shù)據(jù)的完整性。這些方案都存在數(shù)據(jù)預(yù) 處理開銷較大、消耗客戶端較大存儲資源、數(shù)據(jù)動態(tài)變更導(dǎo)致較大的額外開銷等缺陷。因 此我們提出了基于iSCSI的數(shù)據(jù)完整性存儲系統(tǒng),在數(shù)據(jù)讀寫前使用數(shù)據(jù)完整性保護(hù)技術(shù) Dm-verity對數(shù)據(jù)磁盤分區(qū)進(jìn)行保護(hù),使得數(shù)據(jù)具有數(shù)據(jù)完整性保護(hù)特性。
[0004] Dm-verity機(jī)制是基于設(shè)備映射基礎(chǔ)之上的提供一種透明的數(shù)據(jù)完整性保護(hù)技 術(shù)。將其與iSCSI結(jié)合能夠有效的確保iSCSI網(wǎng)絡(luò)存儲的數(shù)據(jù)完整性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種基于iSCSI的數(shù)據(jù)完整性存儲系統(tǒng),為了保證基于iSCSI網(wǎng)絡(luò)存 儲數(shù)據(jù)完整性、滿足大數(shù)據(jù)容量需求。針對iSCSI網(wǎng)絡(luò)存儲,通過Dm-verity機(jī)制保證了基 于iSCSI的遠(yuǎn)程存儲數(shù)據(jù)的完整性,本發(fā)明包括兩個部分:目標(biāo)端、發(fā)起端。
[0006] 1.基于iSCSI的數(shù)據(jù)完整性存儲系統(tǒng)目標(biāo)端是存儲系統(tǒng),提供大容量的存儲空 間,包括陣列管理模塊、負(fù)載均衡模塊、Ietadm模塊、Ietd模塊、iSCSI_trgt. ko模塊、身份 認(rèn)證模塊、流量隔離模塊、數(shù)據(jù)加密模塊。
[0007] 所述陣列管理模塊,是管理磁盤的管理模塊,管理磁盤設(shè)備的詳細(xì)狀況,報告磁盤 設(shè)備故障,啟用與停用磁盤設(shè)備,監(jiān)控磁盤設(shè)備。該模塊分配磁盤空間的大小,通過兩種方 式來創(chuàng)建磁盤空間,硬件磁盤陣列、軟件磁盤陣列。在創(chuàng)建完成并初始化磁盤陣列后,可以 查看磁盤陣列設(shè)備是由哪些磁盤驅(qū)動器組成。
[0008] 所述負(fù)載均衡模塊,保證磁盤陣列中邏輯磁盤與物理磁盤之間的負(fù)載均衡,控制 系統(tǒng)響應(yīng)時間,保證整體系統(tǒng)的吞吐量。
[0009] 所述Ietadm模塊,是用戶命令接口模塊,用來新建目標(biāo)端,一臺存儲服務(wù)器可以 新建一個或多個目標(biāo)端,在新建多個目標(biāo)端時,target的Iun必需按照0,1,2, 3--的順 序增長。該模塊還用來新建lun、新建用戶以及連接。
[0010] 所述Ietd模塊,是接收用戶命令接口及initiator登錄接口模塊。
[0011] 所述iSCSI_trgt. ko模塊,是內(nèi)核模塊實(shí)現(xiàn)。
[0012] 所述身份認(rèn)證模塊,通過兩種配置方案驗(yàn)證身份。單向的CHAP身份驗(yàn)證,是在目 標(biāo)端上設(shè)置了單向CHAP身份驗(yàn)證,通過一對iSCSI用戶名和密碼的驗(yàn)證。任何發(fā)起端必須 通過這對用戶名和密碼的驗(yàn)證后,才能順利的登陸到存儲設(shè)備上,進(jìn)而對iSCSI磁盤訪問。 雙向CHAP身份驗(yàn)證,采用分離的密碼,目標(biāo)端和發(fā)起端各有一個,彼此都必須通過對方的 密碼驗(yàn)證后,才能建立連接。
[0013] 所述的流量隔離模塊,分離訪問控制列表(Access Control List, ACL)網(wǎng)絡(luò)。將 iSCSI傳輸流量與其它傳統(tǒng)網(wǎng)絡(luò)隔離。為保證安全以及性能兩方面的需求,將隔離分為物理 的和邏輯的。物理的:通過網(wǎng)絡(luò)設(shè)備建立分離的網(wǎng)絡(luò)路徑。邏輯的:通過網(wǎng)絡(luò)層的VLAN和 ACL0
[0014] 所述的數(shù)據(jù)加密模塊,通過IPSec身份驗(yàn)證,通過IPSec在源端進(jìn)行加密,然后傳 送成功之后在接收端進(jìn)行解密來提高iSCSI安全性。
[0015] 2.基于iSCSI的數(shù)據(jù)完整性存儲系統(tǒng)發(fā)起端,通過IP數(shù)據(jù)包封裝SCST命令,來操 作目標(biāo)端上的磁盤空間,主要包括用戶登錄驗(yàn)證模塊、設(shè)備映射模塊、LVM機(jī)制、Dm-verity 機(jī)制。
[0016] 所述用戶登錄驗(yàn)證模塊,校驗(yàn)有效的用戶名和密碼驗(yàn)證。驗(yàn)證成功才能順利的登 陸到目標(biāo)端的存儲設(shè)備上,進(jìn)行對iSCSI映射磁盤的訪問。
[0017] 所述的設(shè)備映射模塊,用來虛擬化存儲設(shè)備。它包括三個關(guān)鍵的對象,Mapped Device、映射表和Target Devicec3Mapped Device對象提供邏輯設(shè)備,通過映射表與Target Device建立映射關(guān)系,從而虛擬存儲設(shè)備。
[0018] 所述的LVM機(jī)制,用來將物理存儲設(shè)備映射成虛擬存儲設(shè)備,然后在虛擬存儲設(shè) 備之上允許生成邏輯存儲卷,在邏輯存儲卷上可以創(chuàng)建掛載文件系統(tǒng)。通過LVM,將多個 iSCSI磁盤整合成一個大的磁盤,滿足了大數(shù)據(jù)容量的需求。
[0019] 所述的Dm-vertiy機(jī)制,提供一種透明的數(shù)據(jù)完整性保護(hù)技術(shù)來保證iSCSI網(wǎng)絡(luò) 磁盤數(shù)據(jù)的完整性。Dm-verity核心是一個叫做dm-bht的模塊,為了能快速地從任意塊中 得到相應(yīng)的哈希值,該模塊把一系列的數(shù)據(jù)塊和哈希值組織成一個簡單的哈希樹。當(dāng)訪問 數(shù)據(jù)時,被訪問的數(shù)據(jù)塊會被驗(yàn)證。驗(yàn)證一個數(shù)據(jù)庫塊的完整性不僅需要通過相應(yīng)哈希值 對塊中數(shù)據(jù)進(jìn)行驗(yàn)證,而且必須從葉子節(jié)點(diǎn)一直驗(yàn)證到樹的根節(jié)點(diǎn)。如果被驗(yàn)證的節(jié)點(diǎn)都 正確,說明數(shù)據(jù)完整,成功讀取,否則數(shù)據(jù)獲取失敗。另一方面,當(dāng)需要驗(yàn)證整個數(shù)據(jù)磁盤的 完整性時,整個哈希樹的所有節(jié)點(diǎn)都會被驗(yàn)證,時間花費(fèi)較長。如果驗(yàn)證通過,說明數(shù)據(jù)完 好,保證了 iSCSI磁盤數(shù)據(jù)的完整性。
【附圖說明】
[0020] 圖1是本發(fā)明的整體架構(gòu)示意圖
[0021] 圖2是創(chuàng)建Dm-verity磁盤流程圖
[0022] 圖3是Dm-vertiy哈希樹結(jié)構(gòu)原理圖
[0023] 圖4是基于iSCSI映射磁盤的數(shù)據(jù)完整性框架圖
[0024] 圖5是基于大數(shù)據(jù)的網(wǎng)絡(luò)存儲數(shù)據(jù)完整性保護(hù)框架圖
[0025] 圖6是基于大數(shù)據(jù)網(wǎng)絡(luò)存儲數(shù)據(jù)完整性保護(hù)的性能測試圖
[0026] 圖7是本發(fā)明的檢測target示意圖
[0027] 圖8是本發(fā)明的創(chuàng)建Dm-verity磁盤示意圖
【具體實(shí)施方式】
[0028] 圖1是對本發(fā)明的整體框架的圖示。在圖1中,initiator通過iSCSI協(xié)議封 裝SCSI命令的數(shù)據(jù),把對target的操作從