19
0
Fork 0

Relecture rapide

This commit is contained in:
Gregory Colpart 2016-12-27 20:31:51 +01:00
parent 62da558c7c
commit 9333188e21
1 changed files with 29 additions and 153 deletions

View File

@ -1,24 +1,37 @@
# Howto DRBD
Cette documentation concerne DRBD 8.3 (Debian 7 ou backports Debian 6) et DRBD 8.9 (Debian 8).
<http://drbd.linbit.com/users-guide/>
<http://drbd.linbit.com/users-guide-8.3/>
* Documentation : <http://www.drbd.org/en/doc/users-guide-84>
## 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 <phil@linbit.com>, Lars Ellenberg <lars@linbit.com>
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