Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
informatique:systeme:ha:drbd [2010/02/15 15:59] – Reprise ancien Wiki bn8 | informatique:systeme:ha:drbd [2012/09/18 14:37] – [Mode Primaire/Primaire] nico | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | resource disk-semele { | + | |
- | + | ||
- | protocol C; | + | |
- | + | ||
- | handlers { | + | |
- | pri-on-incon-degr "echo o > / | + | |
- | + | ||
- | pri-lost-after-sb "echo o > / | + | |
- | + | ||
- | local-io-error "echo o > / | + | |
- | } | + | |
- | + | ||
- | startup { | + | |
- | degr-wfc-timeout 120; # 2 minutes. | + | |
- | } | + | |
- | + | ||
- | disk { | + | |
- | on-io-error | + | |
- | } | + | |
- | + | ||
- | net { | + | |
- | after-sb-0pri disconnect; | + | |
- | after-sb-1pri disconnect; | + | |
- | after-sb-2pri disconnect; | + | |
- | rr-conflict disconnect; | + | |
- | } | + | |
- | + | ||
- | syncer { | + | |
- | rate 80M; | + | |
- | al-extents 257; | + | |
- | } | + | |
- | + | ||
- | on toto { | + | |
- | device | + | |
- | disk / | + | |
- | address | + | |
- | # | + | |
- | meta-disk | + | |
- | } | + | |
- | + | ||
- | on titi { | + | |
- | device | + | |
- | disk / | + | |
- | address | + | |
- | meta-disk internal; | + | |
- | } | + | |
- | } | + | |
- | ====== | + | |
+ | ===== Procédure de mise en place ===== | ||
+ | ==== Mode Primaire/ | ||
+ | |||
+ | * Installation de drbd : < | ||
+ | * Créer le fichier de configuration de la ressource : /// | ||
+ | protocol C; | ||
+ | |||
+ | handlers { | ||
+ | |||
+ | } | ||
+ | |||
+ | startup { | ||
+ | degr-wfc-timeout 120; | ||
+ | outdated-wfc-timeout 2; | ||
+ | } | ||
+ | |||
+ | disk { | ||
+ | on-io-error detach; | ||
+ | } | ||
+ | |||
+ | net { | ||
+ | after-sb-0pri discard-younger-primary; | ||
+ | after-sb-1pri consensus; | ||
+ | after-sb-2pri disconnect; | ||
+ | rr-conflict disconnect; | ||
+ | cram-hmac-alg " | ||
+ | shared-secret " | ||
+ | } | ||
+ | |||
+ | syncer { | ||
+ | rate 90M; | ||
+ | al-extents 257; | ||
+ | } | ||
+ | |||
+ | on srvvirt1 { | ||
+ | device | ||
+ | disk / | ||
+ | address 172.20.0.6: | ||
+ | meta-disk | ||
+ | } | ||
+ | |||
+ | on srvvirt2 { | ||
+ | device | ||
+ | disk / | ||
+ | address 172.20.0.7: | ||
+ | meta-disk | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | * Initialiser les devices via la commande : < | ||
+ | * Lancer drbd : < | ||
+ | * Sur une des deux machines, forcer en primary : < | ||
+ | |||
+ | ==== Mode Primaire/ | ||
+ | |||
+ | * Installation de drbd : < | ||
+ | * Créer le fichier de configuration de la ressource | ||
+ | protocol C; | ||
+ | |||
+ | handlers { | ||
+ | |||
+ | } | ||
+ | |||
+ | startup { | ||
+ | degr-wfc-timeout 120; | ||
+ | outdated-wfc-timeout 2; | ||
+ | become-primary-on both; | ||
+ | } | ||
+ | |||
+ | disk { | ||
+ | on-io-error detach; | ||
+ | } | ||
+ | |||
+ | net { | ||
+ | after-sb-0pri discard-younger-primary; | ||
+ | after-sb-1pri consensus; | ||
+ | after-sb-2pri disconnect; | ||
+ | rr-conflict disconnect; | ||
+ | allow-two-primaries; | ||
+ | cram-hmac-alg " | ||
+ | shared-secret " | ||
+ | } | ||
+ | |||
+ | syncer { | ||
+ | rate 90M; | ||
+ | al-extents 257; | ||
+ | } | ||
+ | |||
+ | on srvvirt1 { | ||
+ | device | ||
+ | disk / | ||
+ | address 172.20.0.6: | ||
+ | meta-disk | ||
+ | } | ||
+ | |||
+ | on srvvirt2 { | ||
+ | device | ||
+ | disk / | ||
+ | address 172.20.0.7: | ||
+ | meta-disk | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | * Initialiser les devices via la commande : < | ||
+ | * Lancer drbd : < | ||
+ | < | ||
+ | * Sur une des deux machines, forcer en primary : < | ||
+ | * La synchro commence, elle peut être suivie dans /// | ||
+ | ===== Supprimer une ressource | ||
drbdadmin remove /dev/drbd0 | drbdadmin remove /dev/drbd0 | ||
+ | |||
+ | ===== Trucs et astuces ===== | ||
+ | ==== Triggers ==== | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | handlers { | ||
+ | pri-on-incon-degr "echo o > / | ||
+ | pri-lost-after-sb "echo o > / | ||
+ | local-io-error "echo o > / | ||
+ | } | ||
+ | |||
+ | ==== Reconnecter une ressource après incident ==== | ||
+ | |||
+ | Lorsque la communication entre les serveurs a été interrompu et que les périphériques DRBD sont donc désynchronisé, | ||
+ | |||
+ | * décider quelle machine contient les données valides (à priori la dernière machine ayant été active) | ||
+ | * sur la machine contenant les données invalides, lancer les commandes : < | ||
+ | drbdadm -- --discard-my-data connect r0</ | ||
+ | * sur la machine contenant les données valides, lancer la commande : < | ||
+ | |||
+ | La synchronisation des données démarre alors, on peut suivre son état via la comande : < | ||
+ | |||