Ich versuche, DRBD auf einem Raw-Disk-Gerät /dev/sdb
ohne Partitionstabelle oder LVM-Stack PV / VG / LV einzurichten
Da es sich bei dieser Festplatte um eine virtuelle Festplatte handelt und der Hypervisor, den ich verwende, die On-the-Fly-Festplattenerweiterung zulässt, möchte ich mich nicht mit LVM-Vorgängen oder einer erneuten Partitionierung befassen, wenn es Zeit ist, mein DRBD-Dateisystem zu erweitern
Meine Ressourcendefinition kann nicht einfacher sein
resource data {
device /dev/drbd1;
meta-disk internal;
disk /dev/sdb;
on node1 {
address 10.10.10.16:7789;
}
on node2 {
address 10.10.10.17:7789;
}
}
Metadaten erstellen funktioniert
# drbdadm create-md data
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.
Der Anhängevorgang schlägt jedoch fehl
# drbdadm attach data
1: Failure: (127) Device minor not allocated
additional info from kernel:
unknown minor
Command 'drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal' terminated with exit code 10
Die Fehlermeldung klingt wirklich so, als würde der Befehl einen Partitionstabellenindex als Nebencode des Geräts erwarten.
Wie soll ich ein Raw-Gerät an eine DRBD-Ressource anschließen?
drbd
Geräte verwenden Sie derzeit?Antworten:
drbdadm attach data
ist nicht der einzige Befehl, den Sie nach dem Erstellen der Metadaten verwenden möchten.Eines der folgenden Verfahren sollte funktionieren, um Ihr Gerät in Betrieb zu nehmen:
-- oder --
Sobald Sie dies getan haben, haben Sie ein Gerät mit dem Verbindungsstatus "Verbunden" und dem Festplattenstatus "Inkonsistent / Inkonsistent". Dies ist immer / nur dann der Fall, wenn Sie auf beiden Knoten brandneue Metadaten erstellt haben. Wählen Sie von dort aus einfach einen Knoten aus, der auf Primary hochgestuft werden soll. Dadurch wird DRBD von Primary -> Secondary synchronisiert:
Sie sollten unter normalen Umständen niemals "--force" verwenden müssen, um Ihr DRBD-Gerät von nun an zu bewerben.
Sie sagten jedoch auch:
Das wird mit DRBD wahrscheinlich nicht funktionieren. DRBD platziert seine Metadaten am Ende des Blockgeräts, und in diesen Metadaten wird die Anzahl der Blöcke (und andere Dinge) verfolgt. Das dynamische Erweitern des Sicherungsblockgeräts wird wahrscheinlich Probleme für Sie verursachen.
quelle
/sys/block/sdX/device/rescan
, ausführendrbdadm -- --assume-clean resize data
und nicht zuletzt FS erweitern mitresize2fs
In dem sehr speziellen Fall des Debian DRBD-Pakets besteht keine Notwendigkeit, "Daten anhängen" auszuführen.
Hier ist die minimale Sequenz, um DRBD mit Debian zum Laufen zu bringen:
/etc/drbd.d/data.res
auf beiden Knoten, normalerweise zum Definieren/dev/drbd1
(erinnern Sie diese Datenträgernummer1
an einen eindeutigen Bitmap-Vorgang!).drbdadm create-md data
Auf beiden Knoten aufrufensystemctl start drbd.service
Connected
Status mitdrbdadm cstate data
. Wenn nicht, gehen Sie nicht weiter, bis ein Problem mit dem Start des Dienstes oder der Netzwerkverbindung behoben ist.primary
Knoten klar Bitmap nur, zu verhindern nutzlos Anfangssynchronisation:drbdadm -- --clear-bitmap new-current-uuid data/1
(mind letzten Parameter:resourceName/volumeNumber
)primary
Knotens nur auf dem Knoten alsprimary
:drbdadm primary data
Ab diesem Zeitpunkt ist das Gerät auf dem
primary
Knoten/dev/drbd1
für alle regulären Blockoperationen wieblockdev
oder verfügbarmkfs
.Lösen Sie die Bitmap-Operation sorgfältig aus, damit alle Daten auf dem sekundären Knoten nicht wiederhergestellt werden können. Übrigens ist es für die Ersteinrichtung sehr praktisch, da dadurch verhindert wird, dass der Speicher Ihres sekundären Knotens stundenlang vollständig geschrieben wird, und Ihre Virtualisierungsschicht gezwungen wird, Speicherblöcke zuzuweisen, was für Thin Provisioning ärgerlich ist.
quelle
new-current-uuid --clear-bitmap
verwirft keine Daten auf einem der Knoten. Dieser Befehl löscht die Bitmap von DRBD und weist sie an, die anfängliche Synchronisierung zu überspringen.