Outils pour utilisateurs

Outils du site


admin:procedures:redemarrer-korat

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:redemarrer-korat [2024/03/09 20:53] – Vérification des animsys connectées sur les VMs: ajout de grof et wiki pilouadmin:procedures:redemarrer-korat [2026/03/03 10:16] (Version actuelle) fhenry2
Ligne 3: Ligne 3:
 ===== Actions préalables ===== ===== Actions préalables =====
  
-==== Vérifier si un fsck va être déclencher ====+==== Vérifier si un fsck va être déclenché ====
  
-Une vérification de disque peut rallonger énormément la durée du redémarrage. Vérifier : +Une vérification de disque peut rallonger énormément la durée du redémarrage. 
-<code> +Vérifier : 
-df | awk '/^\/dev/ {print $1}' | xargs -I {} sh -c 'echo {}; tune2fs -l {}' | awk '/^\/dev/ {print $1} /^Filesystem state/ {print $3, " ",$4}'+<code bash
 +df | awk '/^\/dev\/mapper/ {print $1}' | xargs -I {} sh -c 'echo {}; tune2fs -l {}' | awk '/^\/dev/ {print $1} /^Filesystem state/ {print $3, " ",$4}'
 </code> </code>
  
Ligne 13: Ligne 14:
  
 === Sur status.chapril.org === === Sur status.chapril.org ===
 +
 Ouvrir une action de maintenance sur https://status.chapril.org/ : Ouvrir une action de maintenance sur https://status.chapril.org/ :
-  * utiliser le modèle ''reboot cluster''+  * Utiliser le modèle ''reboot cluster''
-  * renseigner ''When is this maintenance scheduled for?''+  * Renseigner ''When is this maintenance scheduled for?''
-  * ne pas remplir ''When did this maintenance complete?''+  * Ne pas remplir ''When did this maintenance complete?''
-  * cocher ''Notifier les abonnés ?''.+  * Cocher ''Notifier les abonnés ?''. 
 + 
 +=== Sur chapril@april.org puis sur admins@chapril.org ===
  
-=== Sur chapril@april.org ===+Envoyer deux courriels séparés aux listes : [[chapril@april.org]] puis [[admins@chapril.org]].
  
-Envoyer un courriel aux listes : 
 <code> <code>
 From: François Poulain <fpoulain@metrodore.fr> From: François Poulain <fpoulain@metrodore.fr>
 To: chapril@april.org To: chapril@april.org
-Subject: [Chapril] Reboot du cluster +Subject: [Chapril] Redémarrage du cluster
-Date: Sun, 4 Mar 2018 15:25:18 +0100 +
-Reply-To: chapril@april.org +
-Sender: chapril-request@april.org +
-X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu)+
  
 Coucou, Coucou,
Ligne 45: Ligne 44:
  
 À l'aide du compte https://pouet.chapril.org/@chapriladmin : À l'aide du compte https://pouet.chapril.org/@chapriladmin :
- 
 <code> <code>
 Nous allons redémarrer les serveurs de notre Chapril https://chapril.org pour tenir compte des mises à jour. Nous allons redémarrer les serveurs de notre Chapril https://chapril.org pour tenir compte des mises à jour.
Ligne 54: Ligne 52:
 === Sur les machines === === Sur les machines ===
  
-Vérifier qui est présent sur les vm +Vérifier qui est présent sur les VM 
-<code> +<code bash
-cluster_guests='admin bastion dns drop grof lamp libreoffice mail pad pouet sympa valise xmpp wiki'+cluster_guests=$(ssh root@persan.chapril.org "virsh list --name"; ssh root@korat.chapril.org "virsh list --name")
 for guest in $cluster_guests ; for guest in $cluster_guests ;
 do do
Ligne 66: Ligne 64:
 </code> </code>
  
-Pour le cas où un animateur travaillerait sur sa vm sans avoir vu ni le courriel ni status.chapril.org, envoyer un avertissement sur chaque machine. +Pour le cas où un animateur travaillerait sur sa VM sans avoir vu ni le courriel ni ''status.chapril.org'', envoyer un avertissement sur chaque machine. 
-<code>+<code bash>
 ./do.sh "wall 'Bonjour. Reboot SI Chapril à 13h15. Cpm.'" ./do.sh "wall 'Bonjour. Reboot SI Chapril à 13h15. Cpm.'"
 </code> </code>
 +
 +=== Sur IRC et XMPP ===
 +
 +  * IRC : salon ''#chapril'' sur ''irc.libera.chat:6697'' ([[https://webchat.april.org/|webchat]]) ;
 +  * XMPP : ''chapril@muc.chapril.org''.
 +
 ==== Couper le monitoring ==== ==== Couper le monitoring ====
  
-  * Mettre les hosts concernés en downtime +  * Mettre les //hosts// concernés en //downtime// ; 
-  * Propager les downtimes en questions sur les services des hosts.+  * Propager les //downtimes// en questions sur les services des //hosts//.
  
-Le script suivant peut être utilisé pour couper le monitoring sur les hôtes et propager les downtimes sur les services hébergés. Les identifiants sont définis dans le fichier ''/etc/icinga2/conf.d/api-users.conf'' sur la machine ''admin.cluster.chapril.org'', l'utilitaire ''[[https://github.com/jpmens/jo|jo]]'' ([[https://packages.debian.org/bullseye/jo|paquet Debian]]) est requis. +Le script suivant peut être utilisé pour couper le monitoring sur les hôtes et propager les //downtimes// sur les services hébergés. 
-<code>+Les identifiants sont définis dans le fichier ''/etc/icinga2/conf.d/api-users.conf'' sur la machine ''admin.cluster.chapril.org''
 +L'utilitaire ''[[https://github.com/jpmens/jo|jo]]'' ([[https://packages.debian.org/stable/jo|paquet Debian]]) est requis. 
 + 
 +<code bash>
 curl -k -s -S -i -u ${ICINGA_USER}:${ICINGA_PASSWORD} -H 'Accept: application/json' \ curl -k -s -S -i -u ${ICINGA_USER}:${ICINGA_PASSWORD} -H 'Accept: application/json' \
  -X POST 'https://icinga.chapril.org:5665/v1/actions/schedule-downtime' \  -X POST 'https://icinga.chapril.org:5665/v1/actions/schedule-downtime' \
Ligne 90: Ligne 97:
         end_time=$(date +%s -d "+1 hour"))"         end_time=$(date +%s -d "+1 hour"))"
 </code> </code>
 +
 ==== Lister les VM actives ==== ==== Lister les VM actives ====
 +
 Noter la liste des VM actives pour comparer avec après le redémarrage. Noter la liste des VM actives pour comparer avec après le redémarrage.
-<code> + 
-virsh list+<code bash
 +virsh list
 </code> </code>
  
 ===== Arrêt de Korat ===== ===== Arrêt de Korat =====
  
-Korat est lié à Maine par DBRD, il y a donc une procédure à suivre pour rebooter proprement.+Arrêter les VM avant de redémarrer Korat:
  
-Arrêter les VM +==== Arrêter les VM ====
-<code> +
-cd /etc/libvirt/qemu +
-for host in $(ls *xml | sed -e 's/.xml//g') ; do virsh shutdown $host ; done; watch virsh list +
-</code>+
  
-ou bien : +<code bash>
- +
-<code>+
 cd /etc/libvirt/qemu cd /etc/libvirt/qemu
-for host in $(ls *xml sed -e 's/.xml//g') ; do virsh shutdown $host done; sleep 20; +virsh list --state-running --name xargs -I{} virsh shutdown {}watch virsh list
-for host in $(ls *xml | sed -e 's/.xml//g') ; do virsh destroy $host ; done+
 </code> </code>
  
-Arrêter DRBD : +===== Redémarrage de Korat =====
-<code> +
-umount /var/lib/libvirt/korat +
-drbdadm disconnect maine +
-drbdadm secondary korat +
-drbdadm disconnect korat +
-</code>+
  
-Redémarrer : +<code bash>
-<code>+
 reboot reboot
 </code> </code>
  
- +==== Remise en marche de Korat ====
-===== Remise en marche de Korat =====+
  
 Attendre que le système ait fini de démarrer (état à //running//) : Attendre que le système ait fini de démarrer (état à //running//) :
-<code>+<code bash>
 watch "systemctl status | grep State | head -1" watch "systemctl status | grep State | head -1"
-</code> 
- 
-Démarrer DRBD : 
-<code> 
-drbdadm primary korat 
-mount /var/lib/libvirt/korat 
 </code> </code>
  
 Démarrer les VM : Démarrer les VM :
-<code> +<note warning>Ne pas redémarrer la VM ''template''.</note> 
-cd /etc/libvirt/qemu +<code bash> 
-for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host done+virsh list --state-shutoff --name  | grep -v template | xargs -I{} virsh start {}watch virsh list
 </code> </code>
  
-Ne pas s'inquiéter : seuls les machines de korat vont démarrer ; sauf si /var/lib/libvirt/maine est monté, mais ce ne serait pas normal.  
 ==== Lister les VM actives ==== ==== Lister les VM actives ====
  
-  virsh list+<code bash> 
 +virsh list 
 +</code>
  
-Et comparer à la liste avant reboot.+Et comparer à la liste avant ''reboot''.
  
-==== Vérifier le bon démarrage des vm ====+==== Vérifier le bon démarrage des VM ====
  
-Parfois les vm démarre mais en statut « degraded ». Il convient de vérifier par un +Parfois les VM démarrent mais en statut //degraded//. 
-<code>+Il convient de vérifier par une commande 
 +<code bash>
 ./do.sh "systemctl status | head -2" ./do.sh "systemctl status | head -2"
 </code> </code>
  
-Et pour les vm n'ayant pas un statut « running », +Et pour les VM n'ayant pas un statut //running//, faire la commande suivante pour identifier le service en souffrance : 
-faire la commande suivante pour identifier le service en souffrance : +<code bash>
-<code>+
 systemctl list-units systemctl list-units
 </code> </code>
Ligne 175: Ligne 165:
  
 Éditer l'action de maintenance : Éditer l'action de maintenance :
-  * Status : sélectionner ''complete''+  * //Status// : sélectionner ''complete''
-  * When did this maintenance complete? : mettre la date et horaire de fin.+  * //When did this maintenance complete?// : mettre la date et l’horaire de fin.
admin/procedures/redemarrer-korat.1710017607.txt.gz · Dernière modification : 2024/03/09 20:53 de pilou