在我的备份应用程序中,我使用USN日志检查卷的更改。在microsoft website中,它提到了USN的最大大小,文件已满records gets deleted。
MaximumSize是更改日记帐的目标最大大小 字节。变更日志可以增长到大于此值,但是在NTFS 文件系统检查点NTFS文件系统检查日志和 当它的大小超过MaximumSize的值加上值时修剪它 AllocationDelta。 (在NTFS文件系统检查点,操作 系统将记录写入允许的NTFS文件系统日志文件 NTFS文件系统,用于确定恢复所需的处理 从失败中。)
那么当期刊满员时会发生什么?是否删除了所有记录?或者只是它会删除最旧的记录并为新的记录输入?我如何处理usn期刊大小的完整案例?
答案 0 :(得分:1)
USN日志是一个稀疏文件,USNumbers本身就是这个文件的索引......实际的偏移量。但是,诀窍是,在稀疏内存映射文件中,当它超过其大小阈值时,它会删除最早的条目。这是稀疏文件的神奇之处。由于早期记录被砍掉,所以抵消不必改变。 NTFS保留有关归零范围的元数据,并透明地向读取文件的客户端输出零。它是滚动日志。
归零的工作单位是AllocationDelta。每次发生这种归零时,NTFS就会设置一个新的LowestValidUsn值。
因此,当你进行备份时,你会想要记录NextUsn ...这是一个指向下一个USN将被写入的位置的指针。然后,当您进行后续备份,并且保存的NextUsn大于LowestValidUsn时,自上次备份以来的所有更改都仍然存在,您可以依靠USN来优化备份过程。
如果USN实际上溢出了MaxUsn,我不确定实际发生了什么。似乎不太可能 - 并且值得知道什么可以带来这一点。好像我已经阅读了有关实际发生情况的相互矛盾的说法 - 日记停止 - 或者NTFS只是重置期刊感冒。
如果日记被管理员重置或自动重新创建,NTFS会为日记分配一个新ID。在这种情况下,备份程序必须从整个卷的新读取开始。