Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
satellite:dnbd3 [2019/03/11 13:33 CET] – [Vorbereitung und Konfiguration] dnbd3 selbstinstallation auslagern simonsatellite:dnbd3 [2021/07/12 15:54 CEST] (aktuell) – [Anwendungsbeispiel] sritter
Zeile 6: Zeile 6:
  
 Die bwLehrpool-Clients beziehen alle benötigten Daten über Netzwerk. Der Satellitenserver liefert im Kilobytebereich Veranstaltungs-Metadaten und im Megabytebereich (~300MB) das grundlegende Minilinux aus; die Virtuellen Maschinen (~Gigabyte) werden in der Regel von einem separaten Storageserver (NFS/CIFS) bezogen. Die Bootdauer der Clients hängt somit maßgeblich von zwei Faktoren ab.  Die bwLehrpool-Clients beziehen alle benötigten Daten über Netzwerk. Der Satellitenserver liefert im Kilobytebereich Veranstaltungs-Metadaten und im Megabytebereich (~300MB) das grundlegende Minilinux aus; die Virtuellen Maschinen (~Gigabyte) werden in der Regel von einem separaten Storageserver (NFS/CIFS) bezogen. Die Bootdauer der Clients hängt somit maßgeblich von zwei Faktoren ab. 
-[{{ :dnbd3:nfs-cifs.png?direct&400|NFS- bzw +{{ :dnbd3:nfs-cifs.png?direct&400|NFS- bzw. CIFS-basierter Aufbau}}
- +
-{{ :dnbd3:3_Satellit_dnbd3_aufklapp_hinzufuegen_getestet.png?250|}} +
-. CIFS-basierter Aufbau}}]+
  
   * Der Leserate des Satelliten- bzw. Storageservers   * Der Leserate des Satelliten- bzw. Storageservers
Zeile 16: Zeile 13:
 Nebenstehende Grafik zeigt schematisch den üblichen Aufbau. Nebenstehende Grafik zeigt schematisch den üblichen Aufbau.
  
-DNBD3 bietet speziell bei schlecht angebundenen Poolräumen Vorteile, wenn zeitgleich eine große Anzahl an Rechnern eine VM anfordert. Durch DNBD3 kann die anfallende Last verteilt und damit eine Reduktion der Bootdauer erzielt werden. In einer ersten Stufe werden lediglich die Virtuellen Maschinen über DNBD3 ausgeliefert. In zukünftigen Versionen kann auch das MiniLinux darüber verteilt werden.+DNBD3 bietet speziell bei schlecht angebundenen Poolräumen Vorteile, wenn zeitgleich eine große Anzahl an Rechnern eine VM anfordert. Durch DNBD3 kann die anfallende Last verteilt und damit eine Reduktion der Bootdauer erzielt werden. Primär werden die Virtuellen Maschinen über DNBD3 ausgeliefert. Aber auch das MaxiLinux wird über DNBD3 und vorhandene Proxyserver verteilt (ab [[news:satellitenserver_ws19:20|Satellitenserver WS19/20 v3.9]]).
  
 ===== Funktionsweise ===== ===== Funktionsweise =====
  
