Jeśli użyję tego polecenia:
mount -t xfs -o noatime,nodiratime,logbufs=8 -L d1 /srv/node/d1
wszystko działa poprawnie. Ale jeśli spróbuję zamontować przez systemd
mount, to zawiedzie.
Utworzyłem plik /etc/systemd/system/mnt-d1.mount
o następującej treści:
[Unit]
Description = Disk 1
[Mount]
What = LABEL=d1
Where = /srv/node/d1
Type = xfs
Options = noatime,nodiratime,logbufs=8
[Install]
WantedBy = multi-user.target
Następnie uruchamiam następujące polecenia:
systemctl daemon-reload
systemctl start mnt-d1.mount
Ostatni pokazał mi:
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
pokazał mi:
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.
Pomóż mi zamontować dysk za pomocą systemd
modułu montowania.
Odpowiedzi:
Komunikat o błędzie wyjaśnia przyczynę:
chociaż zrozumienie tej wiadomości wymaga przeczytania kilku stron podręcznika.
Strona na
systemd.mount
osobę (podkreśl moją):Część „patrz wyżej” to:
OK,
systemd.unit
strona podręcznika stwierdza, że:wskazując
systemd-escape
stronę man, która wyjaśnia, jak to zrobić:Więc w twoim przypadku
/srv/node/d1
przekłada się nasrv-node-d1.mount
źródło
\x2d
ucieczki w stylu C , który, gdy zostanie użyty do utworzenia pliku jednostkowego, może (w zależności od powłoki / edytora) ponownie uciec znak ukośnika - więc montaż pasujący do pliku jednostkowego/some-path
może wymagają uruchomieniaedit some\\x2dpath.mount
share-name
. Zmiana nazwyshare_name
rozwiązała problem.