Резервное копирование снимков LVM и проблема Grub2

Резервное копирование снимков LVM и проблема Grub2

Короче говоря, я используюобнамдля создания резервных копий моей системы.

Вот что я делаю:

  1. сделать снимок LVM /, /usr, /boot, /var,/home
  2. смонтировать снимки на /bck-snapshots, /bck-snapshots/usr, /bck-snapshots/boot, /bck-snapshots/var,/bck-snapshots/home

  3. запустите резервное копирование снимков:

    obnam backup \
        /bck-snapshots \
        /bck-snapshots/usr  \
        /bck-snapshots/boot \
        /bck-snapshots/var  \
        /bck-snapshots/home \
    
  4. После завершения резервного копирования размонтируйте файловые системы моментальных снимков, смонтированные на шаге 2.

  5. удалить снимки

Проблема

Во время резервного копирования было сделано обновление системы с установкой нового ядра и всем танцем обновления grub2. Теперь, когда я пытаюсь удалить корневой снимок (шаг 5.), я получаю это:

device-mapper: удалить ioctl при сбое: Устройство или ресурс заняты

поскольку корневое устройство снимка занято и используется другим процессом:

$ sudo lsof /dev/dm-6 # This is the root snapshot device.
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND    PID USER   FD   TYPE DEVICE   SIZE/OFF    NODE NAME
grub-moun 9160 root    3r   BLK  252,6 0t36339712 5295479 /dev/dm-6

Вопросы

  1. Я предполагаю, что для удаления снимка мне придется прекратить grub-mountиспользование устройства. Как это сделать безопасно?

  2. Я думаю, что резервный снимок был добавлен в grub как жизнеспособный вариант для отображения в меню grub, отображаемом во время загрузки. Что, если я удалю соответствующий снимок?

  3. Есть ли способ запретить grub добавлять корневой снимок, найденный в /bck-snapshots?

Мне нужно перезагрузить систему, чтобы обновления вступили в силу, но сначала мне нужно узнать ответы на эти вопросы.

решение1

Это выглядит какgrub-mountпытается редактировать файловую систему, доступную только для чтения, и зависает.

Должно быть безопасно отправить сигнал, чтобы killпопросить его сдаться (отправьте 15, и если необходимо, через несколько секунд 2, и если необходимо, через несколько секунд 1, если он все еще работает, используйте -9и сообщите об этом сопровождающему) (если номер pid изменится, начните с 15 снова)

Вероятнее всего, он выйдет из состояния, отличного от нуля, что может повлиять на ожидающие его скрипты, но единственное, что вы можете сделать, это отправить отчет об ошибке и попросить сопровождающего пропустить файловые системы, доступные только для чтения.

Обратите внимание, что есть некоторыесвязанные ошибкиони работают над этим.

решение2

Просто убейте этот оставшийся процесс grub-mount. Это случилось и со мной, и не было никаких очевидных негативных побочных эффектов от убийства, потому что соответствующий процесс update-grub уже покинул его — вы можете легко убедиться в этом, увидев, что у оставшегося процесса grub-mount больше нет родителя.

Связанный контент