iscsi boot+zfs root

rpm

zfs-dracut

dracut内でzfs周りのスクリプトが動作する前にモジュールをロードする

rd.driver.pre=zfs

mountpoint=legacy以外の時

rootflags=zfsutil

mountpoint=legacyの際にzfsutilを使わない

/usr/lib/dracut/modules.d/90zfs/zfs-generator.sh

#case ",${rootflags}," in
# *,zfsutil,*) ;;
# ,,) rootflags=zfsutil ;;
# *) rootflags="zfsutil,${rootflags}" ;;
#esac

iscsi initiatorの初期化終了までzfs-importを遅延させる

/etc/systemd/system/zfs-import-cache.service.d/override.conf

[Service]
ExecStart=
ExecStart=/usr/bin/bash -c "sleep 12;/sbin/zpool import -c /etc/zfs/zpool.cache -aN $ZPOOL_IMPORT_OPTS"