Ich muss ein Gluster-Volume erstellen, das ich beim Booten mounten kann. Das Platzieren in /etc/fstab führt nicht zu zuverlässigen Ergebnissen.
Ich habe den folgenden systemd-Dienst eingerichtet:
[Unit]
Description=Gluster Mount
[Service]
Type=oneshot
ExecStart=/bin/mount /data
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Wenn dieser Dienst beim Booten ausgeführt wird, gibt er Folgendes zurück:
root@web1:~# systemctl status gluster-mount.service
â gluster-mount.service - Gluster Mount
Loaded: loaded (/etc/systemd/system/gluster-mount.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2018-03-13 04:05:43 UTC; 3min 20s ago
Process: 627 ExecStart=/bin/mount /data (code=exited, status=1/FAILURE)
Main PID: 627 (code=exited, status=1/FAILURE)
Mar 13 04:05:39 web1 systemd[1]: Starting Gluster Mount...
Mar 13 04:05:43 web1 systemd[1]: gluster-mount.service: Main process exited, code=exited, status=1/FAILURE
Mar 13 04:05:43 web1 systemd[1]: Failed to start Gluster Mount.
Mar 13 04:05:43 web1 systemd[1]: gluster-mount.service: Unit entered failed state.
Mar 13 04:05:43 web1 systemd[1]: gluster-mount.service: Failed with result 'exit-code'.
Wenn ich nach dem Anmelden einen „Neustart“ für diesen Dienst ausführe, funktioniert er einwandfrei. Was übersehe ich?
Antwort1
Ändern Sie also den Typ, um idle
das Problem zu lösen. Per Definition idle
wartet der Typ, bis alles andere versendet wurde, bevor die Serviceanforderung verarbeitet wird. Ich hatte das Gefühl, dass es mit dem Timing zu tun hatte, und dies war das einzige, was das Problem tatsächlich behoben hat.
[Unit]
Description=Gluster Mount
[Service]
Type=idle
ExecStart=/bin/mount /data
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target