LVM snapshot – performance for write-only data

lvmsnapshot

I have a client that is archiving write-only , time-series data in a database (ie. data is rarely modified after it is written, and it is rarely read as it is on a secondary/backup/failover node). I am considering suggesting that the client make periodic LVM snapshots (and eliminating older ones if performance is impacted too much) to allow them to roll back data to a given point in time. Note: I am referring to creating LVM snapshots and using these to allow roll-back on the original data, I am not referring to making an LVM snapshot for copying the data to another filesystem. Given that the data is essentially write-once , the LVM snapshots should be very small (probably close to 0).

My question is, would you expect there be a performance impact on the source volume writes to be caused by the LVM snapshots for this particular kind of data, especially taking into consideration that the copy-on-write will rarely if ever be triggered since existing data is rarely modified? If there is an expected performance impact, does anyone know what level of impact could be expected for this type of a scenario? (remember, this is essentially write-once)

Kind Regards

Best Answer

"normal" LVM snapshots are rather slow for writing - see e.g. https://johnleach.co.uk/words/613/lvm-snapshot-performance. It can drop up to 10%. Making the snapshot ro helps a bit. In yor case thin provisioning should help quite a bit (https://github.com/jthornber/linux-2.6/blob/thin-stable/Documentation/device-mapper/thin-provisioning.txt) - or use btrfs or ZFS, which works in Linux as well.

Related Question