-Im Verbund eingesetzte Proxy-Server können angefragte Blöcke automatisch von anderen Proxy-Servern replizieren. [Hintergrundreplikation?+Im Verbund eingesetzte Proxy-Server können angefragte Blöcke automatisch von anderen Proxy-Servern replizieren.
 Die Clients ermitteln selbstständig den ihnen in Hinblick auf Verbindungsgeschwindigkeit u.a. am nächsten liegenden Proxyserver. Fällt ein Proxy-Server aus, verwenden die Clients automatisch einen anderen Server. Die Clients ermitteln selbstständig den ihnen in Hinblick auf Verbindungsgeschwindigkeit u.a. am nächsten liegenden Proxyserver. Fällt ein Proxy-Server aus, verwenden die Clients automatisch einen anderen Server.
  
 ===== Anwendungsbeispiel ===== ===== Anwendungsbeispiel =====
  
-|[{{:dnbd3:nfs-cifs-bad.png?direct&300 |Aufbau mit möglichem Flaschenhals}}]|Nebenstehende Grafiken zeigen ein gängiges Problem. Raum A ist über einen 10GBit-Switch angebunden. Die Clients sind somit sehr schnell mit Metadaten, MiniLinux sowie der gestarteten VM versorgt. Raum B dagegen ist nur mit einem 100MBit-Switch ans Netzwerk angeschlossen. Daraus resultiert eine deutlich verminderte Bootgeschwindigkeit der Clients. Sowohl MiniLinux, als auch VMs müssen über den 100MBit-Flaschenhals ausgeliefert werden.\\ \\ Mit Hilfe eines DNBD3-Servers bzw. DNBD3-Proxys lässt sich dieses Problem beheben. Die Ausgangslage bleibt die gleiche, jedoch wird anstatt eines NFS/CIFS-Storagesystems nun DNBD3 verwendet. Zusätzlich zum DNBD3-Server wurde im schwach angebundenen Raum B ein zusätzlicher DNBD3-Proxy installiert. Clients in diesem Raum erhalten VMs nun nicht mehr über den zentralen Server, sondern über den Proxy. Jeder Client nimmt eine Metrikmessung vor, um den schnellsten Server zu bestimmen. Ist die angeforderte VM noch nicht auf dem Proxy-Server vorhanden, wird diese automatisch im Hintergrund auf diesen repliziert. Der erste Start einer VM ist daher genauso langsam wie bisher. Nachfolgende Anfragen können jedoch direkt vom Proxy behandelt werden, so dass der bisherige Flaschenhals, die schlechte Anbindung des Raums, entfällt.|[{{ :dnbd3:dnbd3-good.png?direct&300|DNBD3-Proxy: Mitigierter Flaschenhals}}]|+|[{{:dnbd3:nfs-cifs-bad.png?direct&300 |Aufbau mit möglichem Flaschenhals}}]|Nebenstehende Grafiken zeigen ein gängiges Problem. Raum A ist über einen 10GBit-Switch angebunden. Die Clients sind somit sehr schnell mit Metadaten, Grundsystem sowie der gestarteten VM versorgt. Raum B dagegen ist nur mit einem 100MBit-Switch ans Netzwerk angeschlossen. Daraus resultiert eine deutlich verminderte Bootgeschwindigkeit der Clients. Sowohl Grundsystem, als auch VMs müssen über den 100MBit-Flaschenhals ausgeliefert werden.\\ \\ Mit Hilfe eines DNBD3-Servers bzw. DNBD3-Proxys lässt sich dieses Problem beheben. Die Ausgangslage bleibt die gleiche, jedoch wird anstatt eines NFS/CIFS-Storagesystems nun DNBD3 verwendet. Zusätzlich zum DNBD3-Server wurde im schwach angebundenen Raum B ein zusätzlicher DNBD3-Proxy installiert. Clients in diesem Raum erhalten VMs nun nicht mehr über den zentralen Server, sondern über den Proxy. Jeder Client nimmt eine Metrikmessung vor, um den schnellsten Server zu bestimmen. Ist die angeforderte VM noch nicht auf dem Proxy-Server vorhanden, wird diese automatisch im Hintergrund auf diesen repliziert. Der erste Start einer VM ist daher genauso langsam wie bisher. Nachfolgende Anfragen können jedoch direkt vom Proxy behandelt werden, so dass der bisherige Flaschenhals, die schlechte Anbindung des Raums, entfällt.|[{{ :dnbd3:dnbd3-good.png?direct&300|DNBD3-Proxy: Mitigierter Flaschenhals}}]|
  
 <note tip>Voraussetzung ist natürlich, dass innerhalb des Raumes die Anbindung zwischen den Clients und dem Proxy-Server besser als die Anbindung des Raumes selbst ist.</note> <note tip>Voraussetzung ist natürlich, dass innerhalb des Raumes die Anbindung zwischen den Clients und dem Proxy-Server besser als die Anbindung des Raumes selbst ist.</note>
-<note important>Bitte beachten Sie, daß der DNBD3-Server/Proxy derzeit nur ~2000 Dateien indizieren kann.</note>+
 ===== Vorbereitung und Konfiguration ===== ===== Vorbereitung und Konfiguration =====
  
 [{{ :dnbd3:dnbd3_enable.png?direct&300| DNBD3 Verwaltungsseite}}] [{{ :dnbd3:dnbd3_enable.png?direct&300| DNBD3 Verwaltungsseite}}]
  
-Zur Aktivierung DNBD3s wählen Sie im Webinterface den entsprechenden Menüpunkt und klicken auf 'DNDB3 ein-/ausschalten'. Setzen Sie das Häkchen bei 'DNBD3 aktivieren', und gehen anschließend auf Speichern. Im Prinzip war es das schon. Neustartende Clients werden ab sofort die VMs über das DNBD3 Protokoll erhalten.+Zur Aktivierung DNBD3s wählen Sie im Webinterface den entsprechenden Menüpunkt und klicken auf 'DNDB3 ein-/ausschalten'. Setzen Sie das Häkchen bei 'DNBD3 aktivieren', und gehen Sie anschließend auf Speichern. Im Prinzip war es das schon. Neustartende Clients werden ab sofort die VMs über das DNBD3 Protokoll erhalten.
  
 <note important>Der DNBD3-Server indiziert beim Start alle Dateien, die im unter 'VM Speicherort' angegebenen Pfad gefunden werden. Dabei gilt ein Limit von ~2000 Dateien. Achten Sie daher darauf, dass der angegebene Pfad nur den Ordner 'bwlehrpool_store' enthält und keine weiteren Unterordner mit zusätzlichen Dateien. Ansonsten können VMs u.U. nicht gestartet werden und im DNBD3-ServerLog sehen Sie eventuell Fehlermeldungen wie "//ERROR: Image list full: Could not add image//" </note> <note important>Der DNBD3-Server indiziert beim Start alle Dateien, die im unter 'VM Speicherort' angegebenen Pfad gefunden werden. Dabei gilt ein Limit von ~2000 Dateien. Achten Sie daher darauf, dass der angegebene Pfad nur den Ordner 'bwlehrpool_store' enthält und keine weiteren Unterordner mit zusätzlichen Dateien. Ansonsten können VMs u.U. nicht gestartet werden und im DNBD3-ServerLog sehen Sie eventuell Fehlermeldungen wie "//ERROR: Image list full: Could not add image//" </note>
Zeile 43: Zeile 39:
  
  
-[{{ :dnbd3:dnbd3_add_auto_client.png?direct&300| Automatisch konfigurierten Proxy hinzufügen}}]Zur Bereitstellung zusätzlicher Proxy-Server haben Sie zwei Möglichkeiten: +[{{ :dnbd3:dnbd3_add_auto_client.png?direct&300| Automatisch konfigurierten Proxy hinzufügen}}] Zur Bereitstellung zusätzlicher Proxy-Server haben Sie zwei Möglichkeiten: 
-  - Sie installieren auf einem bestehenden Linux-Server DNBD3 und fügen diesen als 'Externen Server' hinzu. Sie sind dann selbst für Konfiguration, Updates, Neustarts usw. verantwortlich. Eine Anleitung zur Installation finden Sie weiter unten im Abschnitt [[dnbd3-proxy installation]]. +  - **Externer (selbst aufgesetzter) Proxy**: Sie installieren auf einem bestehenden Linux-Server DNBD3 und fügen diesen als 'Externen Server' hinzu. Sie sind dann selbst für Konfiguration, Updates, Neustarts usw. verantwortlich. Eine Anleitung zur Installation finden Sie im Artikel [[dnbd3-proxy installation]]. 
-  - **Automatisch konfigurierter Proxy**: Sie nutzen einen dedizierten Rechner, binden diesen in bwLehrpool ein und lassen diesen mindestens einmal bwLehrpool booten, damit er dem System bekannt ist. Anschließend klicken Sie auf 'Automatisch konfigurierten Proxy hinzufügen' und fügen diesen Rechner über die Suche hinzu. Der so konfigurierte Rechner ist nicht als Arbeitsstation nutzbar und startet sich regelmäßig neu, um eventuelle MiniLinux-Updates zu erhalten. Sie müssen nur dafür sorgen, dass der Rechner läuft und innerhalb des Poolraums nicht unabsichtlich ausgeschaltet wird.\\ Zur Speicherung replizierter VMs auf dem Proxy-Server müssen Sie auf der Festplatte des Proxy-Servers eine persistente **ID45**-Partition einrichten. Diese Partiton sollte natürlich von ausreichender Größe sein. Im Gegensatz zur ID44-Partition, die Sie bereits von den bwLehrpool Arbeitsstationen kennen, wird diese nicht bei jedem Neustart formatiert.+  - **Automatisch konfigurierter Proxy**: Sie nutzen einen dedizierten Rechner, binden diesen in bwLehrpool ein und lassen diesen mindestens einmal bwLehrpool booten, damit er dem System bekannt ist. Anschließend klicken Sie auf 'Automatisch konfigurierten Proxy hinzufügen' und fügen diesen Rechner über die Suche hinzu. Der so konfigurierte Rechner ist nicht als Arbeitsstation nutzbar und startet sich regelmäßig neu, um eventuelle MiniLinux-Updates zu erhalten. Sie müssen nur dafür sorgen, dass der Rechner läuft und innerhalb des Poolraums nicht unabsichtlich ausgeschaltet wird.
  
 +Ein Proxy wird im Betrieb die angefragten VMs/Blöcke replizieren und vorhalten, bis die fürs Caching zugewiesene Partition voll ist. Fallen neue Daten zum Caching an, beginnt der Proxy, die am längsten nicht angefragten VMs zu löschen, bis genügend Platz für die neue VM vorhanden ist. Daher ist es empfehlenswert, die Cache-Partition ausreichend zu dimensionieren, damit der Proxy nicht ständig die gleichen VMs in Rotation löscht und wieder repliziert. Dies ist abhängig von der Zahl der verwendeten VMs und der durchschnittlichen VM-Größe; Werte unter 100GB sind selten sinnvoll. Behalten Sie hierzu die Statistiken in der Weboberfläche im Auge; sollte ein Proxy längerfristig mehr Daten replizieren als an Clients ausgeliefert werden, ist die Partition auf dem Proxy vermutlich nicht ausreichend groß.
 +==== Vorbereitung/Konfiguration eines automatisch konfigurierten Proxies ====
  
 +Zur Speicherung replizierter VMs auf dem Proxy-Server müssen Sie auf der Festplatte des Proxy-Servers – ähnlich zur temporären ID44-Partition auf den "normalen" bwLehrpool-Clients – eine persistente **ID45**-Partition einrichten. Diese Partiton sollte natürlich von ausreichender Größe sein. Im Gegensatz zur ID44-Partition wird diese nicht bei jedem Neustart formatiert. Die Einrichtung erfolgt analog zur [[wiki:id44#anlegen_einer_id44-partition | Einrichtung einer ID44 Partition]]. Da auf einem bwLehrpool-Proxy keine temporären Dateien von nennenswerter Größe erzeugt werden, ist die Einrichtung einer ID44-Partition nicht notwendig, bzw. sollten hier 10GB bereits mehr als genug sein.
 +
 +Nach dem Hinzufügen eines automatisch konfigurierten Proxies haben Sie über das Zahnrad-Icon in der im nächsten Abschnitt beschriebenen Serverliste die Möglichkeit, noch einige Anpassungen an der Konfiguration des Proxys vorzunehmen. Diese Einstellungen werden beim Booten des Proxys angewandt. Bitte beachten Sie, dass die Einstellung "Hintergrundreplikation" ignoriert wird, wenn die ID45-Partition des Proxy Servers < 120GB ist. (TODO: Screenshot der config)
  
  
Zeile 77: Zeile 78:
 **Übersicht:** **Übersicht:**
   * Normale Desktophardware   * Normale Desktophardware
-  * Dedizierte 10GBit-Netzwerkkarte +  * Dedizierte 10GBit-Netzwerkkarte (evtl. 1GBit, wenn der Flaschenhals zum Raum < 1Gbit)
   * 8-32GB RAM   * 8-32GB RAM
   * Große Festplatte, um möglichst viele VMs cachen zu können   * Große Festplatte, um möglichst viele VMs cachen zu können
Zeile 83: Zeile 84:
 Es wäre auch möglich, eine Kombination aus SSD und HDD zu verwenden. Mit Hilfe von 'bcache' kann ein hochperformanter Speichercache realisiert werden. Auch hier sind normale Desktop-Speichermedien völlig ausreichend. Diese Konstellation müssen Sie jedoch selbst einrichten. Eine Integration als 'automatischer DNBD3-Proxy' ist in diesem Fall nicht möglich. Wir empfehlen daher im Zweifelsfall eher eine ausreichende Dimensionierung des Arbeitsspeichers und den Verzicht auf SSDs. Es wäre auch möglich, eine Kombination aus SSD und HDD zu verwenden. Mit Hilfe von 'bcache' kann ein hochperformanter Speichercache realisiert werden. Auch hier sind normale Desktop-Speichermedien völlig ausreichend. Diese Konstellation müssen Sie jedoch selbst einrichten. Eine Integration als 'automatischer DNBD3-Proxy' ist in diesem Fall nicht möglich. Wir empfehlen daher im Zweifelsfall eher eine ausreichende Dimensionierung des Arbeitsspeichers und den Verzicht auf SSDs.
  
-===== dnbd3-Proxy-Installation ===== +===== Troubleshooting =====
- +
-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. +
- +
-==== Gruppe und User ==== +
- +
-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: +
- +
-<code>groupadd dnbd3 +
-useradd -g dnbd3 -s /bin/false -d /nonexistent -M dnbd3</code> +
- +
-==== Kompilieren des dnbd3-Servers ==== +
- +
-Achten Sie darauf, daß Sie libjansson (libjansson4) und libjansson-devel benötigen. Installieren Sie diese vorher. Zudem benötigen Sie einen c-Compiler (gcc), make sowie cmake (ccmake), außerdem zum Download git. +
- +
-=== Quellcode und Vorbedingungen === +
- +
-Besorgen Sie sich anschließend den Quellcode mit <code>git clone git://git.openslx.org/dnbd3.git</code> +
- +
-=== Konfiguration === +
- +
-Wechseln sie in das nach dem git-Befehl vorhandene Verzeichnis dnbd3, erzeugen darin ein Verzeichnis build und wechseln in dieses: +
-<code> +
-cd dnbd3 +
-mkdir build +
-cd build +
-</code> +
- +
-== Minimal, nur Server == +
- +
-Führen Sie dort, also im build-Verzeichnis, den Befehl <code>ccmake ..</code> aus. Nach der Meldung 'Empty cache' drücken Sie 'c' zum Konfigurieren. Sie werden zwar wahrscheinlich von einer Fehlermeldung a la "CMake Error at CMakeLists.txt:91 (message): Aborting." begrüßt, ignorieren Sie diese und drücken 'e'. Anschließend sollten Sie einige Optionen sehen: +
- +
-<code>BUILD_FUSE_CLIENT               *ON                                                                                                                  +
-BUILD_KERNEL_MODULE             *ON                                                                                                                  +
-BUILD_SERVER                    *ON +
-...</code> +
- +
-Wählen Sie mit Cursor- und Entertasten so aus, daß lediglich bei BUILD_SERVER 'ON' steht, und tragen Sie bei 'CMAKE_BUILD_TYPE' "Release" ein. Drücken Sie anschließend erneut 'c'; Sie sollten dann keine Fehlermeldung mehr sehen. Drücken Sie erneut 'e', und abschließend 'g'. ccmake sollte sich daraufhin ohne Fehler beenden. Verfahren Sie anschließend weiter wie bei "Kompilierung" beschrieben. +
- +
-== Komplett (Client, Kernelmodul usw.) == +
- +
-Eine komplette Installation ist nicht unbedingt zu empfehlen, da die zusätzlichen Teile (Client, Kernelmodel usw.) nicht für den Betrieb eines dnbd3-Proxys notwendig sind und die zusätzlich benötigten Bibliotheken einigen Raum belegen. Falls Sie sich dennoch für eine komplette Installation entscheiden, installieren Sie zusätzlich die Pakete fuse-devel, fuse-libs, kernel-devel (Kernelsourcen) sowie kernel-headers. Führen Sie anschließend ein 'cmake ..' aus.  +
- +
-=== Kompilierung === +
- +
-Stoßen Sie die Kompilierung mit <code>make</code> an. Sie sollte mit "[100%] Built target dnbd3-server" beendet werden. +
- +
-Sie finden die ausführbare Datei <code>dnbd3-server</code> im gleichen Verzeichnis. Wir schlagen vor, diese in ein zu erstellendes Verzeichnis '/opt/dnbd3' zu kopieren; falls Sie sie an einem anderen Ort haben wollen, geht dies auch; Sie müssen dann allerdings darauf achten, die notwendigen Konfigurationsdateien anzupassen. +
- +
-==== Konfiguration ==== +
- +
-Erstellen Sie ein Verzeichnis <code>/etc/dnbd3-server</code> +
-Erzeugen Sie in diesem drei Dateien, rpc.acl, alt-servers und server.conf. Vergleichen Sie für erweiterte Optionen die Datei dnbd3/conf/README.server. +
- +
-== /etc/dnbd3-server/rpc.acl == +
-<code> +
-# localhost +
-127.0.0.0/8 ALL +
-[IP des Satellitenservers] ALL +
-</code> +
- +
-<note>Die Datei rpc.acl regelt nur die Abfrage der Statusinformationen, nicht den Zugriff auf den dnbd3-proxy an sich. Eine Zugriffsregelung erfolgt vorteilhaft durch iptables. Bitte beachten Sie, daß bei Einträgen der rpc.acl keine Namensauflösung erfolgt; eine Eintragung 'localhost' würde daher nicht funktionieren. Beachten Sie auch, daß bei nicht vorhandener rpc.acl, leerer rpc.acl oder einer rpc.acl mit nicht verständlichem (namensbasiertem) Eintrag keine Kontrolle erfolgt, also der Status von überall ausgelesen werden kann.</note> +
- +
-== /etc/dnbd3-server/alt-servers == +
-<code> +
-[IP des Satellit] +
-[IP anderer Proxy 1, wenn vorhanden] +
-[IP anderer Proxy 2, wenn vorhanden, usw.] +
-</code> +
- +
-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. +
- +
-== /etc/dnbd3-server/server.conf == +
-<code> +
-[dnbd3] +
-listenPort=5003 +
-# Je nach Partitionierung ggf. ein anderes Verzeichnis wählen: +
-basePath=/mnt/huge_disk/dnbd3 +
-serverPenalty=500 +
-clientPenalty=0 +
-isProxy=true +
-backgroundReplication=true +
-sparseFiles=false +
-lookupMissingForProxy=true +
-removeMissingImages=false +
-uplinkTimeout=5000 +
-clientTimeout=15000 +
- +
-[logging] +
-consoleMask=ERROR WARNING MINOR INFO +
-; Valid types (warning: specifying invalid types will not yield an error!) +
-; ERROR     Fatal error, server will terminate +
-; WARNING   Major issue, something is broken but keep running +
-; MINOR     Minor issue, more of a hickup than serious problem +
-; INFO      Informational message +
-; DEBUG1    Debug information, used for medium verbosity +
-; DEBUG2    Used for debug messages that would show up a lot +
-</code> +
- +
-Wenn Sie zu Testzwecken eine Logdatei benötigen, hängen Sie noch folgendes an die Abteilung [logging] an. Beachten Sie jedoch, daß diese Logs sehr schnell sehr groß werden können - im Normalbetrieb daher nicht zu empfehlen! +
- +
-<code> +
-; file logging: +
-file=/var/log/dnbd3.log +
-; which type of messages to log to file: +
-fileMask=ERROR WARNING MINOR INFO DEBUG1 +
-</code> +
- +
-Die wichtigsten Optionen sind: +
- +
-  * **basePath**: Caching-Verzeichnis des Proxies. Es wird der gesamte Platz genutzt. Versucht der Proxy ein neues Image zu cachen, für das nicht genug Platz zur Verfügung steht, wird das am längsten nicht verwendete Image gelöscht (bzw. die ältesten). Der Einfachste weg, den maximal zu verwendeten Speicher zu beschränken, ist das Anlegen einer separaten Partition. +
-  * **serverPenalty**: "Straffaktor" wenn sich ein anderer DNBD3 Proxy zu diesem Server/Proxy verbindet. Je höher dieser Wert ist, desto unattraktiver erscheint er dem anderen Proxy als Replikationsquelle. Somit lässt sich das Load-Balancing beeinflussen. +
-  * **clientPenalty**: Gleiche Funktion wie serverPenalty, allerdings für Clients. +
-  * **lookupMissingForProxy**: Diese Option entscheidet, ob dieser Proxy-Server Anfragen eines anderen Proxy-Servers nach einem ihm nicht bekannten Image weiterleitet (an den Satelliten oder andere konfigurierte Proxies), oder die Anfrage ablehnt. +
-  * **backgroundReplication**: Wenn **false**, leitet der Proxy nur Anfragen nach Image-Teilen an den Satellitenserver bzw. andere Proxies weiter, für die er selbst eine Anfrage von einem Client erhalten hat. Nur diese Teile werden dann auf dem Proxy gecached. Wird die Option auf **true** gesetzt, nutzt der Proxy freie Bandbreite, um nach und nach das gesamte Image lokal zu cachen. +
-  * **sparseFiles=false**: Wenn **false**, wird der für ein Abbild notwendige Platz präalloziiert, also bei Anfrage des ersten Blocks komplett reserviert. Sollte der zur Verfügung stehende Speicherplatz sehr knapp sein, kann dieses auf **true** gesetzt werden. +
- +
-Vergessen Sie auch nicht, das in der Datei ''server.conf'' unter ''basePath'' angegebene Verzeichnis ggf. zu erstellen und dafür zu sorgen, daß der User dnbd3 lesen **und** schreiben kann. +
- +
-In der (git-)Datei dnbd3/conf/server.conf ist übrigens eine recht vollständige Beispielkonfiguration zu finden. +
- +
-==== Automatischer Start ==== +
- +
-Erzeugen Sie im Verzeichnis /etc/systemd/system eine Datei namens dnbd3-proxy.service des Inhalts: +
-<code>[Unit] +
-Description=DNBD3 proxy server +
- +
-[Service] +
-User=dnbd3 +
-ExecStart=/opt/dnbd3/dnbd3-server -n +
-Restart=on-failure +
-RestartSec=3 +
-TimeoutStopSec=10 +
-LimitNOFILE=65536 +
- +
-[Install] +
-WantedBy=network-online.target</code> +
- +
-Führen Sie anschließend die Befehle <code>systemctl daemon-reload</code> und <code>systemctl enable dnbd3-proxy.service</code> aus, damit der dnbd3-Proxy bei jedem Neustart automatisch gestartet wird. Sie können ihn selbstverständlich gleich mit <code>systemctl start dnbd3-proxy</code> starten. +
- +
-==== Satellitenserver ====+
  
-{{ :dnbd3:1_satellit_dnbd3_vor_hinzufuegen.png?direct&250|}}Abschließend muß 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". {clear}+** Clients starten VMs nicht, dnbd3-server auf dem Satelliten meldet "Image list full: Could not add image**
  
-{{ :dnbd3:2_Satellit_dnbd3_aufklapp_hinzufuegen.png?direct&250|}}Geben Sie dann die IP des Proxys ein… {clear}+Der dnbd3-server kann nur ~2000 Dateien/Images indizierenÜberprüfen Sie, ob auf dem NFS/SMB-Share, den der Satellitenserver nutzt, noch andere Ordner vorhanden sind, die evtl. viele Dateien enthalten.
  
-{{ :dnbd3:3_Satellit_dnbd3_aufklapp_hinzufuegen_getestet.png?direct&250|}} … aber drücken Sie auf "Testen"bevor Sie die IP speichern. {clear}+** Automatisch konfigurierter Proxy startet keine Hintergrundreplikationobwohl entsprechende Option im SLX-Admin aktiviert wurde **
  
-{{ :dnbd3:4_Satellit_dnbd3_refresh.png?direct&250|}}Klicken Sie anschließend auf das Doppelpfeilsymbol neben "Serverliste" zur Aktualisierung der Anzeige. {clear}+Die automatische Hintergrundreplikation wird deaktiviert, wenn die ID45-Partition des Proxys < 120GB ist.
  
 +** Raumzuweisung bzw. Hintergrundreplikation für einen Proxy wurden geändert, aber nicht angewendet **
  
 +Konfigurationsänderungen erfordern einen Neustart des Proxys.
Drucken/exportieren