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
Prochaine révisionLes deux révisions suivantes
admin:procedures:basculer_cluster [2018/05/05 13:30] – fix link in intro + drdb-overview commands rhadmin:procedures:basculer_cluster [2018/05/06 13:35] qgibeaux
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-maine]] ou [[:admin:procedures:redemarrer-coon]]) 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.1 dev enp0s31f6 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 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>
 +
 +Toujours sur coon, éditer /etc/firehol/firehol.conf et décommenter la ligne "fip=" et lancer un //firehol start//
  
 Vérifier l'état de drbd: Vérifier l'état de drbd:
Ligne 50: Ligne 50:
 <code> <code>
 # mount /var/lib/libvirt/maine # mount /var/lib/libvirt/maine
 +</code>
 +
 +Régler les hooks pour l'IPv6 sur //coon// :
 +
 +<code>
 +cd /etc/libvirt/hooks
 +# Nettoyage des règles ipv6 avant bascule :
 +/etc/libvirt/hooks/network default stopped begin 
 +# Changement de script network
 +ln -sf /etc/libvirt/hooks/network-only-coon-running network
 </code> </code>
  
Ligne 66: Ligne 76:
  
 <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 83: Ligne 94:
  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 89: Ligne 101:
 # 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.
 +# ip addr add  192.168.1.254/32 dev virbr0 
 +</code> 
 + 
 +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> </code>
  
Ligne 97: Ligne 119:
 <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>
  
 +===== Arrêt propre d'un hyperviseur =====
  
-===== Basculer de calamus à virola =====+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//.
  
-Arrêter //calamus// le cas échéant (voir début de cette page).+===== Basculer de coon à maine =====
  
-En théorie, la bascule et l'ajout des VIP n'est pas nécessaire car virola possède par défaut les VIP.+Arrêter //coon// le cas échéant (voir début de cette page).
  
-Vérifier sur //virola// l'état de drbd:+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 145: Ligne 163:
  
 <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 152: Ligne 176:
 <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>
  
Ligne 164: Ligne 184:
 ==== 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>
  
  
  
- 
-===== Autres procédures DRBD ===== 
- 
-Voir [[[:sysadm:procedures:Procédures relatives à DRBD]]. 
admin/procedures/basculer_cluster.txt · Dernière modification : 2024/03/11 08:43 de 34.70.224.243