Il problema
In /etc/systemd/system il file dell'unità di montaggio è stato creato con il nome “test.mount”. La directory del punto di montaggio creata è /home/test. Sotto le opzioni del file dell'unità di montaggio in "Where= ” il punto di montaggio configurato è /home/test. Il dispositivo su cui verrà montato il filesystem è /dev/xvdb1 ed è stato definito in “What= " opzione. Quando si configura il file dell'unità di montaggio per montare un filesystem, non riesce con il seguente errore:
# 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
Il file /var/log/messages mostra gli stessi errori:
Mar 20 15:34:19 [vm_name] systemd: test.mount's Where= setting doesn't match unit name. Refusing.
La soluzione
L'unità di montaggio in /etc/systemd/system ha il nome del file dell'unità di montaggio errato. Secondo la pagina man di systemd.mount:
# 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.
La sezione sopra nelle pagine man mostra – Le unità di montaggio devono avere il nome delle directory del punto di montaggio che controllano. Esempio:il punto di montaggio /home/john deve essere configurato in un file unit home-john.mount. Nota importante che il carattere "/" dovrebbe cambiare come "-"
Modificare il nome dell'unità del file di montaggio con il nome corretto da:test.mount a home-test.mount . Prova di nuovo per montare l'unità di montaggio.
# systemctl start home-test.mount # mount | grep test /dev/xvdb1 on /home/test type ext4 (rw,relatime,seclabel,data=ordered)