J'ai installé Debian 10 (Buster) et j'ai ajouté ZFS à partir de Backports. J'ai 4 iSCSI-LUNs que j'utilise comme disques pour ZFS. Chaque LUN contient un zpool séparé.
Jusqu'à présent, la configuration ZFS fonctionne. Mais le système n'est pas stable au redémarrage. Parfois, après le redémarrage, tous les volumes ZFS sont restaurés et montés correctement, parfois non. Je pense que cela se produit parce que ZFS n'attend pas la fin du processus iSCSI.
J'ai essayé :
$ cat /etc/systemd/system/zfs-import-cache.d/after-open-iscsi.conf
[Unit]
After=open-iscsi.service
BindsTo=open-iscsi.service
$ systemd-analyze critical-chain 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
Cela ne résout pas mes problèmes. Probablement que le matériel iSCSI n'est pas prêt mais déjà activé par le système et donc ZFS ne trouve pas ses périphériques.
Actuellement, la seule solution de contournement très sale est de mettre des règles dans /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
Cela fonctionne, mais je veux une solution propre.
Ce que je ne comprends vraiment pas et ce qui me rend fou, c'est que dans Debian, il existe /etc/init.d/scriptname
et aussi systemd
dossiers de l'unité. Lequel est utilisé ? sysvinit ou systemd ? Pourquoi les deux sont fournis ? Lesquels sont les meilleurs ?
Donc, actuellement, j'ai l'impression que le processus de démarrage n'est pas stable.
0 votes
C'est exactement la question que je me pose actuellement. Je ne trouve pas de solution recommandée pour cela. Le manuel systemd fournit suffisamment d'informations pour que je puisse concevoir des tentatives de solutions, mais ce que j'ai essayé jusqu'à présent ne fonctionne pas. Si vous avez trouvé une solution, veuillez poster votre réponse.