NFS Server · 2 min read · Nov 19, 2025

Einrichten eines hochverfügbaren NFS-Servers - Seite 3

6 DRBD konfigurieren

Jetzt laden wir das DRBD-Kernelmodul auf sowohl server1 als auch server2. Wir müssen dies nur jetzt tun, da es danach durch das DRBD-Init-Skript geladen wird.

server1/server2:

modprobe drbd

Lass uns DRBD konfigurieren:

server1/server2:

drbdadm up all
cat /proc/drbd

Der letzte Befehl sollte etwas wie folgt anzeigen (auf sowohl server1 als auch server2):

| version: 0.7.10 (api:77/proto:74) SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07 0: cs:Connected st:Secondary/Secondary ld:Inconsistent ns:0 nr:0 dw:0 dr:0 al:0 bm:1548 lo:0 pe:0 ua:0 ap:0 1: cs:Unconfigured |

Du siehst, dass beide NFS-Server sagen, dass sie sekundär sind und dass die Daten inkonsistent sind. Dies liegt daran, dass noch keine initiale Synchronisation durchgeführt wurde.

Ich möchte server1 zum primären NFS-Server und server2 zum “Hot-Standby” machen. Wenn server1 ausfällt, übernimmt server2, und wenn server1 zurückkommt, werden alle Daten, die sich in der Zwischenzeit geändert haben, von server2 nach server1 zurückgespiegelt, sodass die Daten immer konsistent sind.

Dieser nächste Schritt muss nur auf server1 durchgeführt werden!

server1:

drbdadm – –do-what-I-say primary all

Jetzt starten wir die initiale Synchronisation zwischen server1 und server2, damit die Daten auf beiden Servern konsistent werden. Auf server1 machen wir dies:

server1:

drbdadm – connect all

Die initiale Synchronisation wird einige Stunden dauern (je nach Größe von /dev/sda8 ( /dev/hda8…)), also bitte geduldig sein.

Du kannst den Fortschritt der initialen Synchronisation so auf server1 oder server2 sehen:

server1/server2:

cat /proc/drbd

Die Ausgabe sollte so aussehen:

| version: 0.7.10 (api:77/proto:74) SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07 0: cs:SyncSource st:Primary/Secondary ld:Consistent ns:13441632 nr:0 dw:0 dr:13467108 al:0 bm:2369 lo:0 pe:23 ua:226 ap:0 [==========>.........] sync'ed: 53.1% (11606/24733)M finish: 1:14:16 speed: 2,644 (2,204) K/sec 1: cs:Unconfigured |

Wenn die initiale Synchronisation abgeschlossen ist, sollte die Ausgabe so aussehen:

| SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07 0: cs:Connected st:Primary/Secondary ld:Consistent ns:37139 nr:0 dw:0 dr:49035 al:0 bm:6 lo:0 pe:0 ua:0 ap:0 1: cs:Unconfigured |

7 Weitere NFS-Konfiguration

NFS speichert einige wichtige Informationen (z.B. Informationen über Dateisperren usw.) in /var/lib/nfs. Was passiert nun, wenn server1 ausfällt? server2 übernimmt, aber seine Informationen in /var/lib/nfs werden sich von den Informationen im Verzeichnis /var/lib/nfs von server1 unterscheiden. Daher nehmen wir einige Anpassungen vor, damit diese Details auf unserer /data-Partition ( /dev/sda8 oder /dev/hda8…) gespeichert werden, die von DRBD zwischen server1 und server2 gespiegelt wird. Wenn also server1 ausfällt, kann server2 die NFS-Details von server1 verwenden.

server1/server2:

mkdir /data

server1:

mount -t ext3 /dev/drbd0 /data
mv /var/lib/nfs/ /data/
ln -s /data/nfs/ /var/lib/nfs
mkdir /data/export
umount /data

server2:

rm -fr /var/lib/nfs/
ln -s /data/nfs/ /var/lib/nfs

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.