From c289c172003efc23806d8702d3712f5e71a8bcdc Mon Sep 17 00:00:00 2001 From: julien Date: Wed, 24 Sep 2025 11:59:02 +0200 Subject: [PATCH] Updates --- On host/Node.js.md | 19 +++++ Turing Pi/glusterfs-check.sh | 134 +++++++++++++++++++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 On host/Node.js.md create mode 100644 Turing Pi/glusterfs-check.sh diff --git a/On host/Node.js.md b/On host/Node.js.md new file mode 100644 index 0000000..178b034 --- /dev/null +++ b/On host/Node.js.md @@ -0,0 +1,19 @@ +### Download Node.js® + +''' +# Download and install nvm: +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash + +# in lieu of restarting the shell +\. "$HOME/.nvm/nvm.sh" + +# Download and install Node.js: +nvm install 22 + +# Verify the Node.js version: +node -v # Should print "v22.19.0". +nvm current # Should print "v22.19.0". + +# Verify npm version: +npm -v # Should print "10.9.3". +''' diff --git a/Turing Pi/glusterfs-check.sh b/Turing Pi/glusterfs-check.sh new file mode 100644 index 0000000..3b85c1b --- /dev/null +++ b/Turing Pi/glusterfs-check.sh @@ -0,0 +1,134 @@ +#!/bin/bash + +LOG_FILE="/var/log/glusterfs-check.log" +STEPS=7 # Nombre total d'étapes dans le script + +# Supprimer les anciens logs +if [ -f "$LOG_FILE" ]; then + rm "$LOG_FILE" +fi + +# Fonction de journalisation +log() { + echo "$(date) : $1" >> $LOG_FILE +} + +# Fonction de progression +progress() { + local step=$1 + local total=$2 + local percent=$(( 100 * step / total )) + echo -ne "Progress: [${percent}%]...\r" +} + +step=1 + +log "Script de vérification GlusterFS démarré." +progress $step $STEPS + +# Vérification de l'état du service glusterd +if ! systemctl is-active --quiet glusterd; then + log "Le service glusterd n'est pas actif. Tentative de démarrage." + sudo systemctl start glusterd + if ! systemctl is-active --quiet glusterd; then + log "Échec du démarrage du service glusterd." + exit 1 + else + log "Service glusterd démarré avec succès." + fi +else + log "Le service glusterd est déjà actif." +fi + +step=$((step + 1)) +progress $step $STEPS + +# Vérification de l'état des pairs GlusterFS +peers_status=$(sudo gluster peer status | grep "Peer in Cluster" | wc -l) + +if [ "$peers_status" -ne 2 ]; then + log "Tous les pairs ne sont pas en ligne. Tentative de reconnexion des pairs." + + # Ajout des adresses IP de vos pairs + peers=("192.168.1.50" "192.168.1.80" "192.168.1.110") + + for peer in "${peers[@]}"; do + sudo gluster peer probe $peer + done + + # Revérification de l'état des pairs + peers_status=$(sudo gluster peer status | grep "Peer in Cluster" | wc -l) + + if [ "$peers_status" -ne 2]; then + log "Échec de la reconnexion de tous les pairs." + exit 1 + else + log "Tous les pairs sont maintenant en ligne." + fi +else + log "Tous les pairs sont en ligne." +fi + +step=$((step + 1)) +progress $step $STEPS + +# Vérification de l'état du volume +volume_status=$(sudo gluster volume info volume_applicatif | grep "Status: Started" | wc -l) + +if [ "$volume_status" -ne 1]; then + log "Le volume volume_applicatif n'est pas démarré. Tentative de démarrage." + sudo gluster volume start volume_applicatif + if [ "$?" -ne 0 ]; then + log "Échec du démarrage du volume volume_applicatif." + exit 1 + else + log "Volume volume_applicatif démarré avec succès." + fi +else + log "Le volume volume_applicatif est déjà démarré." +fi + +step=$((step + 1)) +progress $step $STEPS + +# Vérification des briques du volume +brick_status=$(sudo gluster volume status volume_applicatif detail | grep "N/A" | wc -l) + +if [ "$brick_status" -ne 0 ]; then + log "Certaines briques du volume volume_applicatif ne sont pas en ligne." + # Tentative de remonter les briques + sudo gluster volume heal volume_applicatif +fi + +step=$((step + 1)) +progress $step $STEPS + +# Vérification du montage des volumes +if mountpoint -q /mnt/montage_applicatif; then + log "Le volume GlusterFS est déjà monté." +else + log "Tentative de montage du volume GlusterFS." + sudo mount -t glusterfs 192.168.1.50:/volume_applicatif /mnt/montage_applicatif + if [ "$?" -ne 0 ]; then + log "Échec du montage des volumes GlusterFS. Tentative de diagnostic." + + # Diagnostic supplémentaire + mount_output=$(sudo mount -t glusterfs 192.168.1.50:/volume_applicatif /mnt/montage_applicatif 2>&1) + log "Sortie de la commande de montage : $mount_output" + + # Vérification de l'accès au volume + glusterfs_output=$(sudo gluster volume status volume_applicatif 2>&1) + log "Statut du volume GlusterFS : $glusterfs_output" + + exit 1 + else + log "Volumes GlusterFS montés avec succès." + fi +fi + +step=$((step + 1)) +progress $step $STEPS + +log "Script de vérification GlusterFS terminé avec succès." +progress $STEPS $STEPS +echo ""