Kopie zapasowe migawek LVM i problem Grub2

9

Krótko mówiąc, używam obnam do robienia kopii zapasowych mojego systemu.

To jest to, co robie:

  1. wziąć LVM migawkę /, /usr, /boot, /var,/home
  2. zamontować migawek na /bck-snapshots, /bck-snapshots/usr, /bck-snapshots/boot, /bck-snapshots/var,/bck-snapshots/home

  3. uruchom kopię zapasową migawek:

    obnam backup \
        /bck-snapshots \
        /bck-snapshots/usr  \
        /bck-snapshots/boot \
        /bck-snapshots/var  \
        /bck-snapshots/home \
    
  4. po zakończeniu tworzenia kopii zapasowej umount migawkowe systemy plików zamontowane w kroku 2.

  5. usuń migawki

Problem

podczas tworzenia kopii zapasowej przeprowadzono aktualizację systemu, z zainstalowanym nowym jądrem i tańcem całej aktualizacji Grub2. Teraz, gdy próbuję usunąć migawkę katalogu głównego (krok 5.), otrzymuję to:

mapowanie urządzeń: usunięcie ioctl w przypadku niepowodzenia: Urządzenie lub zasób zajęte

ponieważ urządzenie główne migawki jest zajęte i wykorzystywane przez inny proces:

$ 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

pytania

  1. Wydaje mi się, że aby usunąć migawkę, muszę przestać grub-mountkorzystać z urządzenia. Jak to zrobić bezpiecznie?

  2. Myślę, że migawka kopii zapasowej została dodana do GRUB-a jako realna opcja do pokazania w menu GRUB-a wyświetlanym podczas uruchamiania. Co się stanie, jeśli usunę odpowiednią migawkę?

  3. Czy jest jakiś sposób, aby zapobiec dodaniu przez roota migawki znajdującej się w / bck-snapshots?

Muszę ponownie uruchomić system, aby aktualizacje były aktywne, ale najpierw muszę znać odpowiedź na te pytania.

Paolo
źródło
patrzinfo grub
LittleByBlue,

Odpowiedzi:

1

Wygląda na to, że grub-mount próbuje edytować system plików tylko do odczytu i zawiesił się.

Wysyłanie sygnału z killprośbą o rezygnację powinno być bezpieczne (wyślij 15, aw razie potrzeby po kilku sekundach 2, aw razie potrzeby po kilku sekundach 1, jeśli nadal działa, -9zgłoś to do opiekuna) (jeśli pid zmiany liczb zaczynają się od 15 ponownie)

Prawdopodobnie zakończy się niezerową, co może mieć wpływ na czekające na nią skrypty, ale jedyne, co możesz na to poradzić, to zgłosić błąd i poprosić opiekuna, aby pomijał systemy plików tylko do odczytu.

Zauważ, że istnieje kilka powiązanych błędów, nad którymi pracują.

użytkownik1133275
źródło
1

Po prostu zabij ten resztkowy proces montowania grub. Zdarzyło mi się to również i nie było widocznego negatywnego efektu ubocznego zabijania, ponieważ odpowiedni proces aktualizacji-grub już go porzucił - możesz łatwo to sprawdzić, widząc, jak to nie zostało rodzic.

Josip Rodin
źródło