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

9

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

Это то, что я делаю:

  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?

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

Paolo
источник
смотритеinfo grub
LittleByBlue

Ответы:

1

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

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

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

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

user1133275
источник
1

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

Иосип Роден
источник