通常資料塊快照有6中型別的快照技術:
1、copy-on-write 複製寫
2、redirect-on-write 重定向寫
3、clone or split mirror 轉殖或映象
4、copy-on-write 這裡寫**片with background copy後台拷貝的複製寫
5、incremental 增量快照
6、continuous data protection 持續資料保護
cow快照需要消耗一些儲存空間–建立快照卷。當我們為乙個資料卷建立乙個快照之後,這些預留的空間用來存放被變化資料更新的舊資料。cow快照在初始化的過程中僅僅建立用來描述源資料塊位置的指標資訊(元資料),而不是完整的將源資料塊拷貝過來。因此初始化的過程幾乎可以在瞬間完成,對系統的影響也很小。
cow快照會跟蹤資料卷的寫操作和資料塊變化。當某個資料塊發生改變時,在將舊的資料覆蓋之前,首先將該塊的舊資料複製到預留的快照卷,該步驟僅在資料卷相應資料塊位置發生第一次寫操作請求時進行。這個處理過程確保快照出來的資料與發起快照的那個精確時間點保持完全一致。這個過程也描述了「copy on write」這個名字的含義。
如果我們需要訪問某個時間點的快照資料,對沒有改變過的塊直接從資料卷讀取;對已經改變並被複製的塊則從快照空間讀取。從快照被建立那一刻開始,每個快照都會跟蹤記錄描述塊改變的元資料資訊。
cow快照的主要優勢在於空間的高效利用,因為快照卷只需要保留發生過變化的資料塊,與資料卷相比要小得多。但是我們也知道cow快照有個缺點,它會引起資料卷效能的下降,這是因為建立快照之後,對資料卷的寫操作會增加乙個等待的過程 –即舊資料塊複製到快照卷的過程。另外乙個關鍵問題是每個快照卷必須依賴乙個完整的資料卷
「row重定向寫」與「cow複製寫」是相對的概念,它可以避免兩次寫操作引起的效能損失。row同cow一樣在空間利用方面效率非常高。那是什麼讓row快照避免了寫效能的損耗?其中的原因是row把對資料卷的寫請求重定向給了快照預留的儲存空間,而寫操作的重定向設計則把需要兩次寫才能完成的操作減少為一次寫。我們知道cow的兩次寫包括:1、將舊資料寫入快照卷;2、在資料卷寫入新資料。而row只有寫入新資料一步。
使用row快照,資料卷存放的是上乙個快照時間點的舊資料,新資料最終存放在預留的快照空間。這裡也有乙個複雜的問題,就是快照的刪除。被刪除的快照上的資料必須被複製到原始資料卷,並且做一致性回退。建立的快照越多,維護快照的複雜度也會以指數級別上公升。這些複雜性包括對原始資料的訪問、快照資料和原始資料卷的跟蹤、以及快照刪除後的資料調整。另乙個直接引發的嚴重問題是,原始資料集中會產生大量的碎片
clone(或split-mirror)快照所建立的是資料的完整副本。clone(或split-mirror)快照的物件可以是乙個儲存卷、乙個檔案系統或者是乙個lun(logical unit number 邏輯單元號)。clone快照的優點是它們具有高可用性;缺點是所有的資料都要完整的複製乙份,複製的過程也不可能在瞬間完成。我們可以分割一對保持同步狀態的映象捲來啟用clone快照,分割的過程瞬間即可完成。然而,當映象被分割成clone快照之後,資料卷也就失去了他的同步映象。
使用clone快照需要面對的乙個非常嚴重的問題是每個快照都需要和資料卷一樣大的儲存空間。尤其是當我們在任何時刻都需要保持乙份以上clone卷的情況,這個成本會非常高。另乙個缺點是影響效能,因為在映象卷之間保持寫同步需要一定的系統開銷
copy-on-write with background copy快照有兩個生成步驟:首先建立乙個瞬時即可生成的cow快照;然後利用後台程序將資料卷的資料複製到快照空間,最後生成乙份資料卷的轉殖或映象
建立這種快照的目的是發揮cow快照的優勢,同時盡量遮蔽它的不足。因此,這種快照常常被形容為cow和clone快照的混合體
增量快照的特點是可以跟蹤資料卷和快照卷的變化。當乙個新的增量快照生成之後,舊的快照資料將被重新整理。第乙個快照和隨後建立的每乙個增量快照資料上都有時間戳標記,利用時間戳我們能夠將快照資料回滾到任意的乙個時間點。增量快照技術能夠加快後續快照的生成速度,而且僅僅在名義上多消耗了一點空間而已。由此,我們可以提高建立快照的頻率,也能讓快照保留得更久一點。
增量快照的不足之處是它需要依靠上面所提到的其他基礎技術來建立第乙個快照 (cow、row、clone/split mirror、copy-on-write with background copy) 。如果用clone方式,那麼第乙個快照需要較長的初始化時間;如果用cow方式,資料卷的效能會降低
cdp的出現是為了實現零資料丟失的rpo指標,以及瞬時資料恢復的rto指標。它本身與同步資料映象很類似,不同之處在於cdp還可以對軟性災難進行恢復。包括人為誤操作、惡意軟體攻擊、意外刪除、資料損壞等情況。
持續資料保護頗像頻率很高的增量快照。它會捕獲並複製任何時刻發生的資料變化,並且給這些資料塊打上時間戳。cdp本質上相當於每個時刻都建立乙份增量快照,提供細粒度的精確資料恢復。有些cdp產品同時提供基於時間和基於事件(例如應用程式公升級事件)兩種粒度的恢復方式。還有乙個理解cdp概念的好方法就是將它看成乙個快照的journal日誌。
對於郵件系統、資料庫和基於資料庫的應用來說,cdp是乙個極好的保護方案,能將資料回滾到任意的歷史時間點,恢復過程也簡便、迅速。最有代表性的cdp產品是飛康公司的ipstor,它是乙個整合了cdp功能的儲存系統兼儲存虛擬化裝置。
隨著越來越多的資料需要保護,備份視窗也變得越來越緊張,因此需要快照技術來幫助我們解決備份問題。在現實的應用環境中,快照利用的是否恰當對資料保護的等級和恢復的速度有著很大的影響。儘管各型別快照之間存在的技術差異不太容易理解,但無論如何,快照技術都將在資料保護領域和日常儲存管理中扮演重要的角色
如果用快照來處理結構化資料,可能會存在一些問題。結構化資料涉及到資料庫,以及資料庫類應用(例如郵件系統、erp或crm等等)。許多產品中的快照並不能與這些應用程式整合或被直接呼叫。有一種可能的情況是,在我們建立快照的瞬間,資料庫恰好不在靜止狀態(快取正在重新整理、寫操作事務尚未完成、索引和元資料正在更新等等),此刻生成的快照資料是不一致的,很有可能無法正常使用。
在微軟的windows server平台上,這個問題要簡單得多,利用windows volume shadow copy services (vss)和它的api,資料庫應用程式可以整合並呼叫快照工具。vss是專門為結構化資料應用設計的服務框架,可以驅動資料庫等應用進入資料一致性的靜止狀態,在快照開始初始化之前,完成重新整理快取、結束寫操作以及系統狀態的更新。
遺憾的是,目前在linux和unix作業系統平台上還沒有類似vss的服務或api。vmware公司的vcenter storage api可以說是乙個部分解決方案。快照的發起者可以通過vcenter storage api給vcenter發出乙個指令,讓虛擬機器進入靜止狀態,然後再執行快照。但這個時候,快照由於沒有通過應用程式感知,也許會存在不一致的問題。
這裡還有乙個好辦法,可以不通過windows vss,獲得資料庫的一致性快照。這個辦法需要備份軟體的配合。將快照的api同備份軟體整合,就可以從備份伺服器端驅動備份軟體的資料庫**agent。agent備份**程式可以驅動資料庫進入靜止狀態,然後反向讓備份伺服器通知快照工具開始執行建立快照的操作。這也是乙個比較有效的辦法
具體使用快照時,儲存管理員可以有三種形式,即冷快照拷貝、暖快照拷貝和熱快照拷貝。
冷快照拷貝:進行冷快照拷貝是保證系統可以被完全恢復的最安全的方式。在進行任何大的配置變化或維護過程之前和之後,一般都需要進行冷拷貝,以保證完全的恢復原狀(rollback)。冷拷貝還可以與轉殖技術相結合複製整個伺服器系統,以實現各種目的,如擴充套件、製作生產系統的複本供測試/開發之用以及向二層儲存遷移。
暖快照拷貝:暖快照拷貝利用伺服器的掛起功能。當執行掛起行動時,程式計數器被停止,所有的活動記憶體都被儲存在引導硬碟所在的檔案系統中的乙個臨時檔案(.vmss檔案)中,並且暫停伺服器應用。在這個時間點上,複製整個伺服器(包括記憶體內容檔案和所有的lun以及相關的活動檔案系統)的快照拷貝。在這個拷貝中,機器和所有的資料將被凍結在完成掛起操作時的處理點上。
當快照操作完成時,伺服器可以被重新啟動,在掛起行動開始的點上恢復執行。應用程式和伺服器過程將從同一時間點上恢復執行。從表面上看,就好像在快照活動期間按下了乙個暫停鍵一樣。對於伺服器的網路客戶機看來,就好像網路服務暫時中斷了一下一樣。對於適度載入的伺服器來說,這段時間通常在30到120秒。
熱快照拷貝:在這種狀態下,發生的所有的寫操作都立即應用在乙個虛擬硬碟上,系統的檔案以保持高度的一致性。伺服器提供讓持續的虛擬硬碟處於熱備份模式的工具,以通過新增redo日誌檔案在硬碟子系統層上覆制快照拷貝。
一旦redo日誌被啟用,複製包含伺服器檔案系統的lun的快照是安全的。在快照操作完成後,可以發出另乙個命令,這個命令將redo日誌處理提交給下面的虛擬硬碟檔案。當提交活動完成時,所有的日誌項都將被應用,redo檔案將被刪除。在執行這個操作過程中,會出現處理速度的略微下降,不過所有的操作將繼續執行。但是,在多數情況下,快照程序幾乎是瞬間完成的,redo的建立和提交之間的時間非常短。熱快照操作過程從表面上看基本上察覺不到伺服器速度下降。在最差情況下,它看起來就是網路擁塞或超載的cpu可能造成的一般伺服器速度下降。在最好情況下,不會出現可察覺到的影響
映象、快照和複製是三種不同的功能
映象是通過從乙個i/o建立兩個i/o來複製資料。磁碟映象通過os或捲管理軟體在主系統上建立。磁碟映象是依靠平台和本地連線特性的本地選件。映象可用於das和san並且大多數nas支援它。儲存**式映象磁碟子系統(例如,emc srdf, ibm pprc, hitachi truecopy)主要用於san產品。 複製是通過網路傳輸資料物件(檔案、**等)。傳輸是從系統到系統進行的,而不是在儲存裝置之間或子系統之間進行。複製一般也針對具體平台,因此用於windows 2000複製產品的執行方式與unix平台存在很大不同
資料快照技術
和copy on write比較 共同點 不管是哪個一種快照方式,只要上層向乙個在快照之後從來沒有被更新過的扇區寫 io,這個 io塊就要占用新卷上的 乙個塊 因為要保留原塊的內容,不能被覆蓋 如果上層將原卷上的所有扇區都更新了,那麼新卷的容量就需要和原卷的 資料量同樣大才可以。但是通常應用不會寫覆...
快照技術原理
五 快照與映象 複製的區別 映象 快照和複製是三種不同的功能 映象是通過從乙個i o建立兩個i o來複製資料。磁碟映象通過os或捲管理軟體在主系統上建立。磁碟映象是依靠平台和本地連線特性的本地選件。映象可用於das和san並且大多數nas支援它。儲存 式映象磁碟子系統 例如,emc srdf,ibm...
VMware 快照筆記
當我們在虛擬機器上做實驗或測試時 難免碰到一些不熟悉的地方 此時做個快照 備份一下當前的系統狀態 一旦操作失誤 可以很快還原到出錯前的狀態 完成實驗 最終避免一步的失誤導致重新開始整個實驗或測試的後果 當然 快照的功能遠不止這個 定義 快照的英文就是 snapshot 是對某乙個特定檔案系統在某乙個...