O Systemd tem suporte nativo para montagens ( man systemd.mount ). Na verdade, o systemd lê /etc/fstab , usa-o para gerar unidades de montagem e monta os próprios sistemas de arquivos.
Em vez de depender de fstab , também é possível criar unidades de montagem manualmente. É assim que as montagens do sistema, como /dev , /sys , /proc , etc, são manipuladas ( /usr/lib/systemd/system/*.mount ). Esse método permite que você use dependências do systemd para garantir que as coisas sejam montadas na ordem correta.
systemd devem ser nomeados após o ponto de montagem que eles controlam ( man systemd.unit ). Como exemplo, criei um arquivo de unidade para montar minha unidade de backup USB em /mnt/backup . Seguindo a convenção de nomenclatura, criei /etc/systemd/system/mnt-backup.mount , com o seguinte conteúdo:
[Unit]
Description = USB backup disk
[Mount]
What = LABEL=david-usb-backup
Where = /mnt/backup
Type = ext4
[Install]
WantedBy = multi-user.target
Eu então executo systemctl daemon-reload para o systemd para carregar a unidade. Posso executar systemctl start mnt-backup.mount para montar o disco e / ou systemctl enable mnt-backup.mount para que ele seja iniciado na inicialização.
Para dependências, adicione Requires = some-other-mnt-point.mount na seção [Unit] . Opcionalmente, você pode usar BindTo em vez de Requires ; isso fará com que ele seja desmontado se uma das dependências desaparecer. No entanto Requires não afeta a ordem em que os discos são montados. Portanto, para garantir que os discos sejam montados antes do aufs, use After .
Editar: para expandir o uso de Requires e After , a seção da unidade pode se parecer com:
[Unit]
Description = USB backup disk
Requires = mnt-data01.mount
Requires = mnt-data02.mount
Requires = mnt-data03.mount
After = mnt-data01.mount
After = mnt-data02.mount
After = mnt-data03.mount