快照是一種基於時間點的資料拷貝技術,它的目的在於能夠記錄出某一個時刻的資料資訊並將其儲存,如果之後發生某些故障需要資料恢複的時候,可以通過快照來將資料恢複到之前時間點的狀態,而該時間點之後的資料都會丟失。備份系統是快照技術的主要應用領域之一,當備份軟體需要備份某些不能停止啟動並執行關鍵業務的時候,利用快照技術可以將某時間點的所有資料資訊儲存並備份,不會影響到業務的正常運行。 快照技術分為兩類:物理拷貝和邏輯拷貝,物理拷貝就是對未經處理資料的完全拷貝;邏輯拷貝就是只針對發生過改變的資料進行拷貝。兩種拷貝技術雖然都能夠將資料恢複到某一個時間點,但是其也各有有缺點:
物理拷貝的優點是管理簡單,不需要監控目標資料的狀態,直接將所有資料拷貝到另外一個地方,而且可以作為資料備份直接儲存起來。它的缺點是需要最大的儲存空間,需要和目標資料一樣大的空間才能將其完全拷貝下來。 邏輯拷貝的優點就是節省空間的,一般來說,經常發生改變的資料只佔所有資料的20%-30%,這樣邏輯備份可以節省出70%左右的儲存空間。但是邏輯備份也有它的缺點,因為它只是儲存了發生改變的資料,所以如果目標資料發生損壞的話,快照也無能為力。當前檔案系統和備份軟體流行的寫入時拷貝技術(copy on write)就是屬於邏輯拷貝。
隨著儲存應用需求的提高,使用者需要線上方式進行資料保護,快照就是線上存放裝置防範資料丟失的有效方法之一,越來越多的裝置都開始支援這項功能。
越來越多的存放裝置支援快照功能,在這些產品的資料中宣傳了各自快照技術的優勢,有的是快照數量多,有的是佔用空間小。那麼,究竟什麼是快照技術?主要有哪些類型?接下來我們深入瞭解一下。
快照的定義與作用
SNIA(儲存網路行業協會)對快照(Snapshot)的定義是:關於指定資料集合的一個完全可用拷貝,該拷貝包括相應資料在某個時間點(拷貝開始的時間點)的映像。快照可以是其所表示的資料的一個副本,也可以是資料的一個複製品。
而從具體的技術細節來講,快照是指向儲存在存放裝置中的資料的引用標記或指標。我們可以這樣理解,快照有點像是詳細的目錄表,但它被電腦作為完整的資料備份來對待。
快照有三種基本形式:基於檔案系統式的、基於子系統式的和基於卷管理器/虛擬化式的,而且這三種形式差別很大。市場上已經出現了能夠自動產生這些快照的工具 + 生產力,比如有代表性的有NetApp的存放裝置基於檔案系統實現,高中低端裝置使用共同的作業系統,都能夠實現快照應用;HP的EVA、HDS通用儲存平台以及EMC的高端陣列則實現了子系統式快照;而Veritas則通過卷管理器實現快照。
快照的作用主要是能夠進行線上資料恢複,當存放裝置發生應用程式中斷或者檔案損壞時可以進行及時資料恢複,將資料恢複成快照產生時間點的狀態。快照的另一個作用是為儲存使用者提供了另外一個資料訪問通道,當原資料進行線上應用處理時,使用者可以訪問快照資料,還可以利用快照進行測試等工作。
因此,所有儲存系統,不論高中低端,只要應用於線上系統,那麼快照就成為一個不可或缺的功能。
兩種類型
目前有兩大類儲存快照,一種叫做即寫即拷(copy-on-write)快照,另一種叫做分割鏡像快照。
即寫即拷快照可以在每次輸入新資料或已有資料被更新時產生對儲存資料改動的快照。這樣做可以在發生硬碟寫錯誤、檔案損壞或程式故障時迅速地恢複資料。但是,如果需要對網路或儲存媒介上的所有資料進行完全的存檔或恢複時,所有以前的快照都必須可供使用。
即寫即拷快照是表現資料外觀特徵的“照片”。這種方式通常也被稱為“中繼資料”拷貝,即所有的資料並沒有被真正拷貝到另一個位置,只是指示資料實際所處位置的指標被拷貝。在使用這項技術的情況下,當已經有了快照時,如果有人試圖改寫原始的LUN上的資料,快照軟體將首先將原始的資料區塊拷貝到一個新位置(專用於複製操作的儲存資源集區),然後再進行寫操作。以後當你引用未經處理資料時,快照軟體將指標映射到新位置,或者當你引用快照時將指標映射到老位置。
分割鏡像快照引用鏡像硬碟組上所有資料。每次應用運行時,都產生整個卷的快照,而不只是新資料或更新的資料。這種使離線訪問資料成為可能,並且簡化了恢複、複製或存檔一塊硬碟上的所有資料的過程。但是,這是個較慢的過程,而且每個快照需要佔用更多的儲存空間。
分割鏡像快照也叫作原樣複製,由於它是某一LUN或檔案系統上的資料的物理拷貝,有的管理員稱之為複製、映像等。原樣複製的過程可以由主機(Windows上的MirrorSet、Veritas的Mirror卷等)或在儲存級上用硬體完成(Clone、BCV、ShadowImage等)。
三種使用方法
具體使用快照時,儲存管理員可以有三種形式,即冷快照拷貝、暖快照拷貝和熱快照拷貝。
冷快照拷貝
進行冷快照拷貝是保證系統可以被完全恢複的最安全的方式。在進行任何大的配置變化或維護過程之前和之後,一般都需要進行冷拷貝,以保證完全的恢複原狀(rollback)。冷拷貝還可以與複製技術相結合複製整個伺服器系統,以實現各種目的,如擴充、製作生產系統的複本供測試/開發之用以及向二層儲存遷移。
暖快照拷貝
暖快照拷貝利用伺服器的掛起功能。當執行掛起行動時,程式計數器被停止,所有的活動記憶體都被儲存在引導硬碟所在的檔案系統中的一個臨時檔案(.vmss檔案)中,並且暫停伺服器應用。在這個時間點上,複製整個伺服器(包括記憶體內容檔案和所有的LUN以及相關的活動檔案系統)的快照拷貝。在這個拷貝中,機器和所有的資料將被凍結在完成掛起操作時的處理點上。
當快照操作完成時,伺服器可以被重新啟動,在掛起行動開始的點上恢複運行。應用程式和伺服器過程將從同一時間點上恢複運行。從表面上看,就好像在快照活動期間按下了一個暫停鍵一樣。對於伺服器的網路客戶機看來,就好像網路服務暫時中斷了一下一樣。對於適度載入的伺服器來說,這段時間通常在30到120秒。
熱快照拷貝
在這種狀態下,發生的所有的寫操作都立即應用在一個虛硬碟上,以保持檔案系統的高度的一致性。伺服器提供讓持續的虛擬硬碟處於熱備份模式的工具,以通過添加REDO記錄檔在硬碟子系統層上複製快照拷貝。
一旦REDO日誌被啟用,複製包含伺服器檔案系統的LUN的快照是安全的。在快照操作完成後,可以發出另一個命令,這個命令將REDOTlog提交給下面的虛擬硬碟檔案。當提交活動完成時,所有的日誌項都將被應用,REDO檔案將被刪除。在執行這個操作過程中,會出現處理速度的略微下降,不過所有的操作將繼續執行。但是,在多數情況下,快照進程幾乎是瞬間完成的,REDO的建立和提交之間的時間非常短。
熱快照操作過程從表面上看基本上察覺不到伺服器速度下降。在最差情況下,它看起來就是網路擁塞或超載的CPU可能造成的一般伺服器速度下降。在最好情況下,不會出現可察覺到的影響。
與鏡像、複製的區別
在與廣大儲存管理員進行交流時,他們問到最多的一個問題是:快照與鏡像以及複製的區別有哪些呢?
記者認為鏡像、快照和複製是三種不同的功能。
鏡像是通過從一個I/O建立兩個I/O來複製資料。磁碟鏡像通過OS或卷管理軟體在主系統上建立。磁碟鏡像是依靠平台和本地串連特性的本地選件。鏡像可用於DAS和SAN並且大多數NAS支援它。儲存轉寄式鏡像磁碟子系統(例如,EMC SRDF, IBM PPRC, Hitachi TrueCopy)主要用於SAN產品。
複製是通過網路傳輸資料對象(檔案、表格等)。傳輸是從系統到系統進行的,而不是在存放裝置之間或子系統之間進行。複製一般也針對具體平台,因此用於Windows 2000複製產品的運行方式與Unix平台存在很大不同。
參考連結:http://wenku.baidu.com/view/cf8a86610b1c59eef8c7b4af.html