#51 Acronis SnapAPI模块的说明

icon张宏邦在 2019-3-22 下午3:29 编写 ( icon张宏邦在 2024-2-4 下午5:06 更新 <历史> )
  编辑(登录)
  收藏
  响应调查   响应调查

  主题

本文内容为谷歌翻译结果,如需查看原始材料请访问下方的原文链接。
原文链接:https://kb.acronis.com/content/1512

Acronis SnapAPI模块的说明

描述

SnapAPI模块负责硬盘上的所有Acronis软件I/O操作。它还允许在Windows正在运行的情况下创建备份,并打开无限数量的文件进行读取和写入,而无需重新启动计算机。

一旦Acronis软件初始化卷(单个分区或动态磁盘)的备份进程,Acronis Snapshot Manager会刷新安装到该卷的文件系统,从而暂时冻结该系统卷上的所有操作。此后,Snapshot Manager驱动程序立即创建系统卷的时间点视图和描述该卷上已使用扇区的位图。创建位图后,筛选器驱动程序将冻结系统卷上的I/O操作。创建卷的时间点视图通常只需几秒钟。之后,随着镜像过程的进行,操作系统将继续工作。

Acronis软件根据创建的位图读取系统卷上的扇区。读取扇区后,将重置位图中适当的位。相应地,Acronis驱动程序继续工作以保留系统卷的时间点视图。每当驱动程序看到针对系统卷的写操作时,它都会检查是否已经备份了这些扇区,如果尚未备份,则驱动程序会将要被覆盖的扇区上的数据保存到由软件创建的特殊缓冲区中,然后允许扇区被覆盖。Acronis软件从特殊缓冲区备份扇区,这样系统卷的时间点视图中的所有扇区都被会被原封的备份。Acronis软件捕获的备份数据的时间点与快照时刻一致。同时,操作系统将继续工作,并且不会有任何异常情况。

Snapshot Manager 快照管理器

Snapshot Manager 驱动程序(snapman.sys)作为文件系统驱动程序和卷驱动程序之间的上层过滤器安装,因此SnapAPI可以拦截传递给分区的所有读取和写入请求。请参阅以下方案:

物理硬盘驱动器

硬盘驱动(disk.sys),该驱动程序枚举硬盘驱动器,读取和写入信息

硬盘分区驱动(partmgr.sys),该驱动程序枚举硬盘分区

卷驱动(ftdisk.sys),该驱动程序将分区表示为卷。如果系统中有动态磁盘,则dmio.sys将有关动态磁盘的信息提供给ftdisk.sys,dmio.sys通过disk.sys与物理硬盘一起工作。

Acronis驱动(snapman.sys),会刷新Acronis应用程序正在读取的卷上所挂载的文件系统,因此该卷上的所有操作都将暂时冻结。通常只需要几秒钟,然后操作系统将继续照常工作

文件系统驱动(fastfat.sys,ntfs.sys),根据文件系统规格表示卷

下面列出了SnapAPI驱动程序二进制文件和注册表项/设置:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\snapman
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E967-E325-11CE-BFC1-08002BE10318} -> UpperFilters值中的 snapman 或 fltsrv 字符串
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{71A27CDD-812A-11D0-BEC7-08002BE2092F} -> LowerFilters 值中的 snapman 或 fltsrv 字符串
  • Windows\system32\drivers\snapman.sys
    出于兼容性目的,Windows\system32\snapapi.dll中也可能存在SnapAPI

您还可以查看Acronis快照管理器的工作方式的图形表示:

 附加文件     - [0]


 添加评论