Shadow Copy是Windows Volume Shadow Copy Service (VSS) 的一部分,它允许在不需要关闭应用程序的情况下,备份或恢复计算机上的文件。这个功能首次出现在Windows Server 2003操作系统中,随后也被包括在Windows Vista及以后的客户端操作系统中。
Shadow Copy的工作原理是在文件系统层面创建一个卷的快照。这个快照包含了卷在某一特定时间点的状态。当用户需要恢复文件时,可以回到这个时间点,查看当时文件的状态,并进行恢复。这为用户提供了极大的便利,因为用户不再需要在文件被修改之前手动复制它们,从而避免了数据丢失的风险。
Shadow Copy的主要特点包括:
- 数据保护:用户可以在不中断工作的情况下,恢复意外删除或损坏的文件。
- 时间点恢复:可以恢复文件到过去某个时间点的版本。
- 透明性:对于大多数应用程序和用户来说,Shadow Copy的创建和恢复过程是透明的,不会影响正常的使用。
- 自动化:系统可以定期自动创建快照,也可以由用户手动触发。
在Windows操作系统中,Shadow Copy通常通过“以前的版本”功能来访问。用户可以在文件或文件夹上右键点击,选择“属性”,然后点击“以前的版本”标签,来查看和恢复文件的早期版本。
尽管Shadow Copy是一个非常实用的功能,但它并不是为备份解决方案设计的。它更适用于单个文件或文件夹的恢复。对于全面的系统备份和灾难恢复,用户通常需要使用更为复杂的备份软件和服务。
个人理解:在数据备份时,启用shadow copy的好处是:可以对一个正在备份的文件进行操作。虽然这样会导致备份的数据并不是事实更新的,但是如果不使用shadow copy,进行数据备份时就需要停机停止对备份数据的操作,这样从用户角度就会感知到明显的额外时间花费。通过使用shadow copy,在数据备份时shadow copy会自动冻结文件的io,这个时间非常短暂,shadow copy结束后会继续开启文件io,所以从用户角度并没有在备份过程中停止服务。
注意:shadow copy保证的数据一致性并不是像redis的aof全量备份的aof重写缓存的一致性作用(可以使开始备份时的数据与整个备份过程中更改数据进行融合),而是在备份的那个时间点可以创建文件系统在某一时刻的一致性快照,这意味着备份过程中文件不会发生变化,从而保证了备份的数据一致性。