Outils pour utilisateurs

Outils du site


admin:procedures:basculer_cluster

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:procedures:basculer_cluster [2018/05/05 13:40] – [Basculer de maine à coon] qgibeauxadmin:procedures:basculer_cluster [2024/03/11 08:43] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 34.70.224.243
Ligne 5: Ligne 5:
 ===== Arrêt propre d'un hyperviseur ===== ===== Arrêt propre d'un hyperviseur =====
  
-Suivre les procédures de redémarrage ([[:admin:procedures:redemarrer-maine]] ou [[:admin:procedures:redemarrer-coon]]) en s'arrêtant à la partie //reboot// ici remplacé par //halt//. +Suivre les procédures de redémarrage ([[admin:procedures:redemarrer-persan]] ou [[admin:procedures:redemarrer-korat]]) en s'arrêtant à la partie //reboot//Au lieu de redémarrer le serveur, passez-le en mode rescue dans la console Hetzner.
- +
 ===== Basculer de maine à coon ===== ===== Basculer de maine à coon =====
  
Ligne 15: Ligne 13:
  
 <code> <code>
-curl -u LOGIN:PASSWORD https://robot-ws.your-server.de/failover/88.99.233.240 \+curl -u LOGIN https://robot-ws.your-server.de/failover/88.99.233.240 \
      -d active_server_ip=94.130.8.3      -d active_server_ip=94.130.8.3
 </code> </code>
  
-//LOGIN// et //PASSWORD// étant les identifiants de Hetzner (voir la procédure concernant [[:admin:procedures:configuration_password_store|Pass]]).+//LOGIN// étant l'identifiant de Hetzner, le mot de passe sera demandé en interactif (voir la procédure concernant [[:admin:procedures:configuration_password_store|Pass]]). Le serveur met plusieurs secondes à répondre.
  
 Sur coon, ajouter les IP virtuelles: Sur coon, ajouter les IP virtuelles:
Ligne 25: Ligne 23:
 <code> <code>
 ip addr add  88.99.233.240/32 dev enp0s31f6 ip addr add  88.99.233.240/32 dev enp0s31f6
-ip route replace default via 94.130.8.dev enp0s31f6 src 88.99.233.240+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 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
 </code> </code>
  
Ligne 58: Ligne 57:
 <code> <code>
 cd /etc/libvirt/hooks cd /etc/libvirt/hooks
-ln -sf /etc/libvirt/hooks/network/network-only-coon-running network+# Nettoyage des règles ipv6 avant bascule : 
 +/etc/libvirt/hooks/network default stopped end  
 +# Changement de script network 
 +ln -sf /etc/libvirt/hooks/network-only-coon-running network
 </code> </code>
  
Ligne 69: Ligne 71:
  
 **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 :
 +<code>
 +cd /etc/bind/zones/masters
 +ln -fs /etc/bind/zones/masters/coon-running.include ipv6
 +ln -fs /etc/bind/zones/masters/coon-running.include-int ipv6-int
 +</code>
 +
 +Ne pas oublier d'incrémenter le serial sur chapril.org et chapril.org-int et de lancer un //rndc reload//.
  
 ==== Retour à la normale ==== ==== Retour à la normale ====
Ligne 75: Ligne 86:
  
 <code> <code>
-# for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh shutdown $host ; done+# for host in admin bastion pouet ... ; do virsh shutdown $host ; done; sleep 20; 
 +# for host in admin bastion pouet ... ; do virsh destroy $host ; done
 </code> </code>
  
Ligne 92: Ligne 104:
  0:maine/ Connected Secondary/Primary UpToDate/UpToDate  0:maine/ Connected Secondary/Primary UpToDate/UpToDate
  1:coon/  Connected Secondary/Primary UpToDate/UpToDate  1:coon/  Connected Secondary/Primary UpToDate/UpToDate
 +</code>
  
 On doit être en Secondary/Primary pour le partage //maine// Sur coon, passer le partage //maine// en secondaire et supprimer les interfaces de FIP: On doit être en Secondary/Primary pour le partage //maine// Sur coon, passer le partage //maine// en secondaire et supprimer les interfaces de FIP:
Ligne 98: Ligne 111:
 # drbdadm secondary maine # drbdadm secondary maine
 # ip addr del  88.99.233.240/32 dev enp0s31f6 # ip addr del  88.99.233.240/32 dev enp0s31f6
