您好,登錄后才能下訂單哦!
架構師技術聯盟
我們跟數據打交道的人都應該知道,數據在存儲系統傳輸中,經過了多個部件、多種傳輸通道和復雜的軟件處理過程,其中任意一個環節發生錯誤都可能會導致數據錯誤。但是這種錯誤一般無法被立即檢測出來,而是后續通過應用在訪問數據過程中,才發現數據已經出錯,這種數據很難在數據發生錯誤那一刻被檢查出來的錯誤,我們稱為靜默數據破壞,即Silent Data Corruption。
靜默數據破壞產生原因
數據產生靜默數據破壞的原因有很多種,但大致可以歸結為以下幾類。
硬件錯誤:內存、CPU、硬盤、數據傳輸鏈路等
Firmware錯誤:HBA、硬盤等
軟件bug:系統軟件、操作系統、應用程序等
其他因素:如噪聲、電磁等原因。
數據一致性標準和組織
在2007年,由Emulex、Oracle、LSI、希捷成立了DII (Data Integrity Initiative)。由SNIA建立了DITWG(SNIA Data Integrity Working Group)。他們主要關注兩個技術,T10 Protection Information—DIF和Data Integrity Extensions—DIX。
T10標準是通過對每個數據塊加入保護信息(PI,Protection Information),曾被稱作數據完整性域(DIF,Data Integrity Field)的方法來保護數據完整性。在每個邏輯扇區擴充了8字節的保護信息用來保證數據一致性,8字節包括2字節的Logical Block Guard,2字節的Logical Block Application Tag和4字節的Logical Block Reference Tag。
T10 PI只包含了從主機HBA卡通過存儲陣列到硬盤的數據保護,DIX為了延伸DIF的保護范圍。將數據完整性保護擴充到了應用層到HBA。DIX使用和T10 PI一樣的8字節數據完整性信息作為數據校驗字段。不同的是,DIX中使用了IP Checksum作為Logical Block Guard,降低主機CPU的計算開銷。
DIX+DIF可以實現從應用到硬盤的端到端數據保護。DIX保證應用、HBA卡的數據完整性,T10 PI(DIF)保證HBA 、陣列和硬盤的數據完整性。
DIX和DIF數據讀寫流程
數據完整性額外添加的8字節校驗數據分若干段,在存儲側叫DIF,后改名為T10 PI;在主機側叫DIX。寫數據時,主機HBA總線適配器、陣列目標器芯片或者其它組件根據用戶數據生成 8字節PI,數據傳輸過程中會經過檢查點,校驗數據和PI是否匹配,如果發現錯誤,向上返回錯誤,如果沒有錯誤,則繼續向下傳輸,最終寫入硬盤。
寫數據流程:當數據寫到主機內存的時候,Oracle ASM library會對每512字節數據增加8字節DIX校驗,8字節校驗會隨IO請求一起,穿過OS,到達HBA卡驅動;HBA卡進行DIX校驗檢查后刪除DIX校驗,并生成8字節PI校驗和數據一起發送給陣列,陣列校驗數據完整性,并將數據發送到硬盤。
讀數據流程:從硬盤讀出數據和T10 PI并校驗完整性。若發現錯誤,則通過RAID重建修復數據,如果沒有錯誤則繼續向上傳輸。HBA進行T10 PI校驗后刪除T10 PI,并生成DIX保護信息返回主機。DIX保護信息會隨IO請求一起,穿過OS,返回應用層。ASM Library對數據和DIX保護信息進行校驗。
支持DIX的必要條件
要使用數一致性特性,首先陣列需要支持標準的T10 PI,及時不支持DIX,也可以在存儲上支持T10 PI; 其次需要特定配置的數據庫、操作系統和HBA等組件。
數據庫:Oracle 11g級以上。
OS:Oracle Linux 5 or 6 running the UEK2-200 kernel。
HBA:Emulex、Qlogic特定型號的FC HBA卡
支持DIX的存儲廠商
由于DIX和P10在企業Oracle數據庫應用比較廣泛,且是存儲一大亮點,所以主流的存儲廠商都支持該特性,如EMC VNX系列支持自定義PI、VMAX支持標準的T10 PI,且支持DIX;HDS HUS系列支持自定義PI、HDS VSP支持PI;IBM DS8000支持標準的T10 PI,DS5000某些特定型號支持PI;HP P10000支持標準的T10 PI,華為 OceanStor 18000和V3全系列。
文件系統是否要DIF
需要提及一點的是,T10 PI需要磁盤提供520扇區來支持(512用來存放數據,8字節用來存儲T10 PI校驗數據),希捷支持這種磁盤。一般文件系統不需要DIF,原因是文件系統通過元數據管理數據,會造成IO的頁面數據布局不斷變化,且數據庫和網卡廠商相應力度不足,并未形成類似規范和標準。搜索“ICT_Architect”加入微信公眾號“架構師技術聯盟”獲取更多精彩內容。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。