问题描述
VSS中如何创建卷影副本
解决方法
创建卷影副本主要流程如下:
请求程序要求卷影复制服务枚举编写程序,收集编写程序元数据,并准备创建卷影副本。
每个编写程序都会为需要备份的组件和数据存储创建 XML 描述,并将其提供给卷影复制服务。 编写器还定义了用于所有组件的还原方法。 卷影复制服务向请求程序提供编写程序的描述,而请求程序则选择要备份的组件。
卷影复制服务通知所有编写程序准备数据以进行卷影复制。
每个编写程序都会根据需要准备数据,例如完成所有未结束事务、滚动事务日志和刷新缓存。 当数据准备好进行卷影复制时,编写程序将通知卷影复制服务。
卷影复制服务通知编写程序将应用程序写入 I/O 请求暂时冻结几秒钟(仍然可以执行读取 I/O 请求),创建卷的卷影副本需要这几秒的时间。 应用程序冻结的时间不允许超过 60 秒。 卷影复制服务刷新文件系统缓冲区,然后冻结文件系统,从而确保正确记录文件系统元数据,并以一致的顺序写入要进行卷影复制的数据。
卷影复制服务通知提供程序创建卷影副本。 卷影副本创建周期不超过 10 秒,在此期间,对文件系统的所有写入 I/O 请求都将保持冻结状态。
卷影复制服务释放文件系统写入 I/O 请求。
VSS 通知编写程序解除冻结应用程序写入 I/O 请求。 此时,应用程序可以继续将数据写入正在进行卷影复制的磁盘。冻结超过60s或提交超过10s则终止操作。
请求程序可以重试该过程(返回步骤 1)或通知管理员稍后重试。
如果已成功创建卷影副本,则卷影复制服务会将卷影副本的位置信息返回给请求程序。 在某些情况下,卷影副本可以临时作为读写卷使用,以便 VSS 和一个或多个应用程序可以在卷影副本完成之前,更改卷影副本的内容。 VSS 和应用程序进行更改后,卷影副本将变为只读。 此阶段称为自动恢复,用于撤消卷影副本卷上在创建卷影副本之前未完成的任何文件系统或应用程序事务。