Override systemd unit file

Manchmal ist es sinnvoll die von upstram mitgelieferten systemd-unit files zu erweitern bzw zu ergänzen.

Beispiel starte das libvirtd.service erst nach dem nfs verfügbar ist.

Diese Vorgangsweise macht wirklich nur Sinn wenn der NFS-Server auf der gleichen Maschine läuft wie der KVM (libvirt) Server.

Zuerst schauen wir uns die Abhängigkeit mitttels systemctl show an

systemctl show libvirtd.service

oder alternativ mittels

cat /lib/systemd/system/libvirtd.service

Zusätzlich Abhängigkeit einfügen

Mein virtueller docker Host benützt als Variablenspeicher für seine Container den nfs Server des Hosts, daher sollte dieser auch verfügbar sein wenn der Container startet.

Dies kann man damit erreichen das beim start der docker Services auf das das vorhandensein des nfs Mount gewartet wird. Es ist jedoch nicht sinnvoll das libvirtd.service File zu verändern, da es bei einer Änderung von upstram überschrieben wird. Systemd stellt daher einen overriding Mechanismus zur Verfügung.


systemctl edit libvirtd.service

Startet automatisch den standard Text-Editor, und man kann folgendes eingeben und abspeichern.

[Unit]
Requires=nfs-kernel-server
After=nfs-kernel-server

Wenn der Editor beendet wird führt systemd automatisch ein systemctl daemon-reload aus
Mittels

systemctl show libvirtd.service

Kann man überprüfen dass hier wirklich nur ein zusätzlicher Eintrag für den Konfigurationspunkt  [Unit] gemacht wurde.
Das override File liegt dann unter /etc/systemd/system/libvirtd.service.d/override.conf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.