基本形式
SNIA(存儲網路行業協會)對快照(
Snapshot)的定義是:關於指定數據集合的一個完全可用拷貝,該拷貝包括相應數據在某個時間點(拷貝開始的時間點)的映像。快照可以是其所表示的數據的一個副本,也可以是數據的一個複製品。
而從具體的技術細節來講,快照是指向保存在存儲設備中的數據的引用標記或
指針。我們可以這樣理解,快照有點像是詳細的目錄表,但它被計算機作為完整的數據備份來對待。
快照有三種基本形式:基於檔案系統式的、基於子系統式的和基於
卷管理器/虛擬化式的,而且這三種形式差別很大。市場上已經出現了能夠自動生成這些快照的實用工具,比如有代表性的有
NetApp的存儲設備基於檔案系統實現,高中低端設備使用共同的作業系統,都能夠實現快照套用;HP的
EVA、HDS通用存儲平台以及
EMC的高端陣列則實現了子系統式快照;而
Veritas則通過卷管理器實現快照。
快照作用
快照技術的作用:主要是能夠進行線上
數據恢復,當存儲設備發生套用故障或者檔案損壞時可以進行及時數據恢復,將數據恢復成快照產生時間點的狀態。快照的另一個作用是為存儲用戶提供了另外一個數據訪問通道,當原數據進行線上套用處理時,用戶可以訪問快照數據,還可以利用快照進行測試等工作。
因此,所有
存儲系統,不論高中低端,只要套用於線上系統,那么快照就成為一個不可或缺的功能。
技術類型
有兩大類
存儲快照,一種叫做即寫即拷(copy-on-write)快照,另一種叫做分割鏡像快照。
即寫即拷快照可以在每次輸入新數據或已有數據被更新時生成對存儲數據改動的快照。這樣做可以在發生硬碟寫錯誤、檔案損壞或程式故障時迅速地恢複數據。但是,如果需要對網路或存儲媒介上的所有數據進行完全的存檔或恢復時,所有以前的快照都必須可供使用。
即寫即拷快照是表現數據外觀特徵的“照片”。這種方式通常也被稱為“
元數據”拷貝,即所有的數據並沒有被真正拷貝到另一個位置,只是指示數據實際所處位置的指針被拷貝。在使用這項技術的情況下,當已經有了快照時,如果有人試圖改寫原始的LUN上的數據,快照軟體將首先將原始的
數據塊拷貝到一個新位置(專用於複製操作的存儲
資源池),然後再進行寫操作。以後當你引用
原始數據時,快照軟體將指針映射到新位置,或者當你引用快照時將指針映射到老位置。
分割鏡像快照引用鏡像硬碟組上所有數據。每次套用運行時,都生成整個卷的快照,而不只是新數據或更新的數據。這種使離線訪問數據成為可能,並且簡化了恢復、複製或存檔一塊硬碟上的所有數據的過程。但是,這是個較慢的過程,而且每個快照需要占用更多的存儲空間。
分割鏡像快照也叫作原樣複製,由於它是某一LUN或檔案系統上的數據的物理拷貝,有的管理員稱之為克隆、映像等。原樣複製的過程可以由
主機(Windows上的MirrorSet、
Veritas的Mirror卷等)或在存儲級上用硬體完成(
Clone、BCV、ShadowImage等)。
遠程
鏡像技術往往同快照技術結合起來實現遠程備份,即通過鏡像把數據備份到遠程
存儲系統中,再用快照技術把遠程存儲系統中的信息備份到遠程的
磁帶庫、
光碟庫中。
快照技術分為兩類,一類指針型,是通過軟體對要備份的磁碟子系統的數據快速掃描,建立一個要備份數據的快照
邏輯單元號LUN和快照cache,在快速掃描時,把備份過程中即將要修改的
數據塊同時快速拷貝到快照cache中。快照LUN是一組指針,它指向快照cache和磁碟子系統中不變的數據塊(在備份過程中)。在正常業務進行的同時,利用快照LUN實現對原數據的一個完全的備份。
另一類是空間型,也駐留在
磁碟陣列系統中。它使
主機系統和磁碟陣列設備管理者能夠在後台狀態下,為主機處理的數據在磁碟陣列內部實時創建可獨立定址多copy卷。這些copy卷是套用數據存放的現用生產卷的鏡象,可同時並行運行任務。一旦生產數據的copy卷建立後,通過命令可以與其生產卷分割開,套用
系統資料庫可通過生產卷繼續做在線上套用,與此同時,備份系統可利用copy卷進行備份、報表生成和套用開發測試等工作。大大縮短了套用系統因備份等原因OFFLINE脫機的時間,工作示意如圖所示。
無論是生產、測試、災難恢復,還是數據倉庫套用,該系統件套件都能提供業務數據影像拷貝的生成和管理維護,使客戶以不同的方式更好、更充分的利用業務數據,獲得更大的增值效益。基於數據複製、保護和信息共享而設計的複製管理系統件,提供了非常強大的功能:既可以在一個
數據中心內部或者不同數據中心之間實現數據複製,也可以在不同部門之間實現信息共享,快速、有效地適應業務的靈活擴展,在競爭中獲得領先優勢。它可使用戶在正常業務不受影響的情況下,實時提取當前線上業務數據。其“
備份視窗”接近於零,可大大增加系統業務的連續性,為實現系統真正的7×24運轉提供了保證。
使用方法
具體使用快照時,存儲管理員可以有三種形式,即冷快照拷貝、暖快照拷貝和熱快照拷貝。
冷快照拷貝:進行冷快照拷貝是保證系統可以被完全恢復的最安全的方式。在進行任何大的配置變化或維護過程之前和之後,一般都需要進行冷拷貝,以保證完全的恢復原狀(rollback)。冷拷貝還可以與
克隆技術相結合複製整個
伺服器系統,以實現各種目的,如擴展、製作生產系統的複本供測試/開發之用以及向二層存儲遷移。
暖快照拷貝:暖快照拷貝利用伺服器的掛起功能。當執行掛起行動時,
程式計數器被停止,所有的活動記憶體都被保存在引導硬碟所在的檔案系統中的一個臨時檔案(.vmss檔案)中,並且暫停伺服器套用。在這個時間點上,複製整個伺服器(包括記憶體內容檔案和所有的LUN以及相關的活動檔案系統)的快照拷貝。在這個拷貝中,機器和所有的數據將被凍結在完成掛起操作時的處理點上。
當快照操作完成時,伺服器可以被重新啟動,在掛起行動開始的點上恢復運行。應用程式和伺服器過程將從同一時間點上恢復運行。從表面上看,就好像在快照活動期間按下了一個暫停鍵一樣。對於伺服器的網路客戶機看來,就好像網路服務暫時中斷了一下一樣。對於適度載入的伺服器來說,這段時間通常在30到120秒。
熱快照拷貝:在這種狀態下,發生的所有的寫操作都立即套用在一個虛硬碟上,以保持檔案系統的高度的一致性。伺服器提供讓持續的
虛擬硬碟處於
熱備份模式的工具,以通過添加REDO日誌檔案在硬碟子系統層上複製快照拷貝。
一旦REDO日誌被激活,複製包含伺服器檔案系統的LUN的快照是安全的。在快照操作完成後,可以發出另一個命令,這個命令將REDO日誌處理提交給下面的虛擬硬碟檔案。當提交活動完成時,所有的日誌項都將被套用,REDO檔案將被刪除。在執行這個操作過程中,會出現處理速度的略微下降,不過所有的操作將繼續執行。但是,在多數情況下,快照進程幾乎是瞬間完成的,REDO的創建和提交之間的時間非常短。
熱快照操作過程從表面上看基本上察覺不到伺服器速度下降。在最差情況下,它看起來就是
網路擁塞或超載的CPU可能造成的一般伺服器速度下降。在最好情況下,不會出現可察覺到的影響。
注意事項
在你考慮快照技術的時候,你可以向你的廠商詢問下面這幾個問題:
1. 你使用的是什麼技術?寫入複製、寫入重定向、黑魔法?
2. 如果一個卷有5個快照,我的性能會受到什麼影響?如果有20個呢?
3. 我是否需要提前將一些空間設定為快照專用?
4. 第一個快照需要多少空間?
5. 你的快照技術的塊粒度是多少?
最大的需要考慮的差異點就是底層技術。當一個應用程式使用最普通的快照技術,即寫入複製,向磁碟寫入數據的時候,快照提供商的產品將把正在被覆蓋寫入的塊的內容複製到快照檔案中的一個新地方。寫入複製要求針對當前塊內容的一個寫入-到-讀取執行3個I/O(輸入/輸出),寫入新數據和將舊數據寫入快照。至於採用寫入重定向技術的產品,比如NetApp的任意位置寫入檔案布局(WAFL)和ZFS,它們是將新數據寫入到磁碟上的自由空間,並更新檔案系統或卷、元數據,使其包含當前數據集中的新塊和快照中的舊塊。
區別
鏡像、快照和複製是三種不同的功能
鏡像是通過從一個I/O創建兩個I/O來複製數據。
磁碟鏡像通過OS或卷管理軟體在主系統上創建。磁碟鏡像是依靠平台和
本地連線特性的本地選件。鏡像可用於DAS和SAN並且大多數
NAS支持它。
存儲轉發式鏡像磁碟子系統(例如,EMC
SRDF, IBM PPRC, Hitachi TrueCopy)主要用於SAN產品。
複製是通過網路傳輸
數據對象(檔案、表格等)。傳輸是從系統到系統進行的,而不是在存儲設備之間或子系統之間進行。複製一般也針對具體平台,因此用於Windows 2000複製產品的運行方式與Unix平台存在很大不同。