Centos
如何正確命名 systemd 掛載單元?
我正在嘗試通過 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