diff --git a/HowtoDRBD.md b/HowtoDRBD.md index a1405f24..1a994007 100644 --- a/HowtoDRBD.md +++ b/HowtoDRBD.md @@ -1,4 +1,6 @@ -# Howto DRBD +--- +title: Howto DRBD +--- * Documentation : @@ -26,7 +28,7 @@ author: Philipp Reisner , Lars Ellenberg - ~~~ command[check_drbd]=/usr/local/lib/nagios/plugins/check_drbd -d All -c StandAlone ~~~ - ## FAQ & Tips ### Récupérer d'une perte de connectivité @@ -233,7 +230,7 @@ command[check_drbd]=/usr/local/lib/nagios/plugins/check_drbd -d All -c StandAlon Quand il y a une perte de synchro. On peut y : ~~~ -drbdadm disconnect all +drbdadm disconnect all drbdadm connect all /etc/init.d/drbd stop && /etc/init.d/drbd start ~~~ @@ -281,15 +278,24 @@ Un des serveurs à perdu les méta-données il faut les re-construire pour que d On peut aussi faire cette opération pour d'autres raisons, comme par exemple un nœud avec des données différentes de chaque côté suite à une désynchronisé trop longue et non détectée. +Faire un unmount de la partition concerné, puis : + ~~~ -## Faire un unmount de la partition concerné, puis : # /etc/init.d/o2cb offline # drbdadm down r0 # drbdadm create-md r0 # drbdadm up r0 -## Si la synchro ne part pas, faire un connect. +~~~ + +Si la synchro ne part pas, faire un connect. + +~~~ # drbdadm connect r0 -## Une fois la synchro terminé (cat /proc/drbd), on le repasse en primaire, pour être en master-master. +~~~ + +Une fois la synchro terminé (`cat /proc/drbd`), on le repasse en primaire, pour être en *master-master*. + +~~~ # drbdadm primary r0 # /etc/init.d/o2cb online ~~~ @@ -297,8 +303,8 @@ On peut aussi faire cette opération pour d'autres raisons, comme par exemple un ### Starting Oracle Cluster File System (OCFS2) mount.ocfs2: Unable to access cluster service while trying initialize cluster ~~~ -/etc/init.d/o2cb online -/etc/init.d/ocfs2 restart +# /etc/init.d/o2cb online +# /etc/init.d/ocfs2 restart ~~~ ### Bien comprendre /proc/drbd @@ -306,24 +312,25 @@ On peut aussi faire cette opération pour d'autres raisons, comme par exemple un ~~~ 0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r----- ~~~ + Le nœud attend une éventuelle reconnexion du second nœud pour se resynchroniser. ~~~ 0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown r----- ~~~ -Il s'agit d'un split-brain, le nœud est en standalone, et n'est plus synchronisé avec le second nœud. +Il s'agit d'un split-brain, le nœud est en standalone, et n'est plus synchronisé avec le second nœud. ~~~ 0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r----- ~~~ -Les nœuds sont bien synchronisés. +Les nœuds sont bien synchronisés. ~~~ 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----- ns:782997 nr:8388524 dw:10158853 dr:684557 al:456 bm:562 lo:0 pe:5 ua:64 ap:0 ep:1 wo:f oos:7780060 - [>…] sync'ed: 7.3% (7596/8188)Mfinish: 0:04:29 speed: 28,800 (28,964) K/sec + [>…] sync'ed: 7.3% (7596/8188)Mfinish: 0:04:29 speed: 28,800 (28,964) K/sec ~~~ Une synchronisation du serveur primaire est en cours vers le secondaire. (ro:Primary/Secondary ds:UpToDate/Inconsistent) @@ -341,23 +348,21 @@ On peut aussi le faire avec drbdadm adjust all. Ou en précisent le nom de la re ### Changer le sync rate à la volée - ~~~ -drbdadm disk-options --c-plan-ahead=20 --resync-rate=20M nomRessource +# drbdadm disk-options --c-plan-ahead=20 --resync-rate=20M nomRessource ~~~ « plan-ahead » à 20 active un mode intelligent qui permet de prioriser les écritures en cours plutôt que la synchronisation en arrière-plan. ### Fixer une limite de synchronisation - ~~~ resource disk { resync-rate 40M; -… +[…] } -… +[…] } ~~~ @@ -366,7 +371,11 @@ resource ~~~ # drbdadm disconnect # drbdadm detach -### OU +~~~ + +ou + +~~~ # drbdadm down ~~~