admin:procedures:basculer_cluster
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
admin:procedures:basculer_cluster [2018/05/05 12:26] – copie depuis wiki april rh | admin:procedures:basculer_cluster [2018/05/06 14:35] – qgibeaux | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Basculer le cluster d'un noeud à l' | ====== Basculer le cluster d'un noeud à l' | ||
- | Avant d' | + | Avant d' |
===== Arrêt propre d'un hyperviseur ===== | ===== Arrêt propre d'un hyperviseur ===== | ||
- | Arrêter | + | Suivre |
+ | ===== Basculer de maine à coon ===== | ||
- | < | + | Arrêter |
- | cd /etc/libvirt/qemu | + | |
- | for host in $(ls *xml | sed -e 's/.xml// | + | |
- | </ | + | |
- | Déconnecter les volumes DRBD: | + | Basculer la FIP vers //coon//, soit par la console Hetzner soit par le script suivant: |
< | < | ||
- | umount | + | curl -u LOGIN https://robot-ws.your-server.de/failover/88.99.233.240 \ |
- | drbdadm disconnect calamus | + | -d active_server_ip=94.130.8.3 |
- | drbdadm secondary virola | + | |
- | drbdadm disconnect virola | + | |
</ | </ | ||
- | Puis enfin, arrêter | + | //LOGIN// étant l' |
- | ===== Basculer de virola | + | |
- | Arrêter //virola// le cas échéant. | + | Sur coon, ajouter les IP virtuelles: |
- | + | ||
- | Basculer la VIP vers //calamus//, soit par la [[: | + | |
< | < | ||
- | curl -X POST \ | + | ip addr add 88.99.233.240/ |
- | -H " | + | ip addr add 192.168.1.254/32 dev virbr0 |
- | -H " | + | ip route replace 94.130.8.1 dev enp0s31f6 proto kernel scope link src 88.99.233.240 |
- | -d ' | + | ip route replace default via 94.130.8.1 dev enp0s31f6 src 88.99.233.240 |
- | " | + | |
</ | </ | ||
- | //XXX// étant le token de l'API (voir le [[: | + | Toujours sur coon, éditer |
- | Sur calamus, ajouter les IP virtuelles: | + | Vérifier l' |
< | < | ||
- | ip addr add 195.154.56.24/ | + | # drbd-overview |
- | ip addr add 172.16.0.250/32 dev br1 | + | 0:maine/0 Connected Secondary/ |
- | </ | + | 1: |
- | Vérifier | + | Le partage //maine// doit être en secondary. |
+ | |||
+ | Passer le partage //maine// en primaire: | ||
< | < | ||
- | # cat /proc/drbd | + | # drbdadm primary maine |
- | | + | # drbd-overview |
- | srcversion: 1A9F77B1CA5FF92235C2213 | + | 0:maine/0 Connected Primary/Secondary |
- | 0: cs: | + | 1:coon/0 Connected |
- | | + | |
- | | + | |
- | ns: | + | |
- | </ | + | |
- | Le partage //0// (// | + | Si on est en Primary, effectuer |
- | + | ||
- | Passer | + | |
< | < | ||
- | # drbdadm primary virola | + | # mount /var/lib/libvirt/maine |
- | # cat /proc/drbd | + | |
- | | + | |
- | | + | |
- | 0: cs: | + | |
- | | + | |
- | 1: cs: | + | |
- | | + | |
</ | </ | ||
- | Si on est en Primary, effectuer le montage: | + | Régler les hooks pour l'IPv6 sur // |
< | < | ||
- | # mount /dev/drbd0 | + | cd / |
+ | # Nettoyage des règles ipv6 avant bascule : | ||
+ | / | ||
+ | # Changement de script network | ||
+ | ln -sf / | ||
</ | </ | ||
Ligne 82: | Ligne 67: | ||
< | < | ||
# cd / | # cd / | ||
- | # for machine | + | # for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done |
- | do | + | |
- | virsh define | + | |
- | | + | |
- | done | + | |
</ | </ | ||
**Note:** cette boucle //for// doit être faite pour toutes les VM à basculer. | **Note:** cette boucle //for// doit être faite pour toutes les VM à basculer. | ||
- | + | **Aller sur dns.cluster.chapril.org et inverser les enregistrements AAAA nécessaires (voir commentaires dans la zone chapril.org et chapril.org-int) pour potentiellement mail.chapril.org chapril.org et fip.chapril.org** | |
- | Sur galanga, redémarrer le VPN qui doit être perdu si on a migré | + | |
- | + | ||
- | < | + | |
- | # /etc/init.d/openvpn restart | + | |
- | </ | + | |
==== Retour à la normale ==== | ==== Retour à la normale ==== | ||
- | Sur calamus: | + | Sur coon: |
< | < | ||
- | # for machine | + | # for host in admin bastion pouet ... ; do virsh shutdown $host ; done; sleep 20; |
+ | # for host in admin bastion pouet ... ; do virsh destroy $host ; done | ||
</ | </ | ||
- | Redémarrer | + | Redémarrer |
- | Sur calamus: | + | Sur coon: |
< | < | ||
- | # umount /dev/drbd0 | + | # umount /var/lib/ |
</ | </ | ||
- | Sur virola: | + | Sur maine: |
< | < | ||
- | # cat /proc/drbd | + | # drbd-overview |
- | | + | 0:maine/0 |
- | srcversion: 1A9F77B1CA5FF92235C2213 | + | 1:coon/0 |
- | 0: cs:Connected | + | |
- | ns:0 nr:5066780 dw:5066780 dr:0 al:0 bm:407 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | + | |
- | | + | |
- | ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | + | |
</ | </ | ||
- | On doit être en Secondary/ | + | On doit être en Secondary/ |
< | < | ||
- | # drbdadm secondary | + | # drbdadm secondary |
- | # ip addr del 195.154.56.24/32 dev br0 | + | # ip addr del 88.99.233.240/32 dev enp0s31f6 |
- | # ip addr del 172.16.0.250/32 dev br1 | + | # ip addr del 192.168.1.254/32 dev virbr0 |
+ | # ip route replace default via 94.130.8.1 dev enp0s31f6 src 94.130.8.3 | ||
+ | # ip route replace 94.130.8.1 dev enp0s31f6 proto kernel scope link src 94.130.8.3 | ||
</ | </ | ||
- | Sur //virola//, passer le partage en primaire, le monter et remettre les interfaces VIP en ligne: | + | Sur //coon//, recommenter la ligne //fip=// dans / |
< | < | ||
- | # drbdadm primary virola | + | cd /etc/libvirt/ |
- | # mount /dev/drbd0 | + | ln -sf /etc/ |
- | # for machine in bastion admin dns ... ; do virsh start $machine ; done | + | /etc/ |
- | # ip addr add 195.154.56.24/32 dev br0 | + | |
- | # ip addr add 172.16.0.250/32 dev br1 | + | |
</ | </ | ||
- | Basculer la VIP à nouveau sur virola: | + | Sur //maine//, passer le partage en primaire, le monter et remettre les interfaces FIP en ligne: |
< | < | ||
- | # curl -X POST \ | + | # drbdadm primary maine |
- | -H " | + | # mount / |
- | -H " | + | # cd / |
- | | + | # for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done |
- | " | + | |
</ | </ | ||
- | Et si la VM //bastion// a été migrée, se rendre | + | Basculer |
< | < | ||
- | # /etc/init.d/openvpn restart | + | curl -u LOGIN https://robot-ws.your-server.de/failover/ |
+ | -d active_server_ip=94.130.8.2 | ||
</ | </ | ||
+ | **Aller sur dns.cluster.chapril.org et inverser les enregistrements AAAA nécessaires (voir commentaires dans la zone chapril.org et chapril.org-int) pour potentiellement mail.chapril.org chapril.org et fip.chapril.org** | ||
+ | ===== Arrêt propre d'un hyperviseur ===== | ||
+ | |||
+ | Suivre les procédures de redémarrage ([[: | ||
- | ===== Basculer de calamus | + | ===== Basculer de coon à maine ===== |
- | Arrêter //calamus// le cas échéant (voir début de cette page). | + | Arrêter //coon// le cas échéant (voir début de cette page). |
- | En théorie, la bascule et l' | + | En théorie, la bascule et l' |
- | Vérifier sur //virola// l' | + | Vérifier sur //maine// l' |
< | < | ||
- | # cat /proc/drbd | + | # drbd-overview |
- | version: 8.4.3 (api:1/proto: | + | 0:maine/0 |
- | srcversion: 1A9F77B1CA5FF92235C2213 | + | 1:coon/0 Connected |
- | 0: cs: | + | |
- | | + | |
- | 1: cs: | + | |
- | ns:0 nr:4950536 dw:4950536 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | + | |
</ | </ | ||
- | Le partage //1// (// | + | Le partage //coon// doit être en secondary. |
- | Passer le partage //calamus// en primaire: | + | Passer le partage //coon// en primaire: |
< | < | ||
- | # drbdadm primary | + | # drbdadm primary |
- | # cat /proc/drbd | + | # drbd-overview |
- | version: 8.4.3 (api:1/proto: | + | 0:maine/0 |
- | srcversion: 1A9F77B1CA5FF92235C2213 | + | 1:coon/0 Connected |
- | 0: cs: | + | |
- | | + | |
- | 1: cs: | + | |
- | ns:0 nr:4950536 dw:4950536 dr:912 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | + | |
</ | </ | ||
Ligne 199: | Ligne 167: | ||
< | < | ||
- | # mount /dev/drbd1 | + | # mount /var/lib/ |
+ | </ | ||
+ | |||
+ | < | ||
+ | cd / | ||
+ | / | ||
+ | ln -sf / | ||
</ | </ | ||
Ligne 206: | Ligne 180: | ||
< | < | ||
# cd / | # cd / | ||
- | # for machine | + | # for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done |
- | do | + | |
- | virsh define | + | |
- | | + | |
- | done | + | |
</ | </ | ||
Ligne 218: | Ligne 188: | ||
==== Retour à la normale ==== | ==== Retour à la normale ==== | ||
- | Sur virola: | + | Sur maine: |
< | < | ||
- | # for machine | + | # for host in dns lamp mail sympa ... ; do virsh shutdown $host ; done; sleep 20; |
+ | # for host in dns lamp mail sympa ... ; do virsh destroy $host ; done | ||
</ | </ | ||
- | Redémarrer | + | Redémarrer |
- | Sur virola: | + | Sur maine |
< | < | ||
- | # umount /dev/drbd1 | + | # umount /var/lib/ |
</ | </ | ||
- | Sur calamus: | + | Sur coon: |
< | < | ||
- | # cat /proc/drbd | + | # drbd-overview |
- | | + | 0:maine/0 |
- | srcversion: 1A9F77B1CA5FF92235C2213 | + | 1:coon/0 |
- | 0: cs:Connected | + | |
- | ns:0 nr:5066780 dw:5066780 dr:0 al:0 bm:407 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | + | Attendre que ce soit UpToDate, il est possible qu'il synchronise |
- | | + | |
- | ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | + | |
</ | </ | ||
- | On doit être en Secondary/ | + | On doit être en Secondary/ |
< | < | ||
- | # drbdadm secondary | + | # drbdadm secondary |
</ | </ | ||
- | |||
- | Sur // | ||
< | < | ||
- | # drbdadm primary calamus | + | cd / |
- | # mount /dev/drbd1 | + | ln -sf /etc/libvirt/ |
- | # for machine in adl ... ; do virsh start $machine ; done | + | / |
</ | </ | ||
- | Et si la VM //bastion// a été migrée, se rendre sur galanga et relancer | + | Sur //coon//, passer |
< | < | ||
- | # /etc/init.d/openvpn restart | + | # drbdadm primary coon |
+ | # mount /var/lib/libvirt/ | ||
+ | # for machine in adl ... ; do virsh start $machine ; done | ||
</ | </ | ||
- | |||
- | ===== Autres procédures DRBD ===== | ||
- | |||
- | Voir [[[: |
admin/procedures/basculer_cluster.txt · Dernière modification : 2024/03/11 08:43 de 34.70.224.243