
После установки или обновления до 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, но не думаю, что это имеет значение.
Процедура
- Убедился, что у меня достаточно резервных копий и они находятся на отдельной системе; очевидно, что полагаться на снимки ZFS в данном случае нецелесообразно.
- Запустил обычную
do-release-upgrade
процедуру. Все прошло безупречно; на самом деле одно из самых плавных обновлений Ubuntu, которые я когда-либо испытывал. - После завершения обновления, ноперед перезагрузкой(т.е. пока я все еще работал с «безопасным» ядром 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).