Outils pour utilisateurs

Outils du site


admin:procedures:redemarrer-maine

Ceci est une ancienne révision du document !


Rebooter Maine

Actions préalables

Vérifier si un fsck va être déclencher

Une vérification de disque peut rallonger énormément la durée du redémarrage. Vérifier :

df | awk '/^\/dev/ {print $1}' | xargs -I {} sh -c 'echo {}; tune2fs -l {}' | awk '/^\/dev/ {print $1} /^Filesystem state/ {print $3, " ",$4}'

Prévenir les usagers

Sur status.chapril.org

Ouvrir une action de maintenance sur https://status.chapril.org/ :

  • utiliser le modèle reboot cluster ;
  • renseigner When is this maintenance scheduled for? ;
  • ne pas remplir When did this maintenance complete? ;
  • cocher Notifier les abonnés ?.

Sur chapril@april.org

Envoyer un courriel aux listes :

From: François Poulain <fpoulain@metrodore.fr>
To: chapril@april.org
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,

Je vais rebooter le cluster pour tenir compte du dernier upgrade
noyal de sécurité.

François

-- 
François Poulain <fpoulain@metrodore.fr>

Sur XMPP chapril.org (commande à lancer sur xmpp.cluster.chapril.org) (Brouillon)

Avertir les usagers du service XMPP de l'interruption, en lançant une annonce par le biais d'ejabberd, sur la machine xmpp.

xmpp_send_server_notice_all "Annonce du Serveur" "Bonjour. Le serveur Chapril va subir un redémarrage à 13h15 et de ce fait les services seront interrompus durant 30 minutes. Merci de votre patience !"

Sur les machines

Vérifier qui est présent sur les vm :

cluster_guests='admin bastion dns drop lamp libreoffice mail pad pouet sympa valise xmpp allo'
for guest in $cluster_guests ;
do
    echo "===== $guest ====="
    cmd='for i in $(ps auxwww|grep "\-bash" | awk '\''{ print $2 }'\'' ); do cat "/proc/$i/environ" ; done 2>/dev/null |strings |grep GIT_AUTHOR_NAME | sort | uniq'
    ssh root@$guest.cluster.chapril.org "$cmd"
done

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.

./do.sh "wall 'Bonjour. Reboot SI Chapril à 13h15. Cpm.'"

Couper le monitoring

  • Mettre les hosts concernés en downtime
  • Propager les downtimes en questions sur les services des hosts.

Lister les VM actives

Noter la liste des VM actives pour comparer avec après le redémarrage.

# virsh list

Arrêt de Maine

Maine est lié à Coon par DBRD, il y a donc une procédure à suivre pour rebooter proprement.

Arrêter les VM :

cd /etc/libvirt/qemu
for host in $(ls *xml | sed -e 's/.xml//g') ; do virsh shutdown $host ; done; watch virsh list

ou bien :

cd /etc/libvirt/qemu
for host in $(ls *xml | sed -e 's/.xml//g') ; do virsh shutdown $host ; done; sleep 20;
for host in $(ls *xml | sed -e 's/.xml//g') ; do virsh destroy $host ; done

Arrêter DRBD :

umount /var/lib/libvirt/maine
drbdadm disconnect coon
drbdadm secondary maine
drbdadm disconnect maine

Redémarrer :

reboot

Remise en marche de Maine

Attendre que le système ait fini de démarrer (état à running) :

watch "systemctl status | grep State | head -1"

Démarrer DRBD :

drbdadm primary maine
mount /var/lib/libvirt/maine

Démarrer les VM :

cd /etc/libvirt/qemu
for host in $(ls *xml | sed -e 's/.xml//g'| grep -v modele) ; do virsh start $host ; done

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

virsh list

Et comparer à la liste avant reboot.

Vérifier le bon démarrage des vm

Parfois les vm démarre mais en statut « degraded ». Il convient de vérifier par un :

./do.sh "systemctl status | head -2"

Et pour les vm n'ayant pas un statut « running », faire la commande suivante pour identifier le service en souffrance :

systemctl list-units

Vérifier les sondes dans Icinga

Si un problème subsiste alors les sondes devraient le faire apparaître dans Icinga. Vérifier que les alertes actives sont acceptables.

Clôturer l'action de maintenance status.chapril.org

Éditer l'action de maintenance :

  • Status : sélectionner complete ;
  • When did this maintenance complete? : mettre la date et horaire de fin.

Envoyer un message sur XMPP Chapril

<pre> sudo -u ejabberd ejabberdctl send_message headline xmpp-admin@chapril.org chapril.org/announce/online “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. </pre>

admin/procedures/redemarrer-maine.1616926684.txt.gz · Dernière modification: 2021/03/28 12:18 par neox