Project

General

Profile

Home

Home | Literatur | Grundlagen | Implementierung | Misc| Notes

Roadmap

  • Maximale Performance bei 1-Gbit/s-Ethernet [100%]
  • Vereinfachte Administration [100%]
  • Ausfallsicherheit durch redundante Server [100%]
  • Load Balancing durch geeignete Metriken [100%]
  • Server mit Caching und Proxy Funktion [100%]

Checkout

Checkout (read):

git clone git://git.openslx.org/dnbd3.git

Checkout (read/write, nur mit ssh-key):

git clone ssh://git@git.openslx.org/dnbd3.git

Installation

Um den DNBD3 erfolgreich kompilieren zu können müssen einige Abhängigkeiten erfüllt werden. Neben den Standardwerkzeugen zum Übersetzen von C-Programmen, werden die zum laufenden Kernel passenden Linux-Headers (bisher nur mit Linux 3.x.x getestet) sowie die Glib in der Version 2.0 benötigt. Zusätzlich wird CMake zum Automatisieren des Buildvorgangs vorausgesetzt (Debian/Ubuntu):

sudo apt-get install cmake build-essential linux-headers-generic libglib2.0-dev libxml2-dev

bzw. für RPM-basierte Distributionen

yum|zypper install cmake glib2-devel

Sobald alle Voraussetzungen erfüllt sind, kann kompiliert und installiert werden:

cd dnbd3/
mkdir build
cd build/
cmake..
make
sudo make install

Konfiguration und Start

Server

Die Konfigurationsdatei des Servers befindet sich in /etc/dnbd3-server.conf.example und hat folgenden Aufbau:

[Ein selbst gewählter Name]
file=/pfad/zum/image
servers=ip1;ip2;ip3...
vid=VersionID
rid=ReleaseID

Sowohl die VersionID als auch die ReleaseID müssen ganzen Zahlen und größer 0 sein. Zusätzlich darf die VersionID nur ein einziges mal vorkommen. Die installierte Konfigurationsdatei beinhaltet einige Beispiele.

Nach der Konfiguration kann der DNBD Server gestartet werden:

dnbd3-server

Durch einen erneuten Start des Servers mit dem Schalter -s kann eine laufende Instanz wieder beendet werden. Weitere Informationen und Möglichkeiten können aus der eingebauten Hilfe entnommen werden:

dnbd3-server -h

Client

Auf Clientseite muss zunächst das Kernel Modul geladen werden:

modprobe dnbd3

Der DNBD3 Client kann ebenfalls über eine Konfigurationsdatei (/etc/dnbd3-client.conf.example, enthält Beispiele) eingerichtet werden:

[Ein selbst gewählter Name]
server=ip
vid=VersionID
rid=ReleaseID
device=Device

Die wichtigsten Unterschiede sind hier, dass nur ein Server erlaubt ist und die ReleaseID bei einer 0 automatisch durch das neuste Release ersetzt wird. Als Device muss ein DNBD3 Device angegeben werden, dass nach dem Laden des Kernel Moduls unter /dev/ gefunden werden kann.

Das folgende Kommando startet den Client und stellt sofort eine Verbindung zu den konfigurierten Servern her (weitere Hilfe gibt der Schalter -h):

dnbd3-client -f /etc/dnbd3-client.conf