Снимки LVM для зашифрованных разделов.
В общем всё оказалось проще пареной репы. Нужно было не следовать инструкциям из доков и хаутушек, а чуть-чуть включить мозг.
Итак, всё просто:
1. Делаем раздел, поверх которого будет делаться COW, то есть это мгновенный снимок, а размер который мы указываем - это то, что пишется поверх снимка (как я понял):
$ sudo lvcreate -s -n backup-`date +%H-%M-%Y-%m-%d` -L5G vg/crypthome
2. Чтобы сделать с этого раздела восстановление создаём расшифрованное устройство и его монтируем (здесь и была проблема):
$ sudo cryptsetup luksOpen /dev/vg/backup-H-M-Y-m-d backup-H-M-Y-m-d
$ sudo mount /dev/mapper/backup-H-M-Y-m-d /mnt/home
3. Когда закончили, отмонтировали, закрыли расшифрованное устройство
$ sudo umount /mnt/home
$ sudo cryptsetup luksClose backup-H-M-Y-m-d
4. Когда бэкап уже становится не нужен: удаляем dm устройство (см. про баг), удаляем LVM раздел.
$ sudo dmsetup remove /dev/vg/backup-H-M-Y-m-d
$ sudo lvremove /dev/vg/backup-H-M-Y-m-d
Для долгого хранения всё это не очень подходит, поскольку никогда не угадаешь, сколько места нужно выделить для COW операций на необходимый отрезок времени. А деревья снапшотов я пока не нашёл как делать. А было бы замечательно - сделать корневой образ, делать таким нехитрым образом снимки системы, и когда понадобится - удалять старые снимки (то есть удалять корневой образ и данные с него автоматически бы переходили на следующий в дереве). Хотя конечно есть определённые проблемы с ветвлениями
Так что алгоритм пока примерно такой:
- Сделали снэпшот.
- Сняли данные (например при помощи rsnapshot).
- Удалили снэпшот.
Если у вас остались вопросы, напишите мне письмо.