Pi-hole mit Keepalived und GlusterFS
Geschrieben von Hauke amIch habe mir heute Pi-hole "hochverfügbar" eingerichtet.
Dazu habe ich zunächst per GlusterFS die Daten auf zwei Raspberry Pis synchronisiert. Nebenbei: /etc/pi-hole ist jetzt ein sog. "Bind-Mount" auf das Verzeichnis, in dem per GlusterFS die Dateien für Pi-hole liegen. Das ist in meinem Fall /data/brick01/pihole.
Meine /etc/fstab (auf dem anderen Pi wird mit der IP-Adresse des anderen Pis gemountet):
192.168.50.5:brick01 /data/brick01 glusterfs defaults 0 0 /data/brick01/pihole /etc/pihole none bind 0 0
Per keepalived starte und stoppe ich den FTL-Prozess von Pi-hole dann, je nachdem, ob der Rechner jetzt der primäre Server ist, oder (wieder) der sekundäre. Keepalived startet übrigens auch nur, wenn die Mounts auch erfolgreich waren. Dazu habe ich die SystemD-Unit überschrieben:
[Unit] Description=Pi-hole FTLDNS After=network.target glusterd.service etc-pihole.mount Requires=glusterd.service etc-pihole.mount Wants=nss-lookup.target Before=nss-lookup.target [Service] User=root Group=root PermissionsStartOnly=true Type=forking PIDFile=/run/pihole-FTL.pid ExecStartPre=/bin/touch /var/log/pihole-FTL.log /run/pihole-FTL.pid /run/pihole-FTL.port /var/log/pihole.log ExecStartPre=/bin/rm -f /dev/shm/FTL- ExecStartPre=/bin/mkdir -p /var/run/pihole /var/log/pihole ExecStartPre=/bin/chown pihole:pihole /var/run/pihole /var/log/pihole ExecStartPre=-/bin/rm -f /var/run/pihole/FTL.sock /dev/shm/FTL- ExecStartPre=/bin/chown pihole:pihole /var/log/pihole-FTL.log /run/pihole-FTL.pid /run/pihole-FTL.port /etc/pihole /etc/pihole/dhcp.leases /var/log/pihole.log ExecStartPre=/bin/chmod 0644 /var/log/pihole-FTL.log /run/pihole-FTL.pid /run/pihole-FTL.port /var/log/pihole.log ExecStartPre=/bin/echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.piholeFTL ExecStopPost=/bin/rm -f /dev/shm/FTL-* ExecStart=/usr/bin/pihole-FTL RestartSec=30s ExecReload=/bin/kill -HUP $MAINPID TimeoutStopSec=10s ProtectSystem=full ReadWriteDirectories=/etc/pihole [Install] WantedBy=multi-user.target
Leider werden in /dev/shm die Einträge für FTL nicht ordentlich weggeräumt. deshalb erledige ich das in meiner Unit zusätzlich.
Trackbacks
Trackback-URL für diesen EintragDieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.
Keine Trackbacks
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare
Ansicht der Kommentare: Linear | VerschachteltNoch keine Kommentare