INTRODUCTION
Aside from managing services, systemd can also handle filesystem mounts similar to /etc/fstab. In this post, I
will show you how to mount local and remote filesystems using systemd.
MOUNTING A LOCAL FILESYSTEM
1. Create your .mount unit file
cat << EOF >> /etc/systemd/system/test.mount # unit filename must match the mountpoint
[Unit]
Description=test mount
[Mount]
What=/dev/mapper/test_vg-test_lv
Where=/test # this mountpoint must match the name of the unit file
# if this directory doesn't exist, systemd will create it with 0755 permissions
[Install]
WantedBy=multi-user.target # if we want to mount the fs on boot, add this Install section
EOF
systemctl daemon-reload
systemctl start test.mount
systemctl enable test.mount # this mounts filesystem at startup
2. Validate mount
[root@server ~]# df /test
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/test_vg-test_lv 1041060 32944 1008116 4% /test
[root@server ~]#
Now that you have mounted a filesystem using systemd, you can unmount it by "systemctl stop test.mount"
or still by traditional way of "umount /test". The latter will automatically stop test.mount. If the mountpoint
is as series of directory tree (e.g /test/sub1), change the unit filename to test-sub1.mount and update
the Where= option.
MOUNTING A REMOTE FILESYSTEM
In the previous part, we used a local filesystem. Now let's try using a CIFS share to mount using systemd.
1. Create your .mount unit file
cat << EOF >> /etc/systemd/system/cifs.mount
[Unit]
Description=test mount (CIFS)
[Mount]
What=//192.168.122.11/share
Where=/cifs
Options=credentials=/root/cifscreds # you can specify here mount options
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start cifs.mount
systemctl enable cifs.mount
2. Validate mount
[root@server ~]# df /cifs
Filesystem 1K-blocks Used Available Use% Mounted on
//192.168.122.11/share 1041060 32944 1008116 4% /cifs
[root@server ~]#
SOURCES
Man pages:
systemd.mount(5) - contains basice usage and options
No comments:
Post a Comment