Снимки 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 операций на необходимый отрезок времени. А деревья снапшотов я пока не нашёл как делать. А было бы замечательно - сделать корневой образ, делать таким нехитрым образом снимки системы, и когда понадобится - удалять старые снимки (то есть удалять корневой образ и данные с него автоматически бы переходили на следующий в дереве). Хотя конечно есть определённые проблемы с ветвлениями

Так что алгоритм пока примерно такой:

  1. Сделали снэпшот.
  2. Сняли данные (например при помощи rsnapshot).
  3. Удалили снэпшот.

Если у вас остались вопросы, напишите мне письмо.