У меня установлен Debian 10 (Buster), и я добавил ZFS из Backports. У меня есть 4 iSCSI-LUN, которые я использую как диски для ZFS. Каждый LUN имеет отдельный zpool.
Пока что настройка ZFS работает. Но система нестабильна после перезагрузки. Иногда после перезагрузки все тома ZFS восстанавливаются и монтируются правильно, иногда нет. Я думаю, что это происходит, потому что ZFS не ждет завершения iSCSI.
Я попытался:
/etc/systemd/system/zfs-import-cache.d/after-open-iscsi.conf
[Unit]
After=open-iscsi.service
BindsTo=open-iscsi.service
systemd-analysis критическая цепочка zfs-import-cache.service
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
zfs-import-cache.service +1.602s
└─open-iscsi.service @2min 1.033s +286ms
└─iscsid.service @538ms +72ms
└─network-online.target @536ms
└─ifup@eth0.service @2min 846ms
└─apparmor.service @2min 748ms +83ms
└─local-fs.target @2min 745ms
└─exports-kanzlei.mount @2min 3.039s
└─local-fs-pre.target @569ms
└─keyboard-setup.service @350ms +216ms
└─systemd-journald.socket @347ms
└─system.slice @297ms
└─-.slice @297ms
Это не решает моих проблем. Возможно, материал iSCSI не готов, но уже активирован системой, поэтому ZFS не находит свои устройства.
В настоящее время единственный очень грязный обходной путь - это несколько правил в /etc/rc.local:
systemctl start zfs-import-cache.service
systemctl start zfs-mount.service
systemctl start zfs-share.service
systemctl start zfs-zed.service
zfs mount -a
Это работает, но мне нужно чистое решение.
Чего я действительно не понимаю и что сводит меня с ума, так это то, что в Debian существуют /etc/init.d/scriptname, а также файлы модулей systemd. Какой из них используется? sysvinit или systemd? Почему оба предусмотрены? Какие из них лучше?
Итак, в настоящее время я чувствую, что у меня здесь нестабильный процесс загрузки.
Спасибо за любую помощь ;-)