Das Problem
Unter /etc/systemd/system Die Mount-Unit-Datei wurde mit dem Namen „test.mount“ erstellt. Das erstellte Mount-Point-Verzeichnis ist /home/test. Unter den Mount-Unit-Dateioptionen in der Datei „Where= ” Der konfigurierte Einhängepunkt ist /home/test. Das Gerät, auf dem das Dateisystem gemountet wird, ist /dev/xvdb1 und wurde unter „What=“ definiert " Möglichkeit. Beim Konfigurieren der Mount-Unit-Datei zum Mounten eines Dateisystems schlägt dies mit dem folgenden Fehler fehl:
# systemctl start test.mount Failed to start test.mount: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status test.mount' for details.
# systemctl status test.mount ● test.mount - Test Mount Units Loaded: error (Reason: Invalid argument) Active: inactive (dead) Where: /home/test What: /dev/xvdb1
Die Datei /var/log/messages zeigt dieselben Fehler:
Mar 20 15:34:19 [vm_name] systemd: test.mount's Where= setting doesn't match unit name. Refusing.
Die Lösung
Die Einhängeeinheit unter /etc/systemd/system hat den falschen Dateinamen der Einhängeeinheit. Gemäß systemd.mount Manpage:
# man systemd.mount ... Where= Takes an absolute path of a directory of the mount point. If the mount point does not exist at the time of mounting, it is created. This string must be reflected in the unit filename. (See above.) This option is mandatory.
Der obige Abschnitt in Manpages zeigt – Einhängeeinheiten müssen nach den Einhängepunktverzeichnissen benannt werden, die sie kontrollieren. Beispiel:Der Einhängepunkt /home/john muss in einer Unit-Datei home-john.mount konfiguriert werden. Wichtiger Hinweis:Das Zeichen „/“ sollte sich wie „-“ ändern
Ändern Sie den Namen der Mount-Dateieinheit in den richtigen Namen von:test.mount zu home-test.mount . Testen Sie erneut, um die Mount-Einheit zu montieren.
# systemctl start home-test.mount # mount | grep test /dev/xvdb1 on /home/test type ext4 (rw,relatime,seclabel,data=ordered)