張海勇,王白羽,夏冬梅,龔紅燕,張麗
(新疆油田公司,新疆克拉瑪依 834000)
油氣行業中存儲快照保護數據技術研究
張海勇,王白羽,夏冬梅,龔紅燕,張麗
(新疆油田公司,新疆克拉瑪依 834000)
通過對數據快照技術保護方式進行了技術分析比較,結合油氣行業的數據特點,提出了快照技術在油氣行業數據保護中的應用建議。
數據存儲;數據保護;存儲快照
隨著油氣行業的“高密度寬方位地震技術”大規模應用,當前油氣勘探、解釋數據量越來越大,TB級的數據量已經成為常態。目前油氣行業的各企業的信息部門都需要對現有HPC環境進行改進以應對海量數據處理。但是目前業界的的研究一般考慮到大數據量存儲系統的性能和容量,很少對大數據量下的存儲數據保護技術進行更加深入的研究。
眾所周知,油氣勘探在進行數據處理、解釋時涉及到海量的數據。對數據的安全性要求非常高。傳統的數據保護方式如備份技術,不論內采用諸如源端及目的端去重、壓縮、NDMP等手段,但在海量數據規模下,這些技術的缺點是備份、恢復時間長。冷備份需要暫停應用服務,暫停接受用戶數據更新;熱備份技術又不能保證數據完整性。而快照技術的應用能夠大大改善上述的缺點,同時能夠保證數據邏輯的安全性。
本文通過分析對比常用的快照技術,根據油氣行業數據存儲的主要特點,推薦一套快照技術應用于數據保護的方式。
1.1 快照概念及原理介紹
快照技術,按照SNIA的標準定義:關于指定數據集合的一個完全可用拷貝,該拷貝包括相應數據在某個時間點的映像。可以通俗理解為照相機的照片,不過與照片保存的是人物、景色的留底不同,存儲系統中快照保存的是數據的狀態留底。如同照片留住了過去當時的場景一樣,快照把數據在某一時刻的映像也保留了下來。
1.2 快照技術分類
目前業界較常用的快照技術主要有三大類,鏡像分離(split m irror),改變塊(changed block),并發(concurrent),分別對應的快照技術是是鏡像分離(splitmirror)技術,寫時拷貝(copy on write)技術,指針重定向(pointer remapping)技術。
2.1 快照技術比較
油氣勘探行業中的海量數據主要保存于存儲系統中,就是俗稱的磁盤陣列上,目前存儲廠商采用的基于卷的快照技術主要有兩種:寫時拷貝技術COW(Copy-On-Write)和重定向寫快照技術ROW(Redirect-On-Write)。
2.1.1 寫時拷貝快照技術COW
在快照時間點之前,如圖1(a)所示,每個源數據卷都具有一個數據指針表,每條記錄保存著指向相對應的數據塊的指針。當快照點來臨時,如圖1(b)所示,存儲系統的快照功能會為源數據卷的指針表創建一個副本,該副本作為快照卷的數據指針表。當快照時間點結束后,快照卷成為一個能夠被上層應用訪問的邏輯卷。也就是說,快照卷與源數據卷通過各自的數據指針表共享一份物理數據。快照建立之后,如果源數據卷中的數據被更新了,比如圖1(c)中2位置的數據要更新,那么系統會首先將舊數據拷貝到新的物理地址,并修改快照卷中的數據指針,然后再將新數據寫入2的位置。這樣通過快照卷的數據指針表訪問的還是快照點的那個數據,而源數據卷讀的則是新數據。這種快照技術稱為寫時拷貝。

圖1 快照技術原理圖
這種技術最大的缺點是對卷的寫性能有影響。當每次更新數據時都要先復制數據,然后才更新數據。如若寫入頻繁,則需要等待較長的時間。優點是不影響數據讀取性能,這樣想要恢復到快照點是很容易的,而且這種快照方式只需要復制數據指針,復制也只是針對增量數據,因此存儲空間利用率相當高。
2.1.2 重定向快照技術ROW
重定向快照技術的快照創建與寫時拷貝技術相同。不同之處是如果要將2修改為2′,那么系統不會像寫時拷貝技術那樣復制舊數據,而是直接將新數據寫入新物理塊中,然后將源數據的數據指針指向這個新的塊的地址,如圖1(d)所示。這個動作非常塊,快照卷也不用做任何改變。
ROW技術在寫數據時性能不會有損耗,只是修改指針,實現效率很高。但是當多次寫入新數據后,源數據卷的數據會分布在存儲系統各個地方,相對會影響讀取性能,因此相比較COW技術,這時的ROW的讀取性能會降低較多。
2.2 應用于油氣行業業務中的大數據存儲快照選型分析
大數據量存儲在構建時要考慮到性能、容量、安全性等因素,常采用多節點橫向擴展集群式存儲架構,這種架構在底層數據存儲分布上與一般傳統規模的存儲存在明顯的區別。相應的快照技術也有著不同的應用業務場景以及不同的技術構成,而同樣的快照技術在使用管理上也有著不盡相同的方式。
油氣行業中業務的數據類型主要分為兩類:
(1)大文件類型為主的應用:原始采集數據文件、解釋過程文件、結果文件等等以文件類型為主的數據。在油氣行業中這部分數據的數據量均非常龐大。
針對大文件的讀寫操作在大數據存儲這種集群架構下,都是由多個存儲控制器共同完成,數據實際上是被打散存放在不同的硬盤上的,如果是大數據的寫入,可以分散到很多個條帶里面,寫性能影響較小。如果使用ROW技術,基本不影響寫性能,由于數據本身是打散存放的,也不會對讀有太大影響,所以建議針對此類的大文件讀寫應用,最好采用ROW技術實施數據保護。
(2)小文件類型數據為主的應用:油氣行業中的此類數據常見于各油井工況分析、功圖計產系統、單井生命周期等信息系統數據庫中。另一種情況是業務系統相關聯的某些油井的示功圖,此類數據相較于上面所述文件類型數據的數據量小很多,通常作為外部文件保存,但由于時間推移,示功圖張數增加,其數據占用存儲空間也會增加。
通常對大量的小文件應用不會有大量的隨機數據更新操作,也并沒有高并發性操作。由于底層存儲采用了集群式的存儲架構,高級別的數據分布和保護方式使得其底層的條帶大小往往超過這些單一文件大小。因此,如果比較小的I/O,如每次只寫幾十kB,那么這些數據在使用ROW進行快照重寫時,是會寫到新的地方,造成數據分散而影響讀的性能,ROW的優勢就沒有了。因此在集群存儲架構下,處理海量小文件的快照應用采用COW這種技術。
快照技術已經廣泛應用于各種應用場景,建議在規劃、設計、部署海量數據存儲時,存儲系統盡可能既具備ROW技術,也具備COW技術,并且最好能夠做到針對不同的業務場景,底層系統能夠自動識別,進而根據不同場景選擇不同快照技術。
10.3969/j.issn.1673-0194.2015.19.039
F272.7;TE9
A
1673-0194(2015)19-0070-02
2015-05-29