mount filesystem in certain order one after the other
This document (000021169) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 12 SPx
SUSE Linux Enterprise Server for SAP Applications 15 SPx
SUSE Linux Enterprise Server for SAP Applications 12 SPx
Situation
For example, the expected result is to mount /opt/data2 first, then mount /opt/data1
# grep vdb /etc/fstab /dev/vdb2 /opt/data2 xfs defaults 0 0 /dev/vdb1 /opt/data1 xfs defaults 0 0
But the actual result is to mount /opt/data1 first, then mount /opt/data2
# dmesg -T |grep vdb [Mon Aug 14 14:51:34 2023] virtio_blk virtio6: [vdb] 41943040 512-byte logical blocks (21.5 GB/20.0 GiB) [Mon Aug 14 14:51:34 2023] vdb: vdb1 vdb2 [Mon Aug 14 14:51:38 2023] XFS (vdb1): Mounting V5 Filesystem [Mon Aug 14 14:51:38 2023] XFS (vdb2): Mounting V5 Filesystem [Mon Aug 14 14:51:38 2023] XFS (vdb1): Ending clean mount [Mon Aug 14 14:51:38 2023] XFS (vdb2): Ending clean mount # df -Th |grep vdb /dev/vdb1 xfs 5.0G 38M 5.0G 1% /opt/data1 /dev/vdb2 xfs 15G 48M 15G 1% /opt/data2
Resolution
# grep vdb /etc/fstab /dev/vdb2 /opt/data2 xfs defaults 0 0 /dev/vdb1 /opt/data1 xfs defaults,x-systemd.requires-mounts-for=/opt/data2 0 0 # rebootAfter reboot to verify
# dmesg -T |grep vdb [Mon Aug 14 14:58:53 2023] virtio_blk virtio6: [vdb] 41943040 512-byte logical blocks (21.5 GB/20.0 GiB) [Mon Aug 14 14:58:53 2023] vdb: vdb1 vdb2 [Mon Aug 14 14:58:57 2023] XFS (vdb2): Mounting V5 Filesystem [Mon Aug 14 14:58:57 2023] XFS (vdb2): Ending clean mount [Mon Aug 14 14:58:57 2023] XFS (vdb1): Mounting V5 Filesystem [Mon Aug 14 14:58:57 2023] XFS (vdb1): Ending clean mount # df -Th |grep vdb /dev/vdb2 xfs 15G 48M 15G 1% /opt/data2 /dev/vdb1 xfs 5.0G 38M 5.0G 1% /opt/data1
Since we are using fstab to perform these changes, systemd will create a service unit file for individual fstab entries inside /run/systemd/generator/
# ls -lt /run/systemd/generator/
total 56
-rw-r--r-- 1 root root 343 Aug 14 14:58 -.mount
-rw-r--r-- 1 root root 382 Aug 14 14:58 \x2esnapshots.mount
-rw-r--r-- 1 root root 398 Aug 14 14:58 boot-grub2-i386\x2dpc.mount
-rw-r--r-- 1 root root 404 Aug 14 14:58 boot-grub2-x86_64\x2defi.mount
-rw-r--r-- 1 root root 300 Aug 14 14:58 dev-disk-by\x2duuid-b929613f\x2d4f4c\x2d40e4\x2da392\x2d2ab9cf82eb32.swap
-rw-r--r-- 1 root root 370 Aug 14 14:58 home.mount
drwxr-xr-x 2 root root 300 Aug 14 14:58 local-fs.target.requires
drwxr-xr-x 2 root root 60 Aug 14 14:58 local-fs.target.wants
-rw-r--r-- 1 root root 332 Aug 14 14:58 opt-data1.mount
-rw-r--r-- 1 root root 245 Aug 14 14:58 opt-data2.mount
-rw-r--r-- 1 root root 368 Aug 14 14:58 opt.mount
-rw-r--r-- 1 root root 370 Aug 14 14:58 root.mount
-rw-r--r-- 1 root root 368 Aug 14 14:58 srv.mount
drwxr-xr-x 2 root root 60 Aug 14 14:58 swap.target.requires
-rw-r--r-- 1 root root 368 Aug 14 14:58 tmp.mount
-rw-r--r-- 1 root root 380 Aug 14 14:58 usr-local.mount
-rw-r--r-- 1 root root 368 Aug 14 14:58 var.mount
The systemd generated mount unit file as below
# cat /run/systemd/generator/opt-data1.mount # Automatically generated by systemd-fstab-generator [Unit] Documentation=man:fstab(5) man:systemd-fstab-generator(8) SourcePath=/etc/fstab RequiresMountsFor=/opt/data2 Before=local-fs.target After=blockdev@dev-vdb1.target [Mount] Where=/opt/data1 What=/dev/vdb1 Type=xfs Options=defaults,x-systemd.requires-mounts-for=/opt/data2
Cause
Status
Additional Information
x-systemd.requires-mounts-for=
Configures a RequiresMountsFor= dependency between the created mount unit and other mount units. The argument must be an absolute path. This option may be specified more than once. See RequiresMountsFor= in systemd.unit(5) for details.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021169
- Creation Date: 14-Aug-2023
- Modified Date:15-Aug-2023
-
- SUSE Linux Enterprise Server
- SUSE Linux Enterprise Server for SAP Applications
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com