Вопрос или проблема
Я использую ZFS на 14.04 уже чуть больше года, и до сих пор все работало и обновлялось прекрасно.
Сегодня после apt-get update
я увидел, что у меня теперь ядро 4.4.0-59-generic (обновлено с 3.19.0-78-generic). Я помню, что во время обновления была большая задержка, но в итоге все выглядело нормально. Я перезагрузился и ушел из дома на несколько часов. Теперь, когда я снова вошел, я вижу, что мой пул zfs пропал.
Я запустил команду zfs list
и получил сообщение Модули ZFS не загружены. Попробуйте запустить ‘/sbin/modprobe zfs’
. Я попробовал, но все равно получил то же сообщение модули ZFS не загружены
.
Итак, вот мой вопрос: мне стоит попробовать вернуться к предыдущему ядру или просто переустановить модули zfs? Я не хочу допустить ошибку, так как боюсь потерять мой пул в 4.5 ТБ.
Любые предложения будут очень признательны.
Судя по всему, версия ZFS, доступная в репозиториях Ubuntu, не компилируется с последним ядром, что кажется мне неудачным упущением. Пока ZFS не будет обновлён до версии 0.6.5.8 или патч не будет обратно перенесен, он не будет работать с этим ядром, и вам придется продолжать загружать более старую версию.
Источник: https://github.com/zfsonlinux/pkg-zfs/issues/219
Обратите внимание, что вы можете отредактировать конфигурацию GRUB, чтобы сохранить ядро, с которого вы последним загружались, и всегда загружаться с него, пока не скажете иначе.
ИЗМЕНЕНИЕ: На самом деле я на 16.04, но получаю ту же ошибку, что и в этом отчет о баге, так что, вероятно, эта проблема затрагивает обе версии.
Я столкнулся с проблемой, используя mintupgrade с 17.3 -> 18 (trusty -> xenial). Во время процесса обновления пакет, с которым я работал, вызвал частичный сбой обновления, поэтому при обновлении с ядра 3.X до 4.4.0-81-generic все не было корректно перестроено. Мне потребовалось немного времени, чтобы понять, почему пул zfs имел статус “онлайн” и выглядел нормально, но не отображался в df и не работал, несмотря на то что он был смонтирован в место, которое все еще существовало. Мне пришлось попросить dpkg перестроить их для 4.4.0:
sudo dpkg-reconfigure spl-dkms
sudo dpkg-reconfigure zfs-dkms
sudo zpool import zfspoolname
Ответ или решение
Проблема, с которой вы столкнулись, связана с тем, что после обновления ядра ZFS-модули не загружаются. Это может произойти, если соответствующие модули ZFS не были собраны для нового ядра или если обновление прошло некорректно.
Вот полная пошаговая инструкция по решению вашей проблемы:
-
Проверьте установленную версию ядра. Убедитесь, что вы запустили правильное ядро, используя команду:
uname -r
-
Попробуйте загрузить ZFS-модули вручную:
sudo modprobe zfs
Если вы получите сообщение о том, что модули не загружены, это может означать, что они не были собраны для вашего текущего ядра.
-
Переустановите модули ZFS. Чтобы это сделать, выполните следующие команды:
sudo dpkg-reconfigure spl-dkms sudo dpkg-reconfigure zfs-dkms
Эти команды попытаются пересобрать модули ZFS для установленного ядра.
-
Импортируйте ZFS-пул (если он не появился после переустановки модулей):
sudo zpool import <имя_вашего_пула>
Замените
<имя_вашего_пула>
на реальное имя вашего ZFS-пула. -
Проверьте состояние пула:
sudo zpool status
-
Обновите GRUB. Чтобы избежать загрузки нового ядра в будущем, вы можете изменить настройки загрузчика GRUB:
- Откройте файл конфигурации GRUB для редактирования:
sudo nano /etc/default/grub
- Найдите строку, начинающуюся на
GRUB_DEFAULT
и измените ее на:GRUB_DEFAULT="0"
- После внесения изменений обновите GRUB:
sudo update-grub
- Откройте файл конфигурации GRUB для редактирования:
-
Мне стоит вернуться на предыдущее ядро? Если переустановка модулей не помогла, и вы по-прежнему испытываете проблемы, вы можете временно вернуться на предыдущее ядро. Для этого при загрузке системы выберите старое ядро из меню GRUB.
-
Следите за обновлениями. Убедитесь, что у вас установлены все последние обновления как для ядра, так и для пакетов ZFS. Проверяйте периодически, выпуски исправлений и обновлений могут решить вашу проблему в обновленных версиях ZFS.
Убедитесь в том, что перед выполнением вышеуказанных действий вы сделали резервную копию данных, особенно если у вас крупные объемы информации в пуле ZFS.