Странные проблемы с файлами в Ubuntu 21.10 с ZFS

Странные проблемы с файлами в Ubuntu 21.10 с ZFS

После установки или обновления до Ubuntu 21.10 с опцией ZFS у меня начали возникать странные проблемы.

Например, в командной строке я начал видеть такие ошибки:

Cannot access 'foobar': No such file or directory

При запуске ls -l в каком-либо каталоге я получаю вопросительные знаки, например:

-????????? ? ? ? ? ? foobar.txt
-????????? ? ? ? ? ? foobar2.txt

В конце концов я даже не смог загрузить Ubuntu 21.10 (которая использует ZFS).

решение1

Это известная проблема.заметки о выпуске Ubuntu 21.10сказать:

Известные вопросы

ядро Linux

  • Версия драйвера ZFS, входящая в состав ядра 5.13.0-19, содержитЖукчто может привести к повреждению файловой системы. Пользователям ZFS рекомендуется дождаться первого стабильного обновления ядра в версии 21.10 перед обновлением.

Я рекомендую следующий курс действий:

  • Если вы устанавливаете Ubuntu 21.10, не выбирайте опцию ZFS. Это приведет к повреждению файловой системы, чего вы не хотите.
  • Если вы обновляетесь до Ubuntu 21.10 и используете ZFS, не делайте этого, пока не будет выпущено исправление и пользователи не перестанут сообщать о проблемах. (На момент написания статьи исправление еще не было выпущено.)

Если вы уже обновились до Ubuntu 21.10, вы можете вернуться к старой файловой системе, выбрав опцию «Вернуть» в меню загрузки (grub). Нажмите delво время загрузки, чтобы отобразить это меню загрузки.

решение2

Кстати, я только что успешно обновился с 21.04 до 21.10, проверив ошибку, упомянутую в посте Flimm, и увидевнекоторые указания(не так ясно, как хотелось бы...) что это было исправлено в версии ядра 5.13.0-20. Ошибка, похоже, присутствовала во всех предыдущих версиях ядра 5.13, вплоть до 5.13.0-19, которая изначально была фатально выпущена с 21.10.

Моя система использует пользовательскую ZFS на корне. Она была развернута с нуля с помощью стандартной версии, которая поставлялась с Hirsute (ZFS v2.0.3). Я не использую Zsys от Ubuntu, но не думаю, что это имеет значение.

Процедура

  1. Убедился, что у меня достаточно резервных копий и они находятся на отдельной системе; очевидно, что полагаться на снимки ZFS в данном случае нецелесообразно.
  2. Запустил обычную do-release-upgradeпроцедуру. Все прошло безупречно; на самом деле одно из самых плавных обновлений Ubuntu, которые я когда-либо испытывал.
  3. После завершения обновления, ноперед перезагрузкой(т.е. пока я все еще работал с «безопасным» ядром 5.11 Hirsute), я дважды проверил, /bootчтобы убедиться, что ядро, которое должно было быть загружено, было новее, чем 5.13.0-19; я получил5.13.0-22:
$ ll /boot/vmlinuz
lrwxrwxrwx 1 root root 25 Dec 27 16:59 /boot/vmlinuz -> vmlinuz-5.13.0-22-generic

Больше информации

Приведенный ниже совет актуален только до выхода стабильной версии 22.04 («Jammy»).

Живое изображение

На момент написания статьи, образ Canonical 21.10 Live все еще поставляется с глючным ядром 5.13.0-19. Поэтому, сделайтени при каких обстоятельствахиспользуйте этот образ для доступа к файловым системам ZFS/развертывания их.

Если вам необходимо выполнить такое обслуживание, вам, вероятно, следует использовать21.04 Живое изображениеа не 21.10; версии ZFS довольно близки (2.0.3/2.0.6).

Новые развертывания 21.10 с ZFS в корне

Я подтвердил, что возможно использовать21.04 Живое изображениедля выполнения развертывания 21.10 ZFS-on-root. Просто следуйтеZFS на корневом руководствеи укажите желаемый релиз при вызове debootstrap(на шаге 3.4), как в:

debootstrap impish /mnt

Вам также необходимо будет указать ту же версию ( impish) в /mnt/etc/apt/sources.list(шаге 4.3).

Связанный контент