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édente | ||
| admin:procedures:basculer_cluster [2018/05/05 12:26] – copie depuis wiki april rh | admin:procedures:basculer_cluster [2025/07/31 07:50] (Version actuelle) – Add warning for obsolesence pitchum | ||
|---|---|---|---|
| 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 |
| - | < | ||
| - | cd / | ||
| - | for host in $(ls *xml | sed -e ' | ||
| - | </ | ||
| - | Déconnecter les volumes DRBD: | + | ===== Basculer de maine à coon ===== |
| - | + | ||
| - | < | + | |
| - | umount / | + | |
| - | drbdadm disconnect calamus | + | |
| - | drbdadm secondary virola | + | |
| - | drbdadm disconnect virola | + | |
| - | </ | + | |
| - | Puis enfin, arrêter la machine. | + | <note important> |
| - | ===== Basculer | + | Il n'y a plus de DRBD entre les hyperviseurs, |
| + | </ | ||
| - | Arrêter //virola// le cas échéant. | + | Arrêter //maine// le cas échéant. |
| - | Basculer la VIP vers //calamus//, soit par la [[:sysadm:console | + | Basculer la FIP vers //coon//, soit par la console |
| < | < | ||
| - | curl -X POST \ | + | curl -u LOGIN https://robot-ws.your-server.de/ |
| - | -H " | + | |
| - | -H "X-Pretty-JSON: | + | |
| - | | + | |
| - | " | + | |
| </ | </ | ||
| - | //XXX// étant | + | //LOGIN// étant l'identifiant de Hetzner, le mot de passe sera demandé en interactif |
| - | Sur calamus, ajouter les IP virtuelles: | + | Sur coon, ajouter les IP virtuelles: |
| < | < | ||
| - | ip addr add 195.154.56.24/32 dev br0 | + | ip addr add 88.99.233.240/32 dev enp0s31f6 |
| - | ip addr add 172.16.0.250/32 dev br1 | + | ip addr add 192.168.1.254/32 dev virbr0 |
| + | ip route replace 94.130.8.1 dev enp0s31f6 proto kernel scope link src 88.99.233.240 | ||
| + | ip route replace default via 94.130.8.1 dev enp0s31f6 src 88.99.233.240 | ||
| </ | </ | ||
| + | |||
| + | Toujours sur coon, éditer / | ||
| Vérifier l' | Vérifier l' | ||
| < | < | ||
| - | # cat /proc/drbd | + | # drbd-overview |
| - | | + | 0:maine/0 Connected |
| - | srcversion: 1A9F77B1CA5FF92235C2213 | + | 1:coon/0 Connected |
| - | 0: cs: | + | |
| - | | + | |
| - | | + | |
| - | ns: | + | |
| - | </ | + | |
| - | Le partage //0// (// | + | Le partage //maine// doit être en secondary. |
| - | Passer le partage //virola// en primaire: | + | Passer le partage //maine// en primaire: |
| < | < | ||
| - | # drbdadm primary | + | # drbdadm primary |
| - | # cat /proc/drbd | + | # drbd-overview |
| - | version: 8.4.3 (api:1/proto: | + | 0:maine/0 |
| - | | + | 1:coon/0 Connected |
| - | | + | |
| - | ns:5074552 nr:13482320 dw: | + | |
| - | 1: cs: | + | |
| - | | + | |
| - | </ | + | |
| Si on est en Primary, effectuer le montage: | Si on est en Primary, effectuer le montage: | ||
| < | < | ||
| - | # mount /dev/drbd0 | + | # mount /var/lib/ |
| + | </ | ||
| + | |||
| + | Régler les hooks pour l'IPv6 sur //coon// : | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | # Nettoyage des règles ipv6 avant bascule : | ||
| + | / | ||
| + | # Changement de script network | ||
| + | ln -sf / | ||
| </ | </ | ||
| Ligne 82: | Ligne 73: | ||
| < | < | ||
| # 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 | |
| - | Sur galanga, redémarrer le VPN qui doit être perdu si on a migré la VM //bastion//: | + | |
| < | < | ||
| - | # /etc/init.d/openvpn restart | + | cd /etc/bind/ |
| + | ln -fs / | ||
| + | ln -fs /etc/ | ||
| </ | </ | ||
| + | Ne pas oublier d' | ||
| ==== 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 : | ||
| + | < | ||
| + | cd / | ||
| + | ln -fs / | ||
| + | ln -fs / | ||
| + | </ | ||
| + | |||
| + | Ne pas oublier d' | ||
| + | |||
| + | ===== Arrêt propre d'un hyperviseur ===== | ||
| + | Suivre les procédures de redémarrage ([[admin: | ||
| - | ===== 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 187: | ||
| < | < | ||
| - | # mount /dev/drbd1 | + | # mount /var/lib/ |
| + | </ | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | / | ||
| + | ln -sf / | ||
| </ | </ | ||
| Ligne 206: | Ligne 200: | ||
| < | < | ||
| # 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 : | ||
| + | < | ||
| + | cd / | ||
| + | ln -fs / | ||
| + | ln -fs / | ||
| + | </ | ||
| + | |||
| + | Ne pas oublier d' | ||
| ==== 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 | ||
| </ | </ | ||
| + | Aller sur dns.cluster.chapril.org : | ||
| + | < | ||
| + | cd / | ||
| + | ln -fs / | ||
| + | ln -fs / | ||
| + | </ | ||
| + | Ne pas oublier d' | ||
| - | ===== Autres procédures DRBD ===== | ||
| - | |||
| - | Voir [[[: | ||
admin/procedures/basculer_cluster.1525523183.txt.gz · Dernière modification : 2018/05/05 12:26 de rh
