VSS (Volume Shadow copy Service, 卷映射拷貝服務),最初是在Windows Server 2003 SP1中引入的存儲技術。它通過在卷管理模塊上加入快照功能,在此基礎上就可以創建基于時間點(Point-In-Time)的映像(Image),從而實現數據的快速備份和恢復,用戶也無需害怕因無意刪除數據而造成的困擾,這就是VSS的關鍵所在。由于VSS所表現的優良特性,因此在Microsfot最新的Vista操作系統中,也加入了該功能。
一、 VSS概述
VSS能夠讓存儲基礎設備(比如磁盤、陣列)創建高保真的時間點映像,就是映射拷貝(Shadow Copy)。它可以在多卷、或者單個卷上創建映射拷貝,同時不會影響到系統性能。VSS通過協調業務應用軟件、備份程序,以及存儲硬件,從而達到創建高保真映射拷貝的能力。它可以應用到以下領域:
A、 快速數據備份和恢復;
B、 針對制定文件的恢復;
C、 磁帶備份、測試,以及數據挖掘方面;
由于Microsoft在OS中集成了VSS技術,它將各個處理功能模塊化,并針對存儲軟硬件廠商提供相應的開發接口;開發商只需要關注自己的模塊,根據需求設計相關的應用,從而減少了整體設計的難度。就筆者了解,不少軟硬件存儲公司就采用VSS技術來設計NAS,并以此為基礎構建數據保護服務器。
二、 VSS技術原理
VSS整體框架包含了VSS核心模塊、請求者(Requestor)、寫入者(Writer),以及提供者(Provider)。各個模塊之間的關系如下圖所示:
圖-1 VSS原理圖
其中,各個模塊的具體功能如下:
A) 請求者(Requestor),其主要任務是初始化映射拷貝的創建;由于需要不一樣,解決的問題各不相同不同,因此可能設計不同請求者應用。例如,備份應用處理VSS的備份功能,管理應用處理映射拷貝的創建及使用(像WS2003和Vista本身提供的VSS管理軟件就是此類),同時可以設計其他功能應用,來處理專門的業務。對于請求者的應用,包括Windows NT備份模塊、備份軟件提供商設計的備份應用,以及存儲軟硬件提供商設計的管理應用。
B) 寫入者(Writer),其主要任務是保證數據的一致性;因為,如果在創建映射拷貝的過程中,應用軟件繼續往磁盤寫入數據,那么將會出現數據非一致性問題,從而影響該時間點映像的完整性。通過在應用寫入者模塊進行控制處理,來保證數據的一致性,同時也可以達到創建映射拷貝的高效性。通常,寫入者可能是Windows OS里面的各種服務模塊,像COM+、DHCP服務、Active Directory服務等,除此之外,數據庫也是常見的寫入者應用。
C) 提供者(Provider),其主要任務是創建映射拷貝;提供者是創建時間點影響的接口,它可以是基于存儲陣列(硬件模式),或者操作系統(軟件模式)。VSS有不同的提供者,其層次關系為:最底層是硬件提供者,中間是軟件提供者,最上面是系統軟件提供者。其中前面兩個提供者,是為第三方硬件或者軟件廠商提供的。
D) 卷映射拷貝服務(VSS)核心模塊,其主要任務是協調各個模塊的協作運行,并提供創建卷映射拷貝的方法;VSS提供了兩種創建映射拷貝的方法:一種是完全拷貝(Clone/Full Copy/Split Mirror),它會創建當前原始數據(Original Data)的全部拷貝;而另外一種就是寫時才拷貝(Copy on Write/Differential Copy),它只創建將要被更新的原始數據的拷貝。因此寫拷貝創建映射拷貝速度快,但是恢復數據時需要使用原始數據。
評論