Falls Sie einen eigenen Rechner als dnbd3-Proxy abstellen wollen, müssen Sie dnbd3 zur Installation aus den Quellen kompilieren. Für eine Minimalinstallation benötigen Sie nur den Server-Part.
Die aktuelle (englischsprachige) Anleitung befindet sich im dnbd3 git Repository auf git.openslx.org (gespiegelt auf github.com). Bei Problemen oder Unklarheiten lohnt sich evtl. ein Blick in diese, falls Änderungen noch nicht in diesen Artikel übertragen wurden. Die dortige Anleitung bezieht sich allerdings auf alle Komponenten des DNBD3-Projekts. Zum Betrieb eines Proxies ist jedoch nur der dnbd3-server notwendig. Insbesondere das Kernelmodul braucht nicht kompiliert und installiert zu werden, was u.a. die Installation von Kernel-Headern erspart.
Es ist wie immer vorzuziehen, den dnbd3-Proxy unter einem unprivilegierten User laufen zu lassen. Erzeugen Sie daher eine Gruppe dnbd3 und einen User dnbd3. Der User dnbd3 benötigt kein Shell-Login und kein Homeverzeichnis:
groupadd dnbd3 useradd -g dnbd3 -s /bin/false -d /nonexistent -M dnbd3
apt install git \ make \ cmake \ gcc \ libjansson-dev
Besorgen Sie sich anschließend den Quellcode mit
git clone https://git.openslx.org/dnbd3.git
Wechseln sie in das nach dem git-Befehl vorhandene Verzeichnis dnbd3, erzeugen darin ein Verzeichnis build und wechseln in dieses:
cd dnbd3 mkdir build && cd build
Führen Sie dort, also im build-Verzeichnis, folgenden Befehl aus:
cmake -DDNBD3_KERNEL_MODULE=OFF -DDNBD3_CLIENT_FUSE=OFF -DDNBD3_SERVER=ON -DDNBD3_SERVER_FUSE=OFF -DCMAKE_BUILD_TYPE=Release ..
Die eigentliche Kompilierung starten Sie mit:
make install
Nach der Kompilierung finden Sie unter /etc/dnbd3-server/sample/ eine Beispielkonfiguration. Kopieren Sie diese ein Verzeichnis nach oben und passen Sie diese entsprechend Ihrer Umgebung an.
cp /etc/dnbd3-server/sample/* /etc/dnbd3-server/
Am wichtigsten ist der Eintrag des Satellitenservers in dieser Datei, damit der Proxy-Server eine Quelle für die Images kennt. Die Eintragung anderer Proxy-Server sorgt für zusätzliche Redundanz bzw. Lastausgleich für die Replikation. Es ließen sich jedoch auch beliebig komplizierte Hierarchien konstruieren, in denen es auch Proxies gibt, die die Images nicht direkt vom Satellitenserver beziehen, sondern von anderen Proxies.
[IP des Satellit] [IP anderer Proxy 1, wenn vorhanden] [IP anderer Proxy 2, wenn vorhanden, usw.]
Hier müssen Sie in der Regel nur Ihren Satellitenserver (sowie standardmäßig 127.0.0.1) freischalten.
# localhost 127.0.0.0/8 ALL [IP des Satellitenservers] ALL
Die wichtigsten Optionen sind:
server.conf
unter basePath
angegebene Verzeichnis ggf. zu erstellen und dafür zu sorgen, dass der User dnbd3 lesen und schreiben kann.
Damit der Server nicht mit root-Rechten ausgeführt wird, sondern unter dem im ersten Schritt angelegten dnbd3-User startet, muss das Service File noch angepasst werden.
Ergänzen Sie daher die Datei /etc/systemd/system/dnbd3-server.service. Fügen Sie im Block [Service] die Zeile User=dnbd3 ein.
Führen Sie anschließend die Befehle
systemctl daemon-reload
und
systemctl enable dnbd3-server.service
aus, damit der dnbd3-Proxy bei jedem Neustart automatisch gestartet wird.
Starten Sie den Server abschließend mit:
systemctl start dnbd3-server
Als letzter Schritt muss der neue Proxy dem zuständigen Satellitenserver mitgeteilt werden. Gehen Sie hierzu in der Webschnittstelle des Satellitenservers auf den Menupunkt DNBD3 und wählen „+Externen Server hinzufügen“.
Geben Sie dann die IP des Proxys ein, …
… aber drücken Sie auf „Testen“, bevor Sie die IP speichern.
Klicken Sie anschließend auf das Doppelpfeilsymbol neben „Serverliste“ zur Aktualisierung der Anzeige.