migration avec metadatas en externe

This commit is contained in:
gcolpart 2017-01-24 13:54:23 +01:00
parent f65e1dd1f0
commit dc5f392318

View file

@ -697,18 +697,6 @@ tac# drbdsetup primary 44
> *Note* : cela nécessite d'utiliser le protocole C et d'avoir configuré `allow-two-primaries;`
### Réplication sans synchronisation de données initiales
Une fois les nœuds connectés, au lieu de faire `--overwrite-data-of-peer` sur l'un des serveurs :
~~~
tic# drbdadm -- --clear-bitmap new-current-uuid foo
tic# drbdadm primary foo
~~~
### Réplication truck-base
Plus fort que l'[IPoAC](https://fr.wikipedia.org/wiki/IP_over_Avian_Carriers), DRBD décrit la [réplication truck-based](https://www.drbd.org/en/doc/users-guide-84/s-truck-based-replication)
### Détruire les _metadatas_
@ -722,3 +710,67 @@ Do you really want to wipe out the DRBD meta data?
Wiping meta data...
DRBD meta data block successfully wiped out.
~~~
### Migration d'un disque existant avec DRBD
On peut migrer les données d'un disque existant en créant un volume DRBD avec des _metadatas_ stockées en externe. Par exemple, [Gitlab a migré 9To de données en quelques jours](https://about.gitlab.com/2015/03/09/moving-all-your-data/).
Voici la configuration d'un volume avec les _metadatas_ en externe :
~~~
volume 0 {
device minor 42;
disk /dev/sdz1;
meta-disk /dev/sdx1;
}
~~~
> *Note* : _meta-disk_ doit indiquer un périphérique [d'une taille suffisante](https://www.drbd.org/en/doc/users-guide-84/ch-internals#s-meta-data-size), on peut utiliser /dev/loop*
Comme pour la [création d'une ressource avec un seul volume](#ressource-avec-un-seul-volume) on ajoute la configuration sur chaque serveur, puis :
~~~
tic# drbdadm create-md foo
tac# drbdadm create-md foo
tic# drbdadm adjust foo
tac# drbdadm adjust foo
~~~
Sur le serveur avec le disque existant, il faut remonter le périphérique via `/dev/drbd42` (cela prend quelques secondes) :
~~~
tic# umount /dev/sdz1
tic# drbdadm -- --overwrite-data-of-peer primary foo
tic# mount /dev/drbd42 /mnt
~~~
> *Note* : à confirmer si le create-md ne doit pas être fait après le umount…
La synchronisation va ensuite se faire (et prendre des heures voire des jours)
Une fois terminée, on pourra _remounter_ le volume sans DRBD sur l'autre serveur et supprimer DRBD :
~~~
tic# umount /dev/drbd42
tic# drbadm secondary foo
tic# drbadm down foo
tic# rm /etc/drbd.d/foo.res
tac# drbadm down foo
tac# mount /dev/sdz1 /mnt
tac# rm /etc/drbd.d/foo.res
~~~
### Réplication sans synchronisation de données initiales
Une fois les nœuds connectés, au lieu de faire `--overwrite-data-of-peer` sur l'un des serveurs :
~~~
tic# drbdadm -- --clear-bitmap new-current-uuid foo
tic# drbdadm primary foo
~~~
### Réplication truck-base
Plus fort que l'[IPoAC](https://fr.wikipedia.org/wiki/IP_over_Avian_Carriers), DRBD décrit la [réplication truck-based](https://www.drbd.org/en/doc/users-guide-84/s-truck-based-replication)