
Короче говоря, я используюобнамдля создания резервных копий моей системы.
Вот что я делаю:
- сделать снимок LVM
/
,/usr
,/boot
,/var
,/home
смонтировать снимки на
/bck-snapshots
,/bck-snapshots/usr
,/bck-snapshots/boot
,/bck-snapshots/var
,/bck-snapshots/home
запустите резервное копирование снимков:
obnam backup \ /bck-snapshots \ /bck-snapshots/usr \ /bck-snapshots/boot \ /bck-snapshots/var \ /bck-snapshots/home \
После завершения резервного копирования размонтируйте файловые системы моментальных снимков, смонтированные на шаге 2.
удалить снимки
Проблема
Во время резервного копирования было сделано обновление системы с установкой нового ядра и всем танцем обновления 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
Вопросы
Я предполагаю, что для удаления снимка мне придется прекратить
grub-mount
использование устройства. Как это сделать безопасно?Я думаю, что резервный снимок был добавлен в grub как жизнеспособный вариант для отображения в меню grub, отображаемом во время загрузки. Что, если я удалю соответствующий снимок?
Есть ли способ запретить grub добавлять корневой снимок, найденный в /bck-snapshots?
Мне нужно перезагрузить систему, чтобы обновления вступили в силу, но сначала мне нужно узнать ответы на эти вопросы.
решение1
Это выглядит какgrub-mountпытается редактировать файловую систему, доступную только для чтения, и зависает.
Должно быть безопасно отправить сигнал, чтобы kill
попросить его сдаться (отправьте 15
, и если необходимо, через несколько секунд 2
, и если необходимо, через несколько секунд 1
, если он все еще работает, используйте -9
и сообщите об этом сопровождающему) (если номер pid изменится, начните с 15 снова)
Вероятнее всего, он выйдет из состояния, отличного от нуля, что может повлиять на ожидающие его скрипты, но единственное, что вы можете сделать, это отправить отчет об ошибке и попросить сопровождающего пропустить файловые системы, доступные только для чтения.
Обратите внимание, что есть некоторыесвязанные ошибкиони работают над этим.
решение2
Просто убейте этот оставшийся процесс grub-mount. Это случилось и со мной, и не было никаких очевидных негативных побочных эффектов от убийства, потому что соответствующий процесс update-grub уже покинул его — вы можете легко убедиться в этом, увидев, что у оставшегося процесса grub-mount больше нет родителя.