Я установил Ubuntu 18.04 на Dell PowerEdge R720xd с помощью ZFS. В ZFS есть два загрузочных диска по 1 ТБ. mirror
конфигурация. Я выполнил инструкции в ZFS в Linux Wiki.
(Примечание. Моя система использует адаптер главной шины (HBA) LSI LSI00244 (9201-16i) вместо встроенной карты RAID, поскольку ZFS и эта карта RAID не работают вместе.)
При загрузке Ubuntu требуется около десяти секунд для перечисления дисков системой (имеется 14 дисков - два для ОС и 12 для хранения данных, которые позже будут настроены в других zpools). Однако процесс загрузки пытается импортировать пул загрузки до того, как диски будут перечислены.
На экране мигает сообщение об ошибке BusyBox, которое в основном гласит:
Пул не удалось импортировать.
Вручную импортируйте пул в эту оболочку BusyBox, а затем введите
exit
чтобы продолжить процесс загрузки.
Если я подожду несколько секунд после этого сообщения, я увижу, что в списке появятся 14 дисков.
Я печатаю zpool import rpool
в приглашении BusyBox, которое работает (подтверждено zpool list
) а потом exit
чтобы продолжить процесс загрузки. (Это приводит к моей следующей проблеме, сбою ядра, но это отдельный вопрос.)
Я пробовал добавить rootdelay=15
к параметрам загрузки, но это, похоже, не работает, так как кажется, что он хочет запустить эту задержку после импорт пула ZFS.
Как я могу заставить процесс загрузки дождаться появления устройств, прежде чем он попытается импортировать пул?
Я наконец нашел это в /etc/default/zfs
:
# Wait for this many seconds in the initrd mountroot?
# This delays startup and should be '0' on most systems. This might help on
# systems which have their ZFS root on a USB disk that takes just a little
# longer to be available
# Only applicable for Debian GNU/Linux {dkms,initramfs}.
ZFS_INITRD_POST_MODPROBE_SLEEP='0'
Вот как это установить.
/mnt
с помощью zpool import rpool -R /mnt
mount --rbind /dev /mnt/dev; mount --rbind /proc /mnt/proc; mount --rbind /sys /mnt/sys
/mnt
: chroot /mnt /bin/bash --login
/etc/default/zfs
чтобы изменить значение выше с 0
к 15
update-initramfs
и update-grub