一種數據安全存儲的實現方法與流程
2023-09-23 16:05:35
本發明涉及數據保護以及災難恢復技術領域,尤其涉及一種數據安全存儲的實現方法。
背景技術:
在近年來不斷出現的數據丟失事件和頻繁的自然災害背景下,如何構建可靠的數據存儲系統和數據保護體系,提升數據的可用性、完整性和機密性等安全性保障水平,無論是政府、關鍵行業還是中小企業都給予了前所未有的關注,隨著各行業各部門安全意識的逐步提高,他們在存儲安全領域的開始向主動型需求轉變,必將推動我國數據安全和數據存儲行業市場容量的進一步擴大。
常見的存儲安全相關的技術有RAID技術、存儲快照技術、存儲陣列間鏡像技術。
RAID技術通過數據校驗提供容錯功能。RAID容錯是建立在每個磁碟驅動器的硬體容錯功能之上的,所以它提供更高的安全性。在很多RAID模式中都有較為完備的相互校驗/恢復的措施,甚至是直接相互的鏡像備份,從而大大提高了RAID系統的容錯度,提高了系統的穩定冗餘性。
存儲快照有主要有兩種技術,一種是第一次寫時複製(Copy OnFirst Write,COFW),有時簡稱為寫時複製(CopyOn Write,COW)。即在數據第一次寫入到某個存儲位置時,首先將原有的內容讀取出來,寫到另一位置處(為快照保留的存儲空間,此文中我們稱為快照空間),然後再將數據寫入到存儲設備中。而下次針對這一位置的寫操作將不再執行寫時複製操作。另一種技術是I/O重定向(I/O Redirect)。即將讀寫操作重新定向到另一個存儲空間中。在一個快照生成期間,所有的寫操作將被重定向到另一個介質,而讀操作是否需要讀重定向,則需要根據讀取的位置是否有過自上次快照以來的寫重定向,必須對有過寫重定向的位置進行讀重定向,否則不需要進行讀定向。當要創建一個快照時,則將自上次快照以來所有的重定向寫數據所對應在源介質中的數據複製出來生成這個時間點的快照,然後再將這些重定向寫數據寫回到源介質中的相應位置上,從而 完成一個快照生成過程。在存儲快照的實現中通常使用第一種技術。
傳統的備份恢復方案,只有恢復完成之後,用戶才能檢查數據是否是需要的,然而,恢復是一個比較耗時的過程。同時,在恢復的同時,不可查看數據。
存儲陣列間鏡像技術指的是,兩個相同配置的存儲,通過存儲廠商提供的mirror軟體,配置存儲lun之間的數據同步,在生產存儲出現損壞時,鏡像存儲可以接管生產存儲,保證業務連續性。
但以上現有技術存在以下缺點:
1、普通存儲的RAID技術實現數據的冗餘在遇到多塊磁碟同時損壞時,數據就會完全丟失。如常用的RAID5遇到2塊盤同時損壞時,數據就無法重建,造成丟失。
2、帶有快照功能的存儲,存在兩大問題:
大部份具有快照功能的存儲,其快照功能的實現都是基於COW快照技術,COW的優點是不影響讀性能,但會影響寫性能。少量使用ROW快照技術,又會影響讀性能。
通常快照資源區與生產數據都在一個存儲系統上,如果這個存儲系統出現損壞,則上面的數據與快照將一起損壞。
3、兩個存儲陣列進行數據鏡像,數據仍然是孤本。因為數據鏡像,同步複製,兩份數據是一模一樣的,當遇到病毒、軟體錯誤、誤操作等邏輯錯誤時,兩邊數據會同時損壞,造成數據丟失;而且當客戶需要查詢歷史某一時刻的數據時,兩個存儲陣列也滿足不了這一要求;另外,使用兩個存儲陣列也會帶來比較高的成本。
技術實現要素:
本發明解決了一組RAID多個硬碟同時損壞造成的數據丟失問題;快照資源區與源數據區在存儲系統損壞時,一起丟失的問題;存儲陣列間鏡像遇到病毒、軟體錯誤、誤操作等邏輯錯誤時,兩邊數據會同時損壞的問題。
本發明提供一種數據安全存儲的實現方法,包括以下步驟:
A、在數據安全存儲設備端組建兩個RAID組,RAID組1與RAID組 2,RAID組2容量需要大於RAID組1。
B、在存儲設備端上安裝虛擬塊設備驅動和ISCSI或FC target程序,將RAID組1上的數據文件通過target程序映射給生產伺服器。
C、當數據安全存儲設備端上的虛擬塊設備驅動攔截到生產伺服器對磁碟Lun的寫操作時,先寫入在RAID組1上的數據文件,再將寫操作數據映射至RAID組2上的快照資源區。
D、在需要查詢歷史數據或RAID組1遇到多塊磁碟損壞的情況下,可以將快照數據掛載出來用於歷史任意時間點的數據查詢或臨時接管生產存儲。
本發明應用在存儲設備端,存儲設備可以提供ISCSI Lun或FC Lun給生產伺服器,內部數據雙份存儲並且存放在不同的RAID組上(RAID組1與RAID組2),其中一份數據同時使用ROW快照技術保存快照映射數據,不會給生產伺服器讀性能帶來影響。
本發明的優點是實現生產數據雙份冗餘,在RAID組2上的快照數據可以掛載用於歷史數據查詢或臨時接管;
附圖說明
圖1為安全存儲設備內部數據雙份存儲示意圖
圖2為數據安全存儲原理圖
具體實施方式
下面結合附圖對本發明的技術方案進行詳細說明。
圖1為安全存儲設備內部數據雙份存儲示意圖。
如圖1所示,本發明應用在存儲設備端,首先在存儲設備端組建兩個RAID組,RAID組1與RAID組2,RAID組2容量需要大於RAID組1,優選的,通常是1.5倍。
通過在存儲設備端上安裝虛擬塊設備驅動和ISCSI或FC target程序,將RAID組1上的數據文件通過target程序映射給生產伺服器。
這樣的目的是將生產伺服器與存儲設備分離,當生產伺服器損壞時,不影響存儲設備上的數據安全。
圖2為數據安全存儲原理圖,如圖2所示,當數據安全存儲設備端上的虛擬塊設備驅動攔截到生產伺服器對磁碟Lun的寫操作時,先寫入在RAID組1上的數據文件,再將寫操作數據映射至RAID組2上的快照資源區。
RAID組2由數據文件和快照資源區文件組成。當虛擬塊設備驅動攔截到生產伺服器對磁碟Lun的寫操作時,同時將IO數據發送至RAID組2的快照資源區。
優選的,快照資源區大小默認是數據文件大小的一半。快照資源區與生產數據的存儲系統分離,避免生產數據與快照資源區同時丟失。
當RAID組2上的快照資源區容量不足時,可以將最舊的快照映射數據更新至數據文件中,再刪除快照資源區中的最舊的快照映射數據釋放快照資源空間。
優選的,釋放快照資源空間區可以在非工作時間段進行。
優選的,在RAID組2上使用ROW快照技術,ROW快照技術主要影響的是讀性能,而在RAID組2上一般不存在讀操作,所以ROW快照不會給生產伺服器讀性能帶來影響。
在需要查詢歷史數據或RAID組1(假設使用RAID5)遇到2塊或者多塊磁碟同時損壞的情況下,可以將RAID組2的快照數據掛載出來用於歷史數據查詢或臨時接管生產存儲。
例如,在12:00am,1:00pm,2:00pm分別對生產伺服器寫入數據,RAID組1的數據文件便是最近時間點即2:00pm的數據,RAID組2的快照資源區存放的是在12:00am,1:00pm,2:00pm的快照。
設想,如果在3:00pm,RAID組1的多塊硬碟損壞,數據無法恢復,那麼可以將RAID組2的最近時間點即2:00pm點的快照掛載出來用以臨時接管生產存儲。當客戶需要恢復到12:00am或1:00pm的數據時,可以將此時刻的快照數據掛載。
優選的,本發明的恢復方法,無需恢復操作就可通過掛載的方式立即查看和使用任意時間點的數據。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所做的任何修改、等同替換和改進等,均應包含在本 發明的保護範圍之內。