Ga naar de inhoud
Home » Mounten met systemd

Mounten met systemd

/etc/fstab …. zooooooo 1999 … tegenwoordig mouten we met systemd.

Voorbeeld: mount 192.168.2.6:/volume1/tenhoopen op /tenhoopen via systemd

LET OP: als een filesysteem gemount moet worden op b.v. /NAS/Arjan dan moet de naam van de .mount (en straks ook van de .automount file) NAS-Arjan.mount zijn (dat streepje …)!!!

Maak bestand /etc/systemd/system/tenhoopen.mount met inhoud

[Unit] 
Description=Mount unit for /tenhoopen 

[Mount] 
What=192.168.2.6:/volume1/tenhoopen 
Where=/tenhoopen 
Type=nfs 
Options=nfsvers=3 

[Install] 
WantedBy=multi-user.target

In mijn geval wordt er gemount vanaf een oude NAS die niet alleen blij wordt van nfs versie 3 🙂 , dan enabelen

sudo systemctl enable tenhoopen.mount

Nu rebooten en voila

Is het toch niet voila .. dan kijken wat er aan de hand is:

arjan@arjanpc:/etc/systemd/system> sudo systemctl status /tenhoopen 
× tenhoopen.mount - Mount unit for /tenhoopen 
    Loaded: loaded (/etc/systemd/system/tenhoopen.mount; enabled; vendor preset: disabled) 
    Active: failed (Result: exit-code) since Wed 2022-07-20 22:56:58 CEST; 49s ago 
     Where: /tenhoopen 
      What: 192.168.2.6:/volume1/tenhoopen 

jul 20 22:56:58 arjanpc systemd[1]: Mounting Mount unit for /tenhoopen... 
jul 20 22:56:58 arjanpc mount[1294]: Created symlink /run/systemd/system/remote-fs.target.wants/rpc-statd.service → /usr/lib/systemd/system/rpc-statd.service. 
jul 20 22:56:58 arjanpc mount[1240]: mount.nfs: Network is unreachable 
jul 20 22:56:58 arjanpc systemd[1]: tenhoopen.mount: Mount process exited, code=exited, status=32/n/a 
jul 20 22:56:58 arjanpc systemd[1]: tenhoopen.mount: Failed with result 'exit-code'. 
jul 20 22:56:59 arjanpc systemd[1]: Failed to mount Mount unit for /tenhoopen. 
arjan@arjanpc:/etc/systemd/system>

Dit begrijp ik niet (jij wel?) maar het probleem is Network is unreachable. Kleine aanpassing aan tenhoopen.mount:

[Unit] 
Description=Mount unit for /tenhoopen
After=network.target  
# Some people say that these two will work, if you also enable NetworkManager-wait-online.service
# However not for me :(
#Wants=network-online.target
#After=network-online.target

[Mount] 
What=192.168.2.6:/volume1/tenhoopen 
Where=/tenhoopen 
Type=nfs 
Options=_netdev,nfsvers=3 

[Install] 
WantedBy=multi-user.target

En na een reboot zijn ze automatisch gemount!

Wil je nu op de commando regel mounten:

sudo systemctl start tenhoopen.mount

en unmounten

sudo systemctl stop tenhoopen.mount

Werkt het echter nog niet dan kun je er ook nog een automount van maken (ik geef toe dat dat eigenlijk niet nodig zou moeten zijn…)

Maak naast de tenhoopen.mount file ook een tenhoopen.automount bestand aan:

[Unit]
Description=Automount /tenhoopen

[Automount]
Where=/tenhoopen

[Install]
WantedBy=multi-user.target

Natuurlijk enabelen:

sudo systemctl enable tenhoopen.automount

Vervolgens rebooten en dan zou het moeten werken ….

Meer weten (of meer detail) … kijk hier: https://forum.manjaro.org/t/root-tip-how-to-systemd-mount-unit-samples/1191 en https://blog.tomecek.net/post/automount-with-systemd/ daar heb ik het ook geleerd LOL