(注意:我的系统使用LSI LSI00244(9201-16i)主机总线适配器(HBA)而不是板载RAID卡,因为ZFS和此RAID卡不兼容.)
在启动Ubuntu时,系统会枚举驱动器大约需要十秒钟(有14个驱动器 – 两个用于操作系统,12个用于数据存储,稍后将在其他zpool中设置).但是,引导过程会在枚举驱动器之前尝试导入引导池.
The pool Failed to import.
Manually import the pool in this BusyBox shell and then type
exit
to continue the boot process.
如果我在该消息后等待几秒钟,我会看到列出了14个驱动器.
我在BusyBox提示符下输入zpool import rpool,它可以工作(用zpool list确认),然后退出以继续引导过程. (这导致我的下一个问题,内核崩溃,但这是一个单独的问题.)
我尝试将rootdelay = 15添加到启动选项,但这似乎不起作用,因为它似乎想要在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'
这是设置它的方法.
>从Ubuntu Live CD(或任何其他恢复媒体)启动>使用zpool import rpool -R / mnt将池导入/ mnt>绑定必要的filesyststems mount –rbind / dev / mnt / dev; mount –rbind / proc / mnt / proc; mount –rbind / sys / mnt / sys> Chroot到/ mnt:chroot / mnt / bin / bash –login>编辑/ etc / default / zfs将上面的值从0更改为15>运行update-initramfs和update-grub>退出Chroot环境并重新启动