提供者 管理執行中的磁碟區,並視需要建立它們的陰影複本。
為了回應要求者的要求,提供者會產生 COM 事件,以向即將推出的陰影複製的應用程式發出訊號,然後建立並維護該複本,直到不再需要它為止。
當陰影複製存在時,提供者會建立一個環境,其中實際上有兩個獨立復本的任何磁碟區已複製陰影:一個是正常使用並更新的執行中磁碟,另一個是磁碟固定且穩定的備份復本。
當預設提供者作為 Windows 的一部分提供時,其他廠商可以自由地提供自己的實作,這些實作已針對自己的存儲設備硬體和軟體供應專案進行優化。
從使用者或備份/還原應用程式開發人員的觀點來看,所有提供者都會有相同的介面(請參閱 選取提供者)。
所有提供者都必須能夠執行下列動作:
- 攔截文件系統與基礎大量儲存系統之間的 I/O 要求。
- 擷取和擷取陰影複製時磁碟區的狀態,並維護磁碟上檔案的「時間點」檢視,且其狀態中沒有反映部分 I/O 作業。
- 使用此「時間點」檢視來公開虛擬磁碟區,其中包含陰影複製數據的虛擬磁碟區(幾乎為已啟用 VSS 的應用程式)。
根據此作業的完成方式,提供者可以是三種類型之一:
系統提供者
一個陰影複製提供者,系統提供者,會作為 Windows作系統安裝的預設部分提供。 目前,系統提供者是軟體提供者的特定實例。 不過,這可能會在未來變更。
為了維護陰影複製中所含磁碟區的「時間點」檢視,系統提供者會使用寫入複製技術。 自從陰影複製建立開始時,磁碟上已修改的扇區復本(稱為「差異」)會儲存在陰影複製儲存區域中。
因此,系統提供者可以公開即時磁碟區,這可以正常寫入和讀取,並將「差異」套用至即時磁碟區的數據,以有效公開陰影複製的凍結數據。
針對系統提供者,陰影複製儲存區域必須位於NTFS磁碟區上。 要陰影複製的磁碟區不需要是NTFS磁碟區,但系統上至少掛接的磁碟區必須是NTFS磁碟區。
軟體提供者
軟體陰影複製提供者會在文件系統與磁碟區管理員軟體之間的軟體層中攔截和處理 I/O 要求。 這些提供者會實作為使用者模式 DLL 元件和至少一個內核模式設備驅動器,通常是記憶體篩選驅動程式(但不一定)。 建立這些陰影複製的工作是在軟體中完成。
軟體陰影複製提供者必須能夠存取一組檔案,以維護磁碟區的「時間點」檢視,這些檔案可用來在陰影複製之前正確地重新建立磁碟區狀態。 其中一個範例是系統提供者的複製寫入技術。
不過,VSS 不會限制軟體提供者用來建立和維護陰影複製的技術,而第三方廠商可以自由地在其認為適合時實作其軟體提供者。
此外,VSS 也支援軟體陰影複製提供者的大部分功能,例如定義時間點、數據同步處理和排清、提供備份應用程式的通用介面,以及陰影複製的管理。
根據定義,軟體提供者將適用於比硬體提供者更廣泛的儲存平臺,而且應該能夠同樣妥善地使用基本磁碟或邏輯磁碟區。 這種一般性會犧牲在硬體中實作陰影複製來取得的效能,而且不會使用任何廠商特定的磁碟區擷取或檔案鏡像功能。
硬體提供者
硬體陰影複製提供者會與硬體儲存卡或控制器搭配運作,以攔截來自硬體層級文件系統的 I/O 要求。 建立陰影複製的工作是由作系統外部的主機適配卡、儲存設備或RAID控制器執行。
這些提供者會實作為與將公開陰影複製數據之硬體通訊的使用者模式 DLL 元件:因此,硬體陰影複製提供者可能需要呼叫或建立其他內核模式元件。
硬體提供者會公開到整個磁碟或邏輯單元的 VSS 陰影副本(LUN)。 要求者仍處理磁碟區的陰影副本;VSS 會在內部處理所有磁碟區對磁碟對應。 位於動態磁碟上的磁碟區硬體提供者所建立的陰影複製有特定需求:它們無法匯入至相同的系統。 它們必須在第二個系統上建立可傳輸和匯入。
雖然硬體陰影複製提供者會使用定義時間點的 VSS 功能、允許數據同步處理、管理陰影複製,並提供與備份應用程式的通用介面,但 VSS 不會指定硬體提供者產生和維護陰影複製的基礎機制。