要求者 是任何使用 VSS API 的應用程式(特別是 IVssBackupComponents 介面)來要求磁碟區陰影複製服務的服務,以建立和管理一或多個磁碟區的陰影複製和陰影複製集。
要求者最典型的範例(以及本檔中唯一尋址的範例)是 VSS 感知備份/還原應用程式,它會使用陰影複製的數據作為其備份作業的穩定來源。
除了起始陰影複製之外,備份/復原要求者應用程式也會與數據產生者(寫入器)通訊,以收集系統上的資訊,併發出訊號寫入器來準備其數據以進行備份。
要求者狀態
要求者會在稱為備份元件檔的 XML 元數據對象中維護其狀態資訊。 要求者元數據是必要的,但不足以讓要求者備份再還原文件系統。 原因如下:
- 在備份作業期間,只有備份中涉及的所有元件子集—備份 元件無法選取備份上階,且可選取備份元件 明確包含在備份中的備份元件,其資訊已新增至要求者的備份元件檔。
- 即使是新增至備份元件檔之元件的資訊也不完整,但不包含檔案和路徑規格。
- 在還原作業期間,備份中隱含 元件可能會 可選取以進行還原,因此可以明確地包含在還原中。 這需要更新要求者的備份元件檔,以及寫入器寫入器元數據檔的預存複本的資訊。
為了允許備份或還原作業的完整規格,VSS API 可讓要求者查詢執行寫入器的元數據(在備份期間),或檢查儲存的寫入器元數據(在還原期間)。 此外,寫入器可以在備份或還原作業過程中修改備份元件檔中的元件資訊。
使用已選取哪些元件以進行備份和還原的資訊,以及元件選取的相關規則(如需詳細資訊,請參閱 設定元件組織 和 使用可選取性和邏輯路徑),要求者可以判斷哪些寫入器需要備份或還原的檔案,以及可在何處找到這些檔案。
在備份中,必須儲存要求者和寫入器元數據,才能在還原中使用。 相反地,還原作業需要擷取舊的備份元件和寫入器元數據檔,以取得還原檔案的完整指示。
要求者進程間通訊
要求者會透過要求者 API 中的各種呼叫產生 COM 事件,以維護 VSS 備份和還原作業的控制。 這些呼叫可以執行下列動作:
- 例如,對提供者提出要求,例如,IVssBackupComponents::D oSnapshotSet 會導致提供者建立選取磁碟區的陰影複製。
- 觸發寫入器以傳回資訊,例如,IVssBackupComponents::GatherWriterMetadata 可讓要求者取得每個寫入器的寫入器元數據檔。
- 要求寫入器準備或處理陰影複製和備份作業的各種階段,例如,IVssBackupComponents::P repareForBackup 訊號寫入器設定 I/O 凍結。
要求者會透過即時或儲存的寫入器元數據檔,以及透過使用寫入器可更新的 IVssComponent 介面,從寫入器接收資訊。
備份期間要求者的生命週期
以下是備份要求者生命週期的摘要:
- 具現化和初始化 VSS API 介面。
- 請連絡寫入器並擷取其資訊。
- 選擇要備份的數據。
- 要求提供者的陰影複製。
- 備份數據。
- 釋放 介面和陰影複製。
還原期間要求者的生命週期
還原生命週期不需要陰影複製,但仍需要寫入器合作:
- 具現化 VSS API 介面。
- 載入預存的備份元件檔,初始化還原作業的要求者。
- 擷取儲存的寫入器元數據和備份元件檔。
- 請連絡寫入器以初始化合作。
- 檢查備份元件檔的寫入器更新。
- 還原數據。