长期保留 LVM 或 ZFS 快照作为备份或存档是否是不好的做法?
例如,我同意快照不能替代制作第二份(或第三份)副本带到异地;但是,拍摄快照并永久保存是否会对 LVM 和 ZFS 的性能产生影响?
最近我看到了以下关于LVM快照的说法:
...[快照] 确实会降低系统速度。快照只会占用您为其分配的空间....(想想在快照处于活动状态时会写入多少内容)。快照应被视为在数据备份或等效操作期间的临时资源。
这种态度似乎与LVM 操作指南:创建快照、进行备份、删除快照。
我在 VMware 的 vSphere 安装、配置和管理培训课程中也学到了同样的东西。我不记得课程中描述的确切原因,但它可能与使用增量磁盘的性能影响有关。这一页似乎很好地描述了这种情况。
另一方面,据我了解ZFS 的工作原理,快照似乎可以永远存在而不会造成问题。
甚至一位绅士描述如何每小时拍摄快照,并随着时间的推移每天保留一张、每周保留一张等等。
用这种方式保留 ZFS 快照有什么问题吗?
LVM 快照是否与 ZFS 快照一样轻量级,还是它们的工作方式更像 VMware 的增量磁盘?
答案1
ZFS 据称保留多个快照不会对性能产生影响。然而,传统的 LVM 快照即使长时间保留其中一个快照,性能也会很差,而且快照越多,性能就越差。LVM 的新快照系统已经开发了一段时间,可以缓解保留多个快照带来的恶化情况,但它还不是默认设置。
tar
解决此问题的典型方法是拍摄临时快照,然后使用常规方法(例如、rsnapshot
或)进行备份dump
。
答案2
据我所知,ZFS 上的快照只是具有特殊重复数据删除功能的另一个数据集。由于池中的数据集数量不会影响整体池性能(显然,占用的磁盘空间除外),因此只要磁盘上有足够的空间,我认为保留快照没有问题。
我曾广泛使用快照在克隆虚拟机的虚拟磁盘映像之间共享公共数据,没有发现任何性能问题。当然,它们不是合适的备份策略,因为它们无法从任何灾难中恢复,除非用户错误。
答案3
我不确定其他人使用的是哪个版本的 ZFS,但在 Proxmox 5.4-6 上,使用 ZFS 0.7.13-pve1~bpo2,在 spinning rust 上,长期(约 24 个月)保留旧的 ZFS 快照对性能有非常显著的影响。
在具有 2 个旧快照的驱动器上,将 250MB 文件从一个文件夹复制到同一驱动器上的另一个文件夹需要 5 分钟以上才能完成。删除快照后,复制将在约 1 分钟内完成。