Centos

如何正確命名 systemd 掛載單元?

  • February 15, 2017

我正在嘗試通過 systemd 啟動後自動掛載 CephFS

我有下一個單元:

[Unit]
SourcePath=/etc/fstab
DefaultDependencies=no
After=remote-fs-pre.target
After=network.target
Wants=network.target
After=network-online.target
Wants=network-online.target
Conflicts=umount.target
Before=umount.target

[Mount]
What=ceph-node1:6789,ceph-node2:6789,ceph-node3:6789:/dev
Where=/mnt/cephfs-dev
Type=ceph
Options=name=devuser,secretfile=/etc/ceph/cephuser.secret

[Install]
WantedBy=remote-fs.target

據我所知Where=,設置必須與單位名稱匹配。我接下來做:

[root@centos system]# systemd-escape -p --suffix=mount '/mnt/cephfs-dev'
mnt-cephfs\x2ddev.mount
[root@centos system]# vi /etc/systemd/system/mnt-cephfs\\x2ddev.mount

但是出了點問題:

[root@centos system]# systemctl status mnt-ceph\\x2ddev.mount
● mnt-ceph\x2ddev.mount - /mnt/cephfs-dev
  Loaded: error (Reason: Invalid argument)
  Active: inactive (dead)
   Where: /mnt/cephfs-dev
    What: ceph-node1:6789,ceph-node2:6789,ceph-node3:6789:/dev

May 05 10:07:12 centos.imoldovan-lpt systemd[1]: mnt-ceph\x2ddev.mount's Where= setting doesn't match unit name. Refusing.

如何正確命名單位?顯然,掛載點中的破折號存在問題,/mnt/cephfs-dev但我正是需要這個掛載點。

對此進行一些關閉:

問題是這mnt-ceph\x2ddev.mount是一個錯字。它應該是mnt-cephfs\x2ddev.mount

掛載單元必須以它們控制的掛載點目錄命名。範例:掛載點 /home/lennart 必須在單元文件 home-lennart.mount 中配置。

Mount] What=/dev/vdc Where=/a/b/c Type=xfs 單元文件名必須為“abc.mount”,/usr/lib/systemd/system/abc.mount

引用自:https://serverfault.com/questions/774960