Si j'utilise cette commande:
mount -t xfs -o noatime,nodiratime,logbufs=8 -L d1 /srv/node/d1
tout fonctionne correctement. Mais si j'essaie de monter à travers le systemd
support, il échoue.
J'ai créé un fichier /etc/systemd/system/mnt-d1.mount
avec le contenu suivant:
[Unit]
Description = Disk 1
[Mount]
What = LABEL=d1
Where = /srv/node/d1
Type = xfs
Options = noatime,nodiratime,logbufs=8
[Install]
WantedBy = multi-user.target
Après cela, j'exécute ces commandes:
systemctl daemon-reload
systemctl start mnt-d1.mount
Le dernier m'a montré:
Failed to start mnt-d1.mount: Unit mnt-d1.mount failed to load: Invalid argument.
See system logs and 'systemctl status mnt-d1.mount' for details.
systemctl status mnt-d1.mount
m'a montré:
May 16 18:13:52 object1 systemd[1]: Cannot add dependency job for unit mnt-d1.mount, ignoring: Unit mnt-d1.mount failed to ...ectory.
May 16 18:24:05 object1 systemd[1]: mnt-d1.mount's Where= setting doesn't match unit name. Refusing.
Aidez-moi à monter un disque via une systemd
unité de montage.
Réponses:
Le message d'erreur explique la cause:
bien que la compréhension de ce message nécessite la lecture de plusieurs pages de manuel.
Par
systemd.mount
page de manuel (mettez l'accent sur le mien):La partie "voir ci-dessus" est:
OK, la
systemd.unit
page de manuel indique que:pointant vers la
systemd-escape
page de manuel qui explique comment le faire:Donc, dans votre cas, se
/srv/node/d1
traduit parsrv-node-d1.mount
la source
\x2d
échappement de style C qui, lorsqu'il est utilisé pour créer le fichier d'unité, peut (en fonction de votre shell / éditeur) devoir à nouveau échapper le caractère barre oblique - de sorte que le montage adapté du fichier d'unité/some-path
peut nécessite de couriredit some\\x2dpath.mount
share-name
. Le renommer ashare_name
résolu le problème.