Table des matières
DRBD
Installation
Sous Debian :
apt-get install drbd8-utils
Configuration
Paramètres globaux
A faire sur les deux serveurs :
Editer le fichier :
vim /etc/drbd.d/global_common.conf
Exemple de configuration :
global {
usage-count no;
}
common {
handlers {
}
startup {
wfc-timeout 15;
degr-wfc-timeout 60;
become-primary-on zimbra-prod;
}
options {
}
disk {
}
net {
protocol C;
cram-hmac-alg sha1;
shared-secret "secret";
#allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
}
}
Configuration d'un premier volume à répliquer
Créer et éditer le fichier :
vim /etc/drbd.d/r0.res
Exemple pour déclarer la première ressource :
resource r0 {
syncer {
# Debit de synchronisation
rate 60M;
}
volume 0 {
device /dev/drbd0;
disk /dev/sda3;
meta-disk internal;
}
on zimbra-prod {
address 172.16.99.1:7788;
}
on zimbra-secours {
address 172.16.99.2:7788;
}
}
Attention
zimbra-prod et zimbra-secours doivent être le nom de chacune des machines à répliquer.
Créer la première ressource :
drbdadm create-md r0
Démarrer DRBD :
/etc/init.d/drbd start
Démarrer ou réinitialiser la synchro :
drbdadm -- --overwrite-data-of-peer primary r1
Pour voir le status :
drbd-overview
Exemple de résultat :
0:r0/0 SyncSource Primary/Secondary UpToDate/Inconsistent /opt ext4 1.6T 69M 1.6T 1%
[>....................] sync'ed: 1.6% (1658700/1684752)M
Configuration d'un second volume à répliquer
Créer et éditer le fichier :
vim /etc/drbd.d/r1.res
Exemple pour déclarer la second ressource :
resource r1 {
syncer {
rate 60M;
}
volume 1 {
device /dev/drbd1;
disk /dev/dm-1;
meta-disk internal;
}
on zimbra-prod {
address 172.16.99.1:7789;
}
on zimbra-secours {
address 172.16.99.2:7789;
}
}
Créer la première ressource :
drbdadm create-md r1
Pour voir le status :
drbd-overview
Quelques commandes d'admin
Statut
Voir le statut de synchronisation :
drbd-overview
ou bien :
cat /proc/drbd
Basculer une ressource d'un membre à l'autre
Pour basculer un volume DRBD sur un membre secondaire, il faut suivre la séquence suivantes :
- Sur le membre primaire, Vérifier le status de synchronisation avec
drbd-overviewet passer à la suite si tout est bienUpToDate - Arrêter le membre primaire ou passer la ressource primaire en “secondary”.
- Sur le membre secondaire, Passer la ressource secondaire en ressource primaire.
- Sur le membre secondaire, Monter le volume drbd.
- Sur le membre secondaire, Recharger drbd si nécessaire.
Pour faire une bascule arrière :
- Redémarrer le membre primaire, au démarrage la ressource sera forcement en secondaire si la ressource est primaire sur le membre secondaire.
- Sur le membre secondaire, démonter le volume drbd.
- Sur le membre secondaire, Vérifier le status de synchronisation avec
drbd-overviewet passer à la suite si tout est bienUpToDate - Sur le membre secondaire, passer la ressource primaire en ressource secondaire.
- Sur le membre primaire, passer la ressource secondaire en ressource primaire.
- Recharger drbd sur chaque membre si nécessaire.
- Sur le membre primaire, Monter le volume drbd.
- Sur le membre primaire, Vérifier le status de synchronisation avec
drbd-overview
Commande pour passer une ressource en secondaire (voir ci-dessus pour respecter la séquence de bascule):
drbdadm secondary r0
Commande pour passer une ressource en primaire (voir ci-dessus pour respecter la séquence de bascule):
drbdadm primary r0
Pour recharger DRBD :
/etc/init.d/drbd reload
Suspendre et détacher une ressource
Pour désactiver la réplication d'une ressource pour la passer en standalone :
drbdadm disconnect r0
Pour détacher ensuite la ressource :
drbdadm detach r0
Pour désactiver et détacher la ressource en même temps :
drbdadm down r0
Attacher et réactiver une ressource
Pour attacher la ressource :
drbdadm attach r0
Pour remettre en service la ressource :
drbdadm connect r0
Pour attacher et remettre en service la ressource en même temps :
drbdadm up r0
Extension d'un disque
Il faut que la nouvelle taille de ressource soit de la même taille sur les deux membres.
Pour prendre en compte la nouvelle taille sur le membre primaire :
drbdadm resize r0
Remarque : La nouvelle taille de sera pas prise en compte si les deux membres ne sont pas
UpToDate
Voir fdisk pour agrandir la partition.