-# ip route replace default via 94.130.8.1 dev enp0s31f6 src 94.130.8.2 +# ip addr del  192.168.1.254/32 dev virbr0 
-# ip route replace 94.130.8.1 dev enp0s31f6 proto kernel scope link src 94.130.8.2+# 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
 </code> </code>
  
 Sur //coon//, recommenter la ligne //fip=// dans /etc/firehol/firehol.conf et lancer //firehol start// Sur //coon//, recommenter la ligne //fip=// dans /etc/firehol/firehol.conf et lancer //firehol start//
 +
 +<code>
 +cd /etc/libvirt/hooks
 +ln -sf /etc/libvirt/hooks/network-maine-coon-running network
 +/etc/libvirt/hooks/network default started begin
 +</code>
  
 Sur //maine//, passer le partage en primaire, le monter et remettre les interfaces FIP en ligne: Sur //maine//, passer le partage en primaire, le monter et remettre les interfaces FIP en ligne:
Ligne 108: Ligne 128:
 <code> <code>
 # drbdadm primary maine # drbdadm primary maine
-umount /var/lib/libvirt/maine +mount /var/lib/libvirt/maine 
-# for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh shutdown $host ; done+# cd /etc/libvirt/qemu 
 +# for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done
 </code> </code>
  
-Basculer la VIP à nouveau sur virola+Basculer la FIP à nouveau sur maine
  
 <code> <code>
-curl -u LOGIN:PASSWORD https://robot-ws.your-server.de/failover/88.99.233.240 \+curl -u LOGIN https://robot-ws.your-server.de/failover/88.99.233.240 \
      -d active_server_ip=94.130.8.2      -d active_server_ip=94.130.8.2
 </code> </code>
  
 +Aller sur dns.cluster.chapril.org :
 +<code>
 +cd /etc/bind/zones/masters
 +ln -fs /etc/bind/zones/masters/maine-coon-running.include ipv6
 +ln -fs /etc/bind/zones/masters/maine-coon-running.include-int ipv6-int
 +</code>
  
-===== Basculer de calamus à virola =====+Ne pas oublier d'incrémenter le serial sur chapril.org et chapril.org-int et de lancer un //rndc reload//.
  
-Arrêter //calamus// le cas échéant (voir début de cette page).+===== Arrêt propre d'un hyperviseur =====
  
-En théorie, la bascule et l'ajout des VIP n'est pas nécessaire car virola possède par défaut les VIP.+Suivre les procédures de redémarrage ([[admin:procedures:redemarrer-persan]] ou [[admin:procedures:redemarrer-korat]]) en s'arrêtant à la partie //reboot// ici remplacé par //halt//.
  
-Vérifier sur //virola// l'état de drbd:+===== Basculer de coon à maine ===== 
 + 
 +Arrêter //coon// le cas échéant (voir début de cette page). 
 + 
 +En théorie, la bascule et l'ajout de la FIP n'est pas nécessaire car maine possède par défaut la FIP. 
 + 
 +Vérifier sur //maine// l'état de drbd:
  
 <code> <code>
-cat /proc/drbd +# drbd-overview  
-version8.4.3 (api:1/proto:86-101) + 0:maine/0  Connected Primary/Secondary UpToDate/UpToDate /var/lib/libvirt/maine ext4 1007G 63G 893G 7%  
-srcversion: 1A9F77B1CA5FF92235C2213  + 1:coon/  Connected Secondary/Primary UpToDate/UpToDate
- 0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r----- +
-    ns:574528 nr:5066780 dw:5646932 dr:2439761 al:168 bm:407 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:3960 +
- 1: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r----- +
-    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+
 </code> </code>
  
-Le partage //1// (//calamus//doit être en secondary.  Si //calamus// est en panne, l'état est ''Secondary/Unknown'' Sinon, il doit être ''Secondary/Primary''.+Le partage //coon// doit être en secondary.  Si //coon// est en panne, l'état est ''Secondary/Unknown'' Sinon, il doit être ''Secondary/Primary''.
  
-Passer le partage //calamus// en primaire:+Passer le partage //coon// en primaire:
  
 <code> <code>
-# drbdadm primary calamus +# drbdadm primary coon 
-cat /proc/drbd +# drbd-overview  
-version8.4.3 (api:1/proto:86-101) + 0:maine/0  Connected Primary/Secondary UpToDate/UpToDate /var/lib/libvirt/maine ext4 1007G 63G 893G 7%  
-srcversion: 1A9F77B1CA5FF92235C2213  + 1:coon/  Connected Primary/Secondary UpToDate/UpToDate /var/lib/libvirt/maine ext4 1007G 63G 893G 7% 
- 0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r----- +
-    ns:574528 nr:5066780 dw:5647340 dr:2439761 al:168 bm:407 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:4248 +
- 1: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r----- +
-    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+
 </code> </code>
  
