DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Beitrag von McAldo » 28.07.2015 11:00:12

Eine Partition, "/dev/sda8", wurde als DRBD-Device "/dev/drbd0" für DRBD-Resource "drbdres0 " eingerichtet. Mittels pvcreate wurde "/dev/drbd0" zu einem physical volume" gemacht und der "volume group" 'drbdlvm' zugeordnet.

also: /dev/sda8 <-- /dev/drbd0 <-- /dev/drbdlvm/

Auf diesem Device/in dieser VG sollen dann LVs angelegt werden.

Das Problem ist nun, beim Start des Systems ist drbd deaktiviert und /dev/sda8 als PV vorhanden. Es sollte aber zuerst drbd starten, damit LVM dieses Device als PV erkennt.
In der Datei "/etc/lvm/lvm.conf" habe ich schon einen entsprechenden Filtereintrag gemacht:

Code: Alles auswählen

filter = ["a|sd.*|", "a|drbd.*|", "r|.*|"]
Das Grund-System ist Debian/Jessie. Darin DRBD 9, Kernel, LVM, ... von Proxmox.

Hat jemand einen Hinweis, wie ich die Startreihenfolge richtig eingestellt bekomme?

*Link*
http://drbd.linbit.com/users-guide/ch-lvm.html
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Beitrag von rendegast » 28.07.2015 13:48:58

Nach Lesen der lvm.conf vielleicht

Code: Alles auswählen

[global_]filter = [ "r|/dev/disk/by-id/......-part8|" ]
?
Hat jemand einen Hinweis, wie ich die Startreihenfolge richtig eingestellt bekomme?
Macht sich lvm dann nicht nach einem Signal durch udev über das drbd-Device her?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Beitrag von McAldo » 31.07.2015 11:12:15

Ich habe das Problem nicht gelöst.

Die Partition "/" sowie swap liegen auch im LVM. Beim Start von Linux wird LVM geladen und erkennt alle PVs. Die DRBD-Partition enthält entsprechende Informationen, ohne das DRBD gestartet ist (ein Vorteil von DRBD :-) ). LVM greift also auf /dev/sdaX zu statt /dev/drbd0. Wenn dann DRBD startet, kann es das bereits verwendete /dev/sdaX nicht mehr aktivieren und bricht ab.
Soweit die Analyse. Ich versuche mich nun mit Ceph und forsche daher erstmal nicht weiter in Richtung Lösung DRBD <-> LVM. Falls jemand eine Lösung hat, bitte hier posten oder per PN an mich und ich trage es ein. Danke.
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Re: DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Beitrag von Hendri » 31.08.2015 22:21:55

Hallo,

also eigentlich ist die Loesung mit den Filtern die Richtige!
Ich schreibe meine filter aber etwas anders und LVM lässt diese Devices dann komplett in Ruhe!

Code: Alles auswählen

filter = [ "a|^/dev/drbd.*|" , "r/.*/"]
Accept // nur drbd devices
Reject // alles andere...

Was man danach noch nicht vergessen darf, ist das initramfs neu zu bauen mit

Code: Alles auswählen

update-initramfs -k $(uname -r) -u
oder

Code: Alles auswählen

dpkg-reconfigure linux-image-$(uname -r)
sonst weiß das LVM das zu dem Zeitpunkt geladen wird, nichts von seiner neuen Config!
Ciao, Hendri

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Beitrag von McAldo » 01.09.2015 09:40:26

Was ist aber dann, wenn man / und /usr als LV eingerichtet hat? Das wird dann nicht mehr gefunden, oder?
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Re: DRBD 9 <- LVM 2: /dev/drbdX ist PV - Startreihenfolge

Beitrag von Hendri » 07.09.2015 22:24:49

Es geht dabei immer nur um die physical Devices vom LVM!
Wenn Dein physical LVM Device nicht das DRBD Device ist, musst Du es dann natürlich auch mit einer accept Regel erlauben!
Ein UUID match würde sich da IMHO anbieten:

Code: Alles auswählen

filter = [ "a|^/dev/drbd.*|" , "a|^/dev/disk/by-uuid/0121b3f2-f607-43bc-a4ee-11268337e11b$" , "r/.*/"] 
Wenn das Einschlussverfahren weniger passend ist, kannst Du ja das Ganze auch mit dem Ausschlussverfahren beschreiben, wo du für jedes nicht gewollte Device eine reject Regel schreibst:

Code: Alles auswählen

filter = [ "r|^/dev/disk/by-uuid/0121b3f2-f607-43bc-a4ee-11268337e11b$" ] 
Das ist auf Grund von mehreren Links im /dev auf ein und das selbe Device aber irgendwie nicht so meines...

Mit einem beherzten

Code: Alles auswählen

pvscan
vgscan
sollte man seine Filter dann überprüfen und wenn die root Partition, oder eine zum Bootprozess benötigte Partition involviert ist, das wie schon erwähnte

Code: Alles auswählen

update-initramfs -k $(uname -r) -u
oder

Code: Alles auswählen

dpkg-reconfigure linux-image-$(uname -r)
nicht vergessen!
Ciao, Hendri

Antworten