隨着企業數據量逐漸增加且數據增長速度不斷加快,縮短備份窗口成為系統管理員重點關注的問題,以在線方式對數據進行保護,提升數據保護的簡易性,
降低數據保護的代價,提高數據保護過程中的應用感知能力,逐步成為客戶的首要需求。快照備份技術逐漸成為解決這一問題的有效方法之一。
一、快照概念介紹
存儲網絡行業協會(SNIA)對快照的定義是:對指定數據集合的一個完全可用拷貝,該拷貝包含源數據在拷貝時間點的靜態影像。
快照可以是數據再現的一個副本或者復制。對於文件系統來說,文件系統快照是文件系統的一個即時拷貝,它包含了文件系統在快照生成時刻所有的信息,本身也是一個完整可用的副本。
二、快照實現方式
快照的一個特性是快,所以不能在獲取的時候才進行文件復制備份,而采用了全拷貝快照和差分快照兩種設計,其中差分快照又分為COW(寫時復制快照)和ROW(寫是重定向快照)兩種。
1.鏡像分離快照(屬於全拷貝快照)
這種快照方式比較簡單,先創建一個原始卷的鏡像卷,每次寫磁盤的時候,都會往原始卷和快照卷同時寫入內容,當啟動快照時,則鏡像卷能快速脫離,生成一個快照卷。
然后重新創建一個原始卷的鏡像卷,等待下次快照。
可以看到這種方案最大的缺點是很費磁盤空間,每個快照都需要占用和原始卷同樣的空間,而且寫數據時同時寫兩份,對寫入性能影響比較大。優點是快照生成和恢復都方便,而且數據隔離很好,不存在快照卷和原始卷的相互影響。
2.COW(寫時復制快照)
寫時復制快照使用預先分配的快照空間進行快照創建,在快照時間點之后,沒有物理數據復制發生,僅僅復制了原始數據物理位置的元數據。因此,快照創建非常快,
可以瞬間完成。然后,快照副本跟蹤原始卷的數據變化(即原始卷寫操作),一旦原始卷數據塊發生首次更新,則先將原始卷數據塊讀出並寫入快照卷,然后用新數據
塊覆蓋原始卷。寫時復制,因此而得名。但是這種方式有一個很明顯的缺點,就是會降低原始卷的寫性能,因此每次寫入,都需要先備份原始數據到快照區。
3、ROW(寫時重定向快照)
快照后的寫操作會進行重定向,所有的寫IO都被重定向到新卷中。所有舊數據均保留在只讀的源卷中。這樣做的好處是每次生成的快照文件都是放在連續的存儲區域,
同時解決了COW寫兩次的性能問題。
磁盤做多個快照后,會產生一個快照鏈,虛擬機卷始終掛載在快照鏈的最末端。例如如果一共保存了10次快照,在快照恢復時,要恢復最新的備份點,則需要10個快照文件
一起來恢復。可以看到ROW的主要缺點是沒有一個完整的快照卷,如果快照層級越多,進行快照恢復時的系統開銷會比較大。
三、快照應用場景
1.使用快照可以在以下場景中迅速恢復數據:
·病毒感染
·人為誤操作
·惡意篡改
·系統宕機造成的數據損壞
·應用程序BUG造成的數據損壞
·存儲系統BUG造成的數據損壞
下面以病毒感染為例介紹了利用快照進行數據備份及恢復的整個過程。
發現病毒感染等問題以后,利用最新的快照對數據進行restore(回滾),大多數情況下,整個恢復過程可以在幾秒內完成。
2.利用快照可減少備份時對業務的影響。
·到達備份時間點后,對應用數據創建本地快照,同時啟動拷貝將快照拷貝至遠端備份存儲。
·拷貝過程中不需要停止業務,應用服務器上的程序運行不受影響。
·拷貝完成后刪除快照,釋放快照占用的資源。
·源數據出現損壞后(包括物理介質損壞),可以通過備份數據進行快速恢復。