Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 29/09/2012, à 00:09

vandman

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 4000G vgraid5

Fichier de configuration de DRBD sur chaque machine:

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;
  }
}

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.

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.

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!

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 fait plus de 4To. La syncro complete de 4To prend 29h. Je voudrai pouvoir retrouver le disque sans avoir à tout refaire. Ou est mon erreur?

Cordialement,

vandman.

Dernière modification par vandman (Le 29/09/2012, à 18:46)

Hors ligne

#2 Le 29/09/2012, à 18:47

vandman

Re : DRBD: Perte des ressources apres redémarage machine.

Un peu d'aide serait simpa. Ca fait plus d'une semaine que ce probleme me bloque.

Pleaaaaaaaaaaaaase!!!!

Hors ligne

#3 Le 01/10/2012, à 00:36

vandman

Re : DRBD: Perte des ressources apres redémarage machine.

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)?

Dernière modification par vandman (Le 01/10/2012, à 00:39)

Hors ligne

#4 Le 01/10/2012, à 10:46

Hoper

Re : DRBD: Perte des ressources apres redémarage machine.

Intéressant comme problème.
Je suis persuadé que LVM peut fonctionner sur plusieurs "couches" sans soucis, par contre cela nécessite probbalement en effet un peu de tunning... voir un script custom qui, au démarage, se chargerai de détécter et monter les couches dans le bon sens, activer les vg comme il faut avec vgchange etc.

Bre, pour le moment j'en sais trop rien, mais je vais jeter un coup d'oeil au sujet.

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

Tu peux me donner l'url de la doc en question ?

Dans ma compréhension du sujet, le filtre doit être le plus large possible dans la configuration LVM. En gros,  tu dois tout prendre sauf le cdrom. (parce que ça, c'est plus source de problème qu'autre chose). Après, si il y a des couches qui ne fonctionne pas automatiquement au boot, à toi de scripter manuellement ce qui manque. C'est en tout cas dans ce sens que je creuserai.

Pour info, j'utilise personnellement je script suivant, et ce serai surpris que cela ne fonctionne pas avec drdb :

filter = [ "a/.*/", "r|/dev/cdrom|" ]

Dernière modification par Hoper (Le 01/10/2012, à 10:48)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#5 Le 03/10/2012, à 20:53

MrWaloo

Re : DRBD: Perte des ressources apres redémarage machine.

Salut,

Tu ne pourrais pas tout simplement utiliser /dev/md0 > /dev/drbd1 > /dev/vg2drbd/raid1 ?
De cette manière, ton drbd fonctionnera effectivement sur ton raid et tu pourras faire 2 volumes "dans" drbd...

A+
Michel


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#6 Le 06/10/2012, à 17:20

vandman

Re : DRBD: Perte des ressources apres redémarage machine.

Bonjour à tous,

1) Hoper: Voici le lien: Configuring a DRBD resource as a Physical Volume

2) MrWaloo:Tu ne pourrais pas tout simplement utiliser /dev/md0 > /dev/drbd1 > /dev/vg2drbd/raid1 ?=>

Vandman a écrit :

(j'ai besoin dans mon cas du reste du raid pour autre chose)

Autre chose = Partage NFS + partition privé pour moi. Je ne connait pas d'autre moyen qu'LVM pour partitionner mon raid. => donc je suis obliger d'avoir deux couches LVM.

3) Le bordel...

Je vien de passer de "Upstart + Script => System V" à SystemD pour la gestion des démarages de services et compagnies...
SystemD me fait toujours un caca à propos du raid1 mais au final, meme si je ne démare pas drbd, il réussi à me monter le Raid1???
Et quand je démare DRBD, il me met "ds:Diskless/DUnknown" le DUnknown vient du fait que je n'ai pas démarrer le deuxieme serveur. A ce stade, je n'en ai pas besoin.


Je suis un peux perdu.
- Pas de Disque pour DRBD alors qu'il est monté?

Hors ligne

Haut de page ↑