Файловая система ZFS повреждена после удаления старых снимков.

Вопрос или проблема

Я использую Ubuntu 22.04 LTS с ZFS. Несколько дней назад у меня закончилось место, поэтому я удалил годовую резервную копию zfs, чтобы освободить более 80 ГБ места. Я не совсем понимал, что делаю, и когда увидел предупреждения о том, что не следует удалять этот старый снимок, потому что у него есть “дочерние” снимки, я все равно их удалил, так как эти “дочерние” снимки были старше года. Компьютер работал нормально в тот день и на следующий.

Однако сегодня, когда я включил свою систему и попытался войти в систему, я попал в петлю входа. Я загрузил более ранний снимок ZFS из GRUB, и проблема все еще сохранялась. Я не могу войти в Ubuntu X11, но могу это сделать на Wayland.

Когда я вхожу в Ubuntu с Wayland, я не могу получить доступ к файлам, и система сообщает, что моя домашняя папка пуста. Я вижу ярлыки к программам в меню “Пуск”, но ни одна из программ не открывается. Как мне исправить поврежденную файловую систему ZFS? Есть ли способ восстановить данные?

Команда zpool list дает следующий вывод:

bpool  1.88G  1.71G   168M        -         -    46%    91%  1.00x    ONLINE  -
rpool   920G  83.5G   836G        -         -    13%     9%  1.00x    ONLINE  - 

Команда zpool import дает следующий вывод (который я сократил)

NAME                                               USED  AVAIL  REFER  MOUNTPOINT
bpool                                             1.38G   381M    96K  /boot
bpool/BOOT                                        1.38G   381M    96K  none
bpool/BOOT/ubuntu_5un9op                           340M   381M   370M  /boot
bpool/BOOT/ubuntu_80copr                           340M   381M   370M  /boot
bpool/BOOT/ubuntu_8qx30p                           340M   381M   370M  /boot
bpool/BOOT/ubuntu_yjchzg                           388M   381M   388M  /boot
rpool                                             81.2G   810G   192K  /
rpool/ROOT                                        80.5G   810G   192K  none
rpool/ROOT/ubuntu_5un9op                          3.15G   810G  10.8G  /
rpool/ROOT/ubuntu_5un9op/srv                         0B   810G   192K  /srv
rpool/ROOT/ubuntu_5un9op/usr                       192K   810G   192K  /usr
rpool/ROOT/ubuntu_5un9op/usr/local                 192K   810G   348K  /usr/local

Ответ или решение

К сожалению, вы столкнулись с серьезной проблемой, связанной с файловой системой ZFS после удаления старых снимков (snapshots). Давайте подробно разберем ситуацию, как вы можете попытаться восстановить свои данные и устранить проблемы.

Фон проблемы

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

Признаки проблемы

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

Шаги по восстановлению системы

  1. Проверка состояния пула ZFS:
    Сначала убедитесь, что ваш пул не поврежден. Выполните следующую команду:

    zpool status

    Эта команда покажет текущее состояние пула и наличие возможных ошибок.

  2. Восстановление целостности файловой системы:
    Попробуйте выполнить команду для проверки и исправления возможных ошибок файловой системы:

    zpool scrub rpool

    Это может занять время, в зависимости от объема данных, и покажет, найдены ли проблемы и возможно ли их исправление.

  3. Работа с путешествующими снимками:
    Поскольку у вас возникли проблемы с доступом к данным, возможно, стоит рассмотреть возможность создания нового снимка из существующего:

    zfs snapshot rpool/ROOT/ubuntu_5un9op@recovery

    Затем проверьте, можно ли монтировать этот снимок и получить доступ к вашим данным.

  4. Поиск файлов:
    Если вы наоборот хотите проверить доступные файлы перед попыткой входа, можно использовать команду:

    zfs list -t snapshot

    Это даст вам представление о доступных снимках, их размерах и других важных характеристиках.

  5. Доступ к домашнему каталогу:
    Попробуйте посмотреть, существует ли ваш домашний каталог в другом снимке. Если вы можете его найти, попытайтесь монтировать этот снимок:

    zfs mount rpool/home/имя_каталога@имя_снимка

Восстановление данных

Если вы не смогли восстановить данные через стандартные команды ZFS и доступные снимки, рассмотрите возможность использования специализированного программного обеспечения для восстановления данных, такого как testdisk или photorec. Однако имейте в виду, что успех восстановления может быть непредсказуемым, и всегда важно иметь резервные копии файловых систем.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...