Redis

Seit opsi 4.2 benötigt der opsi-Server Zugriff auf einen Redis-Server (Port 6379). Redis (Remote Dictionary Server) ist eine In-Memory-Datenbank mit einer einfachen Schlüssel-Werte-Datenstruktur (Key Value Store), also eine nicht-relationale Datenbank. opsi nutzt Redis vor allem, damit mehrere Worker-Prozesse auf einem System miteinander kommunizieren können.

Wenn Sie bei der Server-Installation (siehe Kapitel Installation und Inbetriebnahme) das Paket opsi-server-full installiert haben, werden der Redis-Server und das RedisTimeSeries-Modul automatisch auf dem opsi-Server installiert und eingerichtet. Wenn Sie Redis auf einem anderen Server betreiben möchten, dann können Sie stattdessen opsi-server bzw. opsi-server-expert installieren und anschließend auf diesem anderen Server die beiden Pakete redis-server bzw. redis-timeseries einspielen.

Die opsiconfd-Admin-Seite zeigt Redis-Status-Informationen an, führt Redis-Kommandos aus und leert den Redis-Cache (siehe Abschnitt Redis-Interface).

Konfiguration

Die Datei /etc/redis/redis.conf enthält die von den opsi-Entwicklern angepasste Konfiguration für den Redis-Server, die unter anderem das RedisTimeSeries-Modul lädt. Hier ist ebenfalls eingestellt, dass Redis als Dienst im Hintergrund läuft und auf Port 6379 auf allen Schnittstellen lauscht. Die Konfiguration bestimmt zudem den Loglevel (notice) und das Logfile (/var/log/redis/redis-server.log).

Die Datei legt fest, dass ein Datenbank-Dump in die Datei dump.rdb geschrieben wird, die sich im Verzeichnis /var/lib/redis befindet (siehe auch Abschnitt Sicherung der Redis-Datenbank).

Leistung optimieren

Sie können die Leistung von Redis in Verbindung mit opsi optimieren. In der Voreinstellung verbindet sich der opsiconfd über Port 6379 per TCP/IP mit dem Redis-Server. Sofern der Redis-Server auf demselben System wie der opsi-Server läuft, kann die Verbindung alternativ auch über einen Unix-Socket erfolgen. Laut Redis-Dokumentation sorgt das für einen etwa 50 % höheren Durchsatz als über die TCP/IP-Verbindung.

Um die Verbindung über den Unix-Socket zu aktivieren, passen Sie die Option unixsocket in der Datei /etc/redis/redis.conf an. Außerdem setzen Sie in der Datei /etc/opsi/opsiconfd.conf den Parameter redis-internal-url auf unix://<pfad-zu-redis-server.sock>.

Damit die Verbindung über den Unix-Socket gelingt, stellen Sie sicher, dass der Benutzer opsiconfd Zugriffsberechtigungen auf den Socket hat (siehe uch Kapitel Berechtigungen).