Ligne 156: Ligne 181:
  
 <code> <code>
-# mount /dev/drbd1+# mount /var/lib/libvirt/coon 
 +</code> 
 + 
 +<code> 
 +cd /etc/libvirt/hooks 
 +/etc/libvirt/hooks/network default stopped begin 
 +ln -sf /etc/libvirt/hooks/network-only-maine-running network
 </code> </code>
  
Ligne 163: Ligne 194:
 <code> <code>
 # cd /etc/libvirt/qemu # cd /etc/libvirt/qemu
-# for machine in adl ... +# for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done
-do +
-  virsh define $machine.xml +
-  virsh start $machine +
-done+
 </code> </code>
  
 **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 :
 +<code>
 +cd /etc/bind/zones/masters
 +ln -fs /etc/bind/zones/masters/maine-running.include ipv6
 +ln -fs /etc/bind/zones/masters/maine-running.include-int ipv6-int
 +</code>
 +
 +Ne pas oublier d'incrémenter le serial sur chapril.org et chapril.org-int et de lancer un //rndc reload//.
  
 ==== Retour à la normale ==== ==== Retour à la normale ====
  
-Sur virola:+Sur maine:
  
 <code> <code>
-# for machine in adl ... ; do virsh shutdown $machine ; done+# 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
 </code> </code>
  
-Redémarrer calamus par la console Online (ça peut prendre 2mn).+Redémarrer coon par la console Hetzner (ça peut prendre 2mn).
  
-Sur virola:+Sur maine
  
 <code> <code>
-# umount /dev/drbd1+# umount /var/lib/libvirt/coon
 </code> </code>
  
-Sur calamus:+Sur coon:
  
 <code> <code>
-cat /proc/drbd  +# drbd-overview  
-  version8.4.3 (api:1/proto:86-101) + 0:maine/ Connected Secondary/Primary UpToDate/UpToDate  
-  srcversion: 1A9F77B1CA5FF92235C2213  + 1:coon/0   Connected Secondary/Primary UpToDate/UpToDate 
-   0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----- + 
-      ns:0 nr:5066780 dw:5066780 dr:0 al:0 bm:407 lo:0 pe:0 ua:0 ap:0 ep:wo:f oos:0 +Attendre que ce soit UpToDate, il est possible qu'il synchronise
-   1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----- +
-      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+
 </code> </code>
  
-On doit être en Secondary/Primary pour le partage //1//.  Sur virola, passer le partage //calamus// en secondaire:+On doit être en Secondary/Primary pour le partage //coon//.  Sur maine, passer le partage //coon// en secondaire:
  
 <code> <code>
-# drbdadm secondary calamus+# drbdadm secondary coon
 </code> </code>
- 
-Sur //calamus//, passer le partage en primaire, le monter et remettre les interfaces VIP en ligne: 
  
 <code> <code>
-# drbdadm primary calamus +cd /etc/libvirt/hooks 
-# mount /dev/drbd1 +ln -sf /etc/libvirt/hooks/network-maine-coon-running network 
-# for machine in adl ... ; do virsh start $machine ; done+/etc/libvirt/hooks/network default started begin
 </code> </code>
  
-Et si la VM //bastion// a été migréese rendre sur galanga et relancer le VPN:+Sur //coon//, passer le partage en primaire, le monter et remettre l'interfaces FIP en ligne:
  
 <code> <code>
-# /etc/init.d/openvpn restart+drbdadm primary coon 
 +# mount /var/lib/libvirt/coon 
 +# for machine in adl ... ; do virsh start $machine ; done
 </code> </code>
  
  
 +Aller sur dns.cluster.chapril.org :
 +<code>
 +cd /etc/bind/zones/masters
 +ln -fs /etc/bind/zones/masters/maine-coon-running.include ipv6
 +ln -fs /etc/bind/zones/masters/maine-coon-running.include-int ipv6-int
 +</code>
  
 +Ne pas oublier d'incrémenter le serial sur chapril.org et chapril.org-int et de lancer un //rndc reload//.
  
-===== Autres procédures DRBD ===== 
- 
-Voir [[[:sysadm:procedures:Procédures relatives à DRBD]]. 
admin/procedures/basculer_cluster.1525527637.txt.gz · Dernière modification : 2018/05/05 13:40 de qgibeaux