0

Создание lvm snapshot и восстановление из него

Короткая заметка о том, как сделать snapshot lvm тома, а затем восстановиться из него.

Посмотреть логические тома можно командой
# lvs
Например:

LV             VG               Attr       LSize    Pool Origin Data%  Move Log Cpy%Sync Convert
vm_backup      vg_deimos_backup -wi-ao---- 1024.00g
cacti2         vg_ds00          -wi-ao----   30.00g
dhcp           vg_ds00          -wi-ao----   10.00g
log            vg_ds00          -wi-ao----   15.00g
www            vg_ds00          -wi-a-----   20.00g
cm             vg_ds01          -wi-ao----   20.00g
helpdesk       vg_ds01          -wi-ao----   30.00g
mail           vg_ds01          -wi-ao----   20.00g
mailboxes      vg_ds01          -wi-ao----   30.00g
www2           vg_ds01          -wi-ao----   32.00g

Snapshot делается командой:
# lvcreate --size 1G --snapshot --name log_snap /dev/vg_ds00/log
Теперь lvs покажет:

LV             VG               Attr       LSize    Pool Origin Data%  Move Log Cpy%Sync Convert
...
log            vg_ds00          owi-aos---   15.00g
log_db         vg_ds00          -wi-ao----  100.00g
log_snap       vg_ds00          swi-a-s---    1.00g      log      17.99
...

Origin — к какому логическому тому относиться snapshot,
Data% — процент исползованного объема от выделенного.

Для восстановления нужно отмонтировать логический том (в моем случае выключить виртуальную машину) и выполнить:
# lvconvert --merge /dev/vg_ds00/log_snap

Merging of volume log_snap started.
log: Merged: 81.6%
log: Merged: 84.5%
log: Merged: 89.3%
log: Merged: 98.3%
log: Merged: 100.0%
Merge of snapshot into logical volume log has finished.
Logical volume "log_snap" successfully removed

После этого логический том вернется в исходное состояние, а snapshot будет удален

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.