Outils pour utilisateurs

Outils du site


admin:procedures:redemarrer-persan

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-persan [2024/03/10 02:22] – ↷ Nom de la page changé de admin:procedures:redemarrer-maine à admin:procedures:redemarrer-persan pilouadmin:procedures:redemarrer-persan [2026/03/03 10:14] (Version actuelle) – Correction typographique fhenry2
Ligne 1: Ligne 1:
-====== Rebooter Maine ======+====== Rebooter Persan ======
  
 ===== 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. Vérifier :
-<code> +<code bash
-df | awk '/^\/dev/ {print $1}' | xargs -I {} sh -c 'echo {}; tune2fs -l {}' | awk '/^\/dev/ {print $1} /^Filesystem state/ {print $3, " ",$4}'+df | awk '/^\/dev\/mapper/ {print $1}' | xargs -I {} sh -c 'echo {}; tune2fs -l {}' | awk '/^\/dev/ {print $1} /^Filesystem state/ {print $3, " ",$4}'
 </code> </code>
- 
  
 ==== Prévenir les usagers ==== ==== Prévenir les usagers ====
Ligne 16: Ligne 15:
  
 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 ===+=== Sur chapril@april.org puis sur admins@chapril.org ===
  
-Envoyer un courriel aux listes :+Envoyer deux courriels séparés aux listes : [[chapril@april.org]] puis [[admins@chapril.org]] :
 <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] Reboot 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 42: Ligne 37:
 --  -- 
 François Poulain <fpoulain@metrodore.fr> François Poulain <fpoulain@metrodore.fr>
-</code> 
- 
-=== Sur XMPP chapril.org (commande à lancer sur xmpp.cluster.chapril.org) (Brouillon)=== 
- 
-<note important>La commande ''xmpp_send_server_notice_all'' ne fonctionnait plus depuis un bon moment. Elle a normalement été corrigée le 24/12/2022, mais ce correctif n'a pas encore été testée.</note> 
- 
-Avertir les usagers du service XMPP de l'interruption, en lançant une annonce par le biais d'ejabberd, sur la machine xmpp.  
- 
-<code> 
-xmpp_send_server_notice_all "Bonjour. Le serveur Chapril va subir un redémarrage à 13h15 et de ce fait les services seront interrompus durant 30 minutes. Chaprilement." 
 </code> </code>
  
Ligne 66: Ligne 51:
 === 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 lamp libreoffice mail pad pouet sympa valise xmpp allo'+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 78: Ligne 63:
 </code> </code>
  
-Pour le cas où un animateur travaillerait sur sa VM sans avoir vu ni le courriel ni https://status.chapril.org, envoyer un avertissement sur chaque machine. Le script ''do.sh'' se situe dans le sous dossier ''_scripts'' du dépôt ''packages-src''+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/stable/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. 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. +<code bash>
-<code>+
 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 94: Ligne 89:
         pretty=true \         pretty=true \
         type=Host \         type=Host \
-        filter="match(\"maine*\", host.vars.hote)" \+        filter="match(\"persan*\", host.vars.hote)" \
         all_services=true \         all_services=true \
         author="${GIT_AUTHOR_NAME}" \         author="${GIT_AUTHOR_NAME}" \
-        comment="maine upgrade maintenance" \+        comment="Persan upgrade maintenance" \
         fixed=true \         fixed=true \
         start_time=$(date +%s -d "+0 hour") \         start_time=$(date +%s -d "+0 hour") \
         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 Maine =====+===== Arrêt de Persan =====
  
-Maine est lié à Coon par DBRD, il y a donc une procédure à suivre pour rebooter proprement.+Arrêter les VM avant de redémarrer Persan.
  
-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 Persan =====
-<code> +
-umount /var/lib/libvirt/maine +
-drbdadm disconnect coon +
-drbdadm secondary maine +
-drbdadm disconnect maine +
-</code>+
  
-Redémarrer : +<code bash>
-<code>+
 reboot reboot
 </code> </code>
  
- +==== Remise en marche de Persan ====
-===== Remise en marche de Maine =====+
  
 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> </code>
  
-Démarrer DRBD +Démarrer les VM : 
-<code> +<note warning>Ne pas redémarrer la VM ''template''.</note> 
-drbdadm primary maine +<code bash
-mount /var/lib/libvirt/maine+virsh list --state-shutoff --name  | grep -v template | xargs -I{} virsh start {}; watch virsh list
 </code> </code>
  
-Démarrer les VM : 
-<code> 
-cd /etc/libvirt/qemu 
-for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done 
-</code> 
-Ne pas s'inquiéter : seuls les machines de maine vont démarrer ; sauf si /var/lib/libvirt/coon 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émarre 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 186: 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.
- +
-==== Envoyer un message sur XMPP Chapril ==== +
- +
-<code> +
-xmpp_send_server_notice_all "Annonce du Serveur" "L'opération de maintenance est terminée. En vous souhaitant, au nom de toute l'équipe du Chapril et de l'April, un agréable usage de nos services libres, éthique et loyaux. Chaprilement." +
-</code>+
admin/procedures/redemarrer-persan.1710037335.txt.gz · Dernière modification : 2024/03/10 02:22 de pilou