xpxhh
驱动牛犊
驱动牛犊
  • 注册日期2005-07-19
  • 最后登录2016-01-09
  • 粉丝1
  • 关注1
  • 积分52分
  • 威望27点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1374回复:1

NTFS真的是可恢复的吗???质疑基于日志的恢复机制

楼主#
更多 发布于:2009-12-29 10:52
NTFS基于日志的恢复机制是这样的:在修改系统元数据时将其标记为不可写出,然后再向日志中写入对应的修改记录,在将元数据刷盘时会先将其对应的日志刷入磁盘,这样可以保证在系统恢复时未提交的事务利用undo内容回滚,提交的事务利用redo日志重做。这个机制的前提是要先将日志刷盘,后将数据刷盘。可是当开启磁盘写缓存时,磁盘会先将写入的数据保留在硬盘缓存中,在适当的时机将其写入,这时如果不能保证数据按照请求提交的顺序写入并出现掉电的情况,NTFS的机制岂不是会失效?也就是说,硬盘缓存的写入顺序是否跟操作系统给它发指令的顺序相同呢?
lijianhua12
驱动牛犊
驱动牛犊
  • 注册日期2009-12-04
  • 最后登录2013-03-29
  • 粉丝12
  • 关注9
  • 积分33分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分11分
沙发#
发布于:2009-12-29 16:53
  百分百是可恢复的,不用怀疑
 修改写入日志文件,叫产生一个事务记录
 根据日志文件更新高速缓存,叫提交一个事务
 把高速缓存的内容写到磁盘,叫刷新,然后会将相应的日志记录标志为空,这才全部完成
 断电恢复时,反正不空的日志事务记录要么撤消,要么重做,完整的事物记录重做,不完整的事物记录(比如正在写日志文件时断电了)撤消
 
游客

返回顶部