我有一个客户端,正在数据库中归档只写的时间序列数据(即数据在写入后很少被修改,并且很少被读取,因为它位于辅助/备份/故障转移节点上)。我正在考虑建议客户端定期制作 LVM 快照(如果性能受到太大影响,则消除较旧的快照),以允许他们将数据回滚到给定的时间点。注意:我指的是创建 LVM 快照并使用它们来回滚原始数据,而不是指创建 LVM 快照以将数据复制到另一个文件系统。鉴于数据本质上是一次写入,LVM 快照应该非常小(可能接近 0)。
我的问题是,您是否期望这种特定类型数据的 LVM 快照会对源卷写入产生性能影响,特别是考虑到写入时复制很少会被触发,因为现有的数据很少被修改?如果存在预期的性能影响,有谁知道这种情况会产生什么程度的影响? (记住,这本质上是一次写入)
亲切的问候
答案1
“普通”LVM 快照的写入速度相当慢 - 请参阅例如https://johnleach.co.uk/words/613/lvm-snapshot-performance。最多可下降 10%。制作快照 ro 有一点帮助。在你的情况下,精简配置应该有很大帮助(https://github.com/jthornber/linux-2.6/blob/thin-stable/Documentation/device-mapper/thin-provisioning.txt) - 或者使用 btrfs 或 ZFS,它们也适用于 Linux。