[SYS] DRBD (Distributed Replicated Block Device)
|
19-09-2014, 00h11
Message : #1
|
|
Junky
Snorky Master Messages : 228 Sujets : 35 Points: 203 Inscription : Mar 2013 |
[SYS] DRBD (Distributed Replicated Block Device)
Bonjour,
Dans un post précédent je vous avais parlé de mdadm. Je vous laisse vous reporter sur le post pour ceux qui ont oubliaient ce qu'est mdadm. Dans ce post la je vais vous présenter DRBD. DRBD donc vous permet la réplication de périphériques de bloc tel que: - disques - partitions - volumes logiques - ect... entre serveurs. Je garde mon environnement habituel, c'est à dire nous possédons des serveurs physiques avec un Xen hyperviseur + des LV qui accueillent nos VM. Nous travaillerons directement sur les dom0. Il est possible de travailler au niveaux des VM aussi. Il existe deux façons de mettre en place un DRBD. Nous en verrons qu'une seule ici, mais si je vous présenterai succinctement l'autre mais sans rentrer dans les détails pour la simple raison c'est que je ne l'ai jamais testé. Je ne rentrerai dans les détails, j'estime que si vous arrivez a ce stade c'est a dire mettre un drbd en place, vous avez déjà quelques bonnes connaissances en sys. Si vous avez par contre des questions, n'hésitez pas a me les poser. Aller c'est tipar. 0x01 Vous avez dit deux façons? La première celle que nous allons voir par du principe que votre LV + VM sont installés configurés et utilisés. On peut facilement imaginer une machine de prod qui prend de plus en plus d'importance et qu'une réplication devient urgente. La deuxième serai donc le contraire. Vous devez mettre en place une VM et vous devez monter un DRBD dessus. Même si les deux manières ont a même finalités il y a cependant des différences lors du montage de ceci que je vous expliquerai dans le post. 0x02 Il y a urgence. Il nous faut une réplication de suite sans coupure... Dans un premier temps il nous faut l'application: Code : #Gentoo Une fois l'installation faite, il faut vérifier que le module est bien chargé: Code : lsmod |grep drbd Si celui-ci ne l'est pas, chargez le avec 'modprobe' Une fois tout ceci ok, nous pouvons passer à la configuration. 0x03 Configuration. Comme je vous le dis plus haut, nous allons travailler sur des LV + VM donc directement sur nos dom0. Nous aurons donc 2 dom0 à disposition. Nous les nommerons dom1 et dom2 (pas super original hein... ) Notre VM est présente sur dom1 et elle répond au doux nom de VM (moaurfff mais stop l'originalité srx!!! ) Comme nous désirons répliquer de dom1 sur dom2 il nous faut créer un LV de même taille sur sur dom2. Je ne vous expliue pas comment faire pour le créer mais vous pouvez vous reporter sur un de mes posts qui en parle. Une fois le LV sur dom2 en place il faut créer un fichier de configuration sur les 2 dom0 dans le dossier '/etc/drbd.d/file.res' Voici un exemple: Code : resource mon_drbd { C'est le fichier que j'utilise par défaut depuis que je me sers de DRBD. Il faut bien entendu l'adapter a nos besoins. On va expliquez un peu tout ca: - resource mon_drbd => le "nom" du drbd - become-primary-on dom1 => notre dom0 primaire - syncer { rate 10M; } => la vitesse de synchro entre les 2 dom0. - on dom1 => le nom premier node - on dom2 => le nom du deuxième node Pour les options qui vont suivrent, ce sont les mêmes explications pour les deux nodes: - device /dev/drbd1 => Le device du drbd - disk /dev/vg/VM-disk => le LV a répliquer - address X.X.X.X:9001 => l'IP + port du dom0 - flexible-meta-disk /dev/vg/VM-meta => ici on utilise un lv pour les métas données. Alors voici la différence entre les deux manières. Il faut faire EXTRÊMEMENT attention ici. En effet il existe deux options. Une 'flexible-meta-disk LV' de meta et une 'meta-disk interne' La première utilisera donc un LV de méta et ne touchera pas au device, contrairement a la seconde qui fera 'transiter' les méta en interne cad sur le '/dev/drbd1' ce qui peut corrompre votre LV et empecher de faire booter votre VM par la suite. Utilisez interne si vous avez créer le DRBD avant la VM et non l'inverse. Comme nous allons utiliser un LV pour les métas, il nous faut donc en créer un. Alors attention aussi. Il faut calculer la valeur MINIMUM pour la taille du LV. Je vous laisse vous reporter a la superbe équation a réaliser pour le calculer. 0x04 Lancement du drbd DRBD possède plusieurs commandes comme 'drbdadm'. Nous allons nous en servir pour le lancer. Code : drbdadm create-md mon_drbd Il faut exécuter ces commandes sur les 2 dom0. Vous pouvez constater que le drbd est en place via un 'cat /proc/drbd' Code : cat /proc/drbd Il nous reste plus qu'a lancer la commande pour lancer la synchro Code : drbdadm -- --overwrite-data-of-peer primary mon_drbd Refaite un cat sur le /proc/drbd et admirez: Code : 1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----- 0x05 Conclusion La mise en place est assez rapide est ""simple"". Le LV répliqué, n'est pas "up" c'est a dire la VM ne tourne pas, mais si un problème arrive sur la Primary, il vous suffira de la shutdown et de create la secondary. Vous n'aurez que quelques secondes de coupures. Il est quand même nécessaire de réaliser quelque recherche, car une mauvaise manipulation peu engendrer la perte d'une VM, ce qui finalement créera le contraire de ce nous voulions. Voilà. Junky, Pour la sécurité, sous linux, le principal soucis est l'interface chaise/clavier
|
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)