Se eu usar este comando:
mount -t xfs -o noatime,nodiratime,logbufs=8 -L d1 /srv/node/d1
tudo funciona corretamente. Mas se eu tentar montar através da systemd
montagem, ele falhará.
Eu criei um arquivo /etc/systemd/system/mnt-d1.mount
com o seguinte conteúdo:
[Unit]
Description = Disk 1
[Mount]
What = LABEL=d1
Where = /srv/node/d1
Type = xfs
Options = noatime,nodiratime,logbufs=8
[Install]
WantedBy = multi-user.target
Depois disso, eu executo estes comandos:
systemctl daemon-reload
systemctl start mnt-d1.mount
O último me mostrou:
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
mostrou-me:
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.
Por favor, ajude-me a montar um disco através de uma systemd
unidade de montagem.
Respostas:
A mensagem de erro explica a causa:
embora entender essa mensagem exija a leitura de várias páginas do manual.
Por
systemd.mount
página de manual (enfatize a minha):A parte "veja acima" é:
OK, a
systemd.unit
página de manual afirma que:apontando para a
systemd-escape
página de manual, que explica como fazê-lo:Então, no seu caso, se
/srv/node/d1
traduz emsrv-node-d1.mount
fonte
\x2d
fuga no estilo C , que quando usada para criar o arquivo de unidade pode (dependendo do seu shell / editor) precisar escapar novamente do caractere de barra - para que a montagem do arquivo de unidade/some-path
possa ser adequada. requer execuçãoedit some\\x2dpath.mount
share-name
. Renomearshare_name
resolveu o problema.