From 9333188e210cd463486ebe077c898ce13ad993e9 Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Tue, 27 Dec 2016 20:31:51 +0100 Subject: [PATCH] Relecture rapide --- HowtoDRBD.md | 182 ++++++++------------------------------------------- 1 file changed, 29 insertions(+), 153 deletions(-) diff --git a/HowtoDRBD.md b/HowtoDRBD.md index 8b697fb4..a1405f24 100644 --- a/HowtoDRBD.md +++ b/HowtoDRBD.md @@ -1,24 +1,37 @@ # Howto DRBD -Cette documentation concerne DRBD 8.3 (Debian 7 ou backports Debian 6) et DRBD 8.9 (Debian 8). - - - +* Documentation : ## Installation -Debian 8 : - ~~~ # aptitude install drbd-utils -# modprobe drbd ~~~ -Debian 7 ou backports Debian 6 : - ~~~ -# aptitude install drbd8-utils -# modprobe drbd +# drbdadm -V +DRBDADM_BUILDTAG=GIT-hash:\ 5474c321d80250cc61d851220503fdc739490ce9\ build\ by\ pbuilder@marvin\,\ 2016-01-04\ 12:36:34 +DRBDADM_API_VERSION=1 +DRBD_KERNEL_VERSION_CODE=0x080403 +DRBDADM_VERSION_CODE=0x080902 +DRBDADM_VERSION=8.9.2rc1 + +# modinfo drbd +filename: /lib/modules/3.16.0-4-amd64/kernel/drivers/block/drbd/drbd.ko +alias: block-major-147-* +license: GPL +version: 8.4.3 +description: drbd - Distributed Replicated Block Device v8.4.3 +author: Philipp Reisner , Lars Ellenberg +srcversion: 1A9F77B1CA5FF92235C2213 +depends: lru_cache,libcrc32c +intree: Y +vermagic: 3.16.0-4-amd64 SMP mod_unload modversions +parm: minor_count:Approximate number of drbd devices (1-255) (uint) +parm: disable_sendpage:bool +parm: allow_oos:DONT USE! (bool) +parm: proc_details:int +parm: usermode_helper:string ~~~ @@ -54,81 +67,14 @@ resource "vol0" { ## Configuration d'une ressource en mode Primary/Primary -La configuration entre 8.3 et supérieur est assez différente. - -### DRBD 8.3 - -Fichier /etc/drbd.conf : - -~~~ -global { usage-count no; } -common { syncer { rate 30M; }} -resource r0 { - protocol C; - startup { - wfc-timeout 15; - degr-wfc-timeout 60; - become-primary-on both; - } - net { - cram-hmac-alg sha1; - shared-secret "mon-secret"; - allow-two-primaries; - after-sb-0pri discard-zero-changes; - after-sb-1pri discard-secondary; - after-sb-2pri disconnect; - } - on kvm1 { - device /dev/drbd0; - disk /dev/sda10; - address 192.168.0.1:7788; - meta-disk internal; - } - on kvm2 { - device /dev/drbd0; - disk /dev/sda10; - address 192.168.0.2:7788; - meta-disk internal; - } -} -~~~ - -Pour éviter les split-brain (incohérence des données), on peut demander à ce qu'un noeud qui n'a plus accès à son peer se "suicide" en ajoutant à la ressource la section : - -~~~ - handlers { - pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; - pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; - local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f"; - } -~~~ - -A faire sur les deux machines : - -~~~ -# drbdadm create-md r0 -# drbdadm attach r0 -# drbdadm syncer r0 -# /etc/init.d/drbd start -~~~ - -A faire sur une machine, initialiser la synchronisation: - -~~~ -# drbdadm -- --overwrite-data-of-peer primary r0 -~~~ - - -### DRBD 8.9 - -/etc/drbd.d/r0.res : +`/etc/drbd.d/r0.res` : ~~~ resource r0 { net { protocol C; cram-hmac-alg "sha1"; - shared-secret "PASSPHRASE"; + shared-secret "PASSWORD"; allow-two-primaries; } volume 0 { @@ -145,7 +91,7 @@ resource r0 { } ~~~ -Note : "tic" et "tac" doivent correspondre aux hostnames réels des machines concernées. +*Note* : "tic" et "tac" doivent correspondre aux hostnames réels des machines concernées. Puis sur les 2 machines : @@ -171,79 +117,9 @@ Et sur l'une des 2 machines : ## Configuration d'une seconde ressource en mode Primary/Primary -### DRDB 8.3 - -On ajoute la section suivante dans /etc/drbd.conf - -~~~ -resource r1 { - protocol C; - startup { - wfc-timeout 15; - degr-wfc-timeout 60; - become-primary-on both; - } - net { - cram-hmac-alg sha1; - shared-secret "mon-secret"; - allow-two-primaries; - after-sb-0pri discard-zero-changes; - after-sb-1pri discard-secondary; - after-sb-2pri disconnect; - } - on kvm1 { - device /dev/drbd1; - disk /dev/sdb1; - address 192.168.0.4:7790; - meta-disk internal; - } - on kvm2 { - device /dev/drbd1; - disk /dev/sdb1; - address 192.168.0.2:7790; - meta-disk internal; - } -} -~~~ - -Une fois la configuration en place sur tous les serveurs : - -~~~ -# drbdadm create-md r1 -Writing meta data… -initializing activity log -NOT initialized bitmap -New drbd meta data block successfully created. - -# /etc/init.d/drbd reload -Reloading DRBD configuration:. -~~~ - -Sur l'un des 2 serveurs, on lance : - -~~~ -# drbdadm -- --overwrite-data-of-peer primary r1 -~~~ - -Sur l'autre, la synchronisation va se faire, puis on passer en Primary/Primary : - -~~~ -# cat /proc/drbd -version: 8.3.11 (api:88/proto:86-96) -srcversion: F937DCB2E5D83C6CCE4A6C9 - 0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r----- - ns:97409309 nr:497444091 dw:647985959 dr:195677677 al:59202927 bm:47198 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 - 1: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r----- - ns:0 nr:2699520 dw:2699520 dr:0 al:0 bm:164 lo:1 pe:6 ua:0 ap:0 ep:1 wo:f oos:2144717528 - [>…] sync'ed: 0.2% (2094448/2097084)Mfinish: 6:20:25 speed: 93,956 (93,084) want: 92,160 K/sec -# drbdadm primary r1 -~~~ - -### DRDB 8.9 - On peut configurer plusieurs volumes par ressource. -/etc/drbd.d/r0.res : +`/etc/drbd.d/r0.res` : ~~~ resource r0 { @@ -280,7 +156,7 @@ dans ce cas on dupliquera simplement la configuration d'une ressource en utilisa Il est nécessaire de disposer d'un FS clusterisé car le FS sera monté à deux endroits différents, ce qui n'est pas possible avec un FS standard tel que ext4. -##### Installation +### Installation ~~~ # aptitude install ocfs2-tools