Comment configurer un service pour démarrer après le démarrage d'autofs avec systemd

9

Je dois configurer un serveur de licences sur une machine RHEL7 avec systemd. Le serveur de licences doit démarrer au démarrage et charger un fichier de licence à partir d'un disque partagé sur le réseau. J'ai donc besoin d'attendre que le réseau démarre et que les autofs finissent de monter les disques NFS. J'ai ce dossier de service:

[Unit]
Description=Flexnet license server
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service

[Service]
Type=forking
User=licenseuser
Group=devusers
ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target

Le service démarre après le démarrage d'autofs, mais avant qu'autofs n'ait monté tous les disques, le serveur de licences ne peut donc pas être démarré.

RegedUser00x
la source

Réponses:

9

Vous devez ajouter ce qui suit

[Unit]
RequiresMountsFor=<path required>

Cela garantira que le chemin est accessible avant de démarrer le service et le montera également s'il ne l'est pas déjà (sauf s'il n'a pas spécifié d'auto). Vérifiez auprès de vos pages de manuel (man systemd.unit) si l'option est prise en charge dans votre système car la mienne est assez à la pointe du progrès.

miguelbernadi
la source
1
désolé pour necro, mais que faire s'il s'agit d'un montage NFS et que nfs n'a pas encore commencé? Edit: répondre à ma propre question, je viens de vérifier la page de manuel requiresMountsFor , donc cela semble fonctionner avec les montages nfs aussi longtemps qu'ils sont bien définis dans / etc / fstab sans 'noauto'
Normadize