Je voudrais savoir quel est le mécanisme exact (implémentation) utilisé pour différer le montage jusqu'à ce que l'interface réseau soit en place lorsque l'on utilise _netdev
option dans /etc/fstab
?systemd
modifie-t-il ce comportement?
De plus, qu'est-ce que delay_connect
option pour sshfs fournir ce que _netdev
ne fait pas?
De mount
page de manuel :
_netdev
Le système de fichiers réside sur un périphérique qui nécessite un accès réseau (utilisé pour empêcher le système de tenter de monter ces systèmes de fichiers jusqu'à ce que le réseau soit activé sur le système).
De sshfs
page de manuel :
-o delay_connect
retarde la connexion au serveur
Le /etc/init.d/mountall.sh
le script init ne monte que les systèmes de fichiers locaux:
mount -a -t nonfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs,gfs2,ceph -O no_netdev
D'autres systèmes de fichiers sont montés par des scripts d'initialisation séparés, comme par exemple /etc/init.d/mountnfs.sh
, qui déclarent (via les en-têtes LSB) leur dépendance à $network
. Ainsi, ceux-ci sont planifiés plus tard, une fois le réseau mis en place, tandis que mountall.sh
peut s'exécuter beaucoup plus tôt.
Les unités de montage locales sont tirées par local-fs.target
, distants par remote-fs.target
. systemd-fstab-generator
scanne /etc/fstab
, génère des unités de montage et les affecte aux cibles ci-dessus en fonction de conditions similaires à celles ci-dessus.
Cette option signifie que sshfs n'initiera pas la connexion SSH au serveur distant au moment du montage, mais ne le fera que lors de la première opération du système de fichiers qui l'exige. Cela retarde le rapport d'erreurs, mais peut être une solution de contournement utile dans certains cas, par exemple si votre système init n'a pas suffisamment d'informations pour commander correctement l'opération de montage. "Le réseau" étant "en place" est plutôt terme lâche , et même si on peut ajouter des arbitraires dépendances supplémentaires pour monter des unités qui n'aident pas si l'événement déclencheur est ne fait pas partie de la transaction de démarrage (dans le langage systemd).
De man systemd.mount
pour la version 231 de systemd:
Les unités de montage faisant référence aux systèmes de fichiers locaux et réseau se distinguent par leur spécification de type de système de fichiers. Dans certains cas, cela n'est pas suffisant (par exemple, les montages basés sur des périphériques de bloc réseau, tels que iSCSI), auquel cas _ netdev peut être ajouté à la chaîne d'options de montage de l'unité, ce qui oblige systemd à considérer la unité de montage un montage réseau.
Upstart/Udev
Pour les systèmes basés sur upstart
et/ou udev
, cela est légèrement différent.
Il semble que udev
essaiera toujours de monter les systèmes de fichiers NFS et netfs
est un filet de sécurité en cas d'échec.
Corrigez-moi si j'ai tort, s'il-vous plait. de toute façon, cette réponse n'est pertinente que pour certains systèmes hérités récents (Ubuntu 14.04 LTS, RHEL6).