我想实现一个命令行工具,它允许我为linux/unix系统拍摄文件系统的快照。
我知道实现快照复制、写入重定向日志文件架构、拆分镜像的方法有很多种
我认为这些是各种文件系统允许快照的地方。我不知道如何实现与设备的文件系统交互的工具来创建和管理快照。
我找到了这个工具http://snapper.io/documentation.html,但不明白它是如何工作的。如果有人能分享相关文献的参考文献,也会有所帮助。
发布于 2020-10-24 07:08:35
没有通用的“快照API”。像管理器这样的工具为所有可用的文件系统和支持快照的卷管理技术提供后端,检测使用了什么技术,并调用适当的工具(S)来创建快照。
例如,在btrfs上,情况非常简单--您只需根据挂载点检测要快照的子卷,然后运行btrfs subvolume snapshot <source> <destination>,就可以得到快照。如果在LVM上有XFS,那么首先需要用xfs_freeze冻结文件系统,然后用lvcreate --snapshot <vg>/<lv>创建快照。当然也有ZFS。您可以抽象地进行快照,并使用类似于OSTree的方法在升级期间创建系统文件的“快照”。
我认为“Linux/Unix上的快照”没有一本书或其他来源。如果您真正感兴趣的是在低级别上如何工作,可以从Btrfs、LVM和ZFS上的泛型源开始。但是,如果管理器已经存在并做您想做的事情,那么创建另一个工具就没有意义了。
https://unix.stackexchange.com/questions/616144
复制相似问题