Relecture rapide
This commit is contained in:
parent
62da558c7c
commit
9333188e21
182
HowtoDRBD.md
182
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).
|
||||
|
||||
<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
|
||||
|
|
Loading…
Reference in New Issue