DRBD: Perte des ressources apres redémarage machine

Bonjour,

Je cherche à créer un cluster haute disponibilité. Pour ce faire, je commence par configurer DRBD comme ceci:

Je pars d’un raid fait avec mdadm. /dev/md0…

Préparation des disques pour DRBD sur chaque machine:

1)=> pvcreate /dev/md0 2)=> vgcreate vgraid5 /dev/md0 3)=> lvcreate -n lvdisk1 -L 1000G vgraid5

Fichier de configuration de DRBD sur chaque machine:

[code]resource raid1 {
device /dev/drbd1;
disk /dev/vgraid5/lvdisk1;
meta-disk internal;

disk {
on-io-error detach;
}

startup {
wfc-timeout 60;
degr-wfc-timeout 30;
become-primary-on serveur1;
}

net {
after-sb-0pri discard-older-primary;
after-sb-1pri call-pri-lost-after-sb;
after-sb-2pri call-pri-lost-after-sb;
}
on serveur1 {
address 10.0.0.2:7788;
}
on serveur2 {
address 10.0.0.102:7788;
}
}[/code]

Mise en place de la ressource “raid1” DRBD sur chaque machine:

1)=> drbdadm create-md raid1 2)=> drbdadm up raid1 3)=> (sur le noeud primaire) drbdadm -- --overwrite-data-of-peer primary raid1

Creation du disque raid et montage sur chaque pc
(Je débranche le cable réseau et passe chaque machine en primaire “drbdadm primary raid1”), ensuite,

1)=> pvcreate /dev/drbd1 2)=> vgcreate vg2drdb /dev/drbd1 3)=> lvcreate -n raid1 --extents 100%FREE vg2drbd 4)=> mkfs -t ext4 /dev/vg2drbd/raid1

A la fin, je repasse le noeud secondaire en secondaire et je reconnecte le cable réseau.

Tout fonctionne bien jusque la.

Le seul hic est que je test une panne d’alimentation sur le primaire et ralume le pc.
et la, c’est le drame. Voici la réponse de DRBD au démarage.

[code]The server’s response is:

node already registered
[…] Starting DRBD resources:[
raid1
open(/dev/vgraid5/lvdisk1) failed: No such file or directory
Command ‘/sbin/drbdmeta 1 v08 /dev/vgraid5/lvdisk1 internal check-resize’ terminated with exit code 20
drbdadm check-resize raid1: exited with code 20
d(raid1) Can not open device ‘/dev/vgraid5/lvdisk1’: No such file or directory

[raid1] cmd /sbin/drbdsetup 1 disk /dev/vgraid5/lvdisk1 /dev/vgraid5/lvdisk1 internal --set-defaults --create-device --on-io-error=detach failed - continuing![/code]

En effet, quand je vais dans le répertoire /dev, le périférique de blocs “/dev/vgraid5/lvdisk1” à disparu et ou ne s’est pas recharger pendant le démarage.

Comment faire pour ne pas tout avoir à refaire surtout quand le disque est gros. La syncro complete de 1To prend du temps. Je voudrai pouvoir retrouver le disque sans avoir à tout refaire. Ou est mon erreur?

Cordialement,

vandman.

Je vais m’auto répondre…, mais j’ai tout de meme besoin d’aide…

J’avance à très petit pas dans la résolution de mon probleme:

Il semble que LVM se soit pas capable de voir deux couche de VP et VG à la fois.

Je m’explique:
Pour préparer les volumes pour DRBD, je crée une première couche "LVM"
PV sur md0 => raid5 de 4To, puis VG sur md0, puis LV pour une partition de par exemple 1To que j’utiliserai pour drbd (j’ai besoin dans mon cas du reste pour autre chose).
Fin de la première couche LVM de préparation des disques pour DRBD => dev/vgraid5/lvdisk1

Création du raid1 avec drbd…
drbdadm create-md raid1 et tout ce qu’il faut pour mettre en ligne le raid1…
PV sur /dev/drbd1 => raid1 de 1To, puis VG sur vg2drbd, puis LV et mkfs pour une partition /dev/vg2drbd/raid1
Fin de la deuxième couche LVM pour les disques DRBD => dev/vg2drbd/raid1

En fait, j’ai besoin de diviser le dernier disque en deux, un crypter et l’autre non crypter. Mais la n’est pas ma question.

J’ai remarquer dans la doc DRBD qu’il faut changer le filtre dans LVM.conf pour pouvoir configurer la deuxieme couche LVM. voici le filtre d’origine filter = [ "a|.*|" ] et le filtre final filter = [ "a|drbd.*|", "r|.*|" ]

Si je garde le filtre d’origine et que je redémare, J’ai un gros Warning m’indiquant que dev/vg2drbd/raid1 n’existe pas.
Si je garde le filtre final et que je redémare, J’ai un gros Warning m’indiquant que dev/vgraid5/lvdisk1 n’existe pas.

Donc en théorie,
Etape 1: Il faudrai qu’LVM démare avant DRBD
Etape 2: Que le deuxieme filtre soit appliqué dans lvm.conf avant le démarage de DRBD et apes l’étape 1
Etape 3: Que DRBD démare.

Est-ce que ma théorie sur les étapes est correcte?

Si oui,
Comment faire dans ce cas pour supprimer le message d’erreur dû au filtre de départ (pour que la machine continue son processus d’initialisation sans me demander d’aller dans la console pour réparer)?