plantage Rpi

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
Répondre
bruno_ghost17
Messages : 97
Inscription : 01 févr. 2016, 18:56
Localisation : Rochefort(17)

plantage Rpi

Message par bruno_ghost17 »

salut a tous

petit post pour faire part d'un nouveau plantage du raspberry , environ un mois apres le premier .....

le premier plantage etait dû a la carte µsd , aujourd'hui la clé usb qui lache .....

la fiabilité d'un tel systeme domotique est vraiment legere , peut etre n'ais je pas choisi les bons produits (carte µsd,clé usb)

a la fin de l'hiver et donc a l'arret des chauffage , je vais tacher de migrer mon systeme domoticz sur un disc dur a la place de la clé usb

mais bon , quelque soit la raison du crash , je suis deçu

et je crains de devoir repasser les chauffage en manel pour cette nuit .....

le systeme est en réinstallation sur carte µsd neuve et clé usb neuve aussi , mais j'ai pas un debit du tonnerre donc l'installation de raspbian traine.

Bruno.
Raspi 2 - RFxCom - sondes Oregon
jay
Messages : 30
Inscription : 04 janv. 2017, 13:21

Re: plantage Rpi

Message par jay »

Hello,
Oui on est d'accord le rpi est un peu leger pour faire de la domotique "critique". Cependant ca fait 1 an et demi que jai mon rpi 3 avec le system sur carte sd et aucun problem pour le moment.
Pour palier le fait qu'un jour ma carte sd pourrait me lacher j'ai un script qui fait une backup à chaud de la carte sd sur mon disque multimédia en reseau, avec la sauvegarde de la base de données domoticz. Au pire ma sd crash je sors le pc, la nouvelle carte sd et j'injecte l'iso de backup dessus et c'est reparti.
Comme évolution à ce système de backup, je possède un nuc intel avec lecteur de carte sd et je pense à faire un script dessus qui une fois la backup faite, l'injecte directement dans la nouvelle sd. Du coup il y aura juste à intervertir les deux cartes.

A dispo si tu veux que je mette le script de backup à chaud en ligne.
loops
Messages : 306
Inscription : 13 nov. 2014, 18:14

Re: plantage Rpi

Message par loops »

Salut,

Sauf erreur de ma part, une clé USB ou une carte SD c'est la même chose : de la mémoire flash.
Mon installation fonctionne sur la même carte SD depuis ... je sais plus ... deux ans peut être ... Sans aucun problème.

Il y à des bonnes pratiques à mettre en oeuvre quand on utilise ce genre de mémoire. Les experts me corrigerons j'espère si je dit des bêtises ...
Une carte SD n'est pas éternelle car on ne peut écrire (lire ?) sur ses "puces" qu'un certain nombre de fois. Cette quantité est assez énorme mais quand un système écrit ses logs toute la journée, cela peut aller vite.

- Tout d'abord, bien choisir la carte. Minimum classe 10 et de grosse capacité, même si DZ n'a besoin de presque rien. En choisissant une grosse carte, on augmente le nombre de "puces" et du coup le total du nombre d’écritures possibles.
- Ensuite, tu trouvera cette info sur le forum et sur le blog je crois, il faut créer un espace pour les logs en RAM au lieu de la carte SD. en gros, on créé une partition en RAM que l'on monte sur /var/log et éventuellement sur /var/tmp.

Je ne sais pas comment est configuré ton système, mais il n'y as pas de raison que ta carte lâche fréquemment !
bruno_ghost17
Messages : 97
Inscription : 01 févr. 2016, 18:56
Localisation : Rochefort(17)

Re: plantage Rpi

Message par bruno_ghost17 »

salut

@jay oui je veux bien , merci !
justement je commencais a reflechir a des sauvegardes via rsync ou autre :)

@loops oui , je suis d'accord pour la classe et la taille , je pense que une classe 10 en 32 Go c'est quand même confortable non ?
pour les puces et/ou la différence de facture entre clé et carte µsd je n'en sais rien il me semblait que non , et que c'est pour cette raison qu'il y a des tutos pour monter l'os sur un autre support que sur carte µsd , après , j'ai peut être fait une mauvaise interprétation de ce que j'ai lu , et comme j'ai une mémoire de poisson rouge ....
Raspi 2 - RFxCom - sondes Oregon
loops
Messages : 306
Inscription : 13 nov. 2014, 18:14

Re: plantage Rpi

Message par loops »

Oui 32 Go / Classe 10 c'est a mon avis très bien.
Pour la différence entre les cartes et les clés, a mon avis, parmi le matériel que l'on peut acheter chez les revendeurs grand public, il n'y aura pas de différence.
Une chose est sure, c'est que les cartes peuvent avoir une bonne fiabilité. Les serveurs que l'on achètent aujourd'hui en entreprise pour la virtualisation sont livrés avec des cartes SD pour le système. Certes ce n'est pas celles que l'on trouve chez Boulanger par exemple mais ... ça reste une carte SD.
En revanche, les systèmes sont configurés pour utiliser les cartes seulement au démarrage, le reste du temps, la carte ne sert à rien. Les logs par exemple sont envoyés sur un serveur syslog pour ne pas fatiguer les cartes.

Avait tu modifié ton /etc/fstab pour justement déplacer les logs vers un RAMFS ?

après je ne dit pas qu'une carte SD est fiable pour ne pas faire de sauvegarde. Mettre en place la solution de Jay reste une très bonne chose !
jay
Messages : 30
Inscription : 04 janv. 2017, 13:21

Re: plantage Rpi

Message par jay »

Hello,
loops a écrit :Sauf erreur de ma part, une clé USB ou une carte SD c'est la même chose : de la mémoire flash.
Je suis d'accord avec Loops, une bonne carte sd class 10 fait largement l'affaire normalement, en plus si moi aussi ma mémoire est bonne je crois que le raspberry utilise le même BUS pour les ports USB et le port ethernet, moi je trouve pas ça ouf, j'ai plus peur de taper une vieille commande sur mon rpi qui le block que d'avoir ma carte sd qui foire ^^ du coup pour moi externaliser le système ne m'apporte rien de plus à ma parano :lol:

Je mettrai le script en ligne ce soir, par contre il faut savoir que la backup à chaud, fait une sauvegarde de toute la carte sd même s'il y a des segments non utilisés. Du coup si tu backup une carte sd de 32Go bah tu auras un iso de 32Go compressé et il te faudra une carte sd 32Go pour réimporter ta backup.
Perso j'ai opté pour une class 10 avec 16Go, et je me dis encore que j'en utilise que 25% dessus... à l'époque je me souciais pas de savoir de combien d'espace j'avais besoin, j'ai vu large je voulais vite installer domoticz dessus ;)
bruno_ghost17
Messages : 97
Inscription : 01 févr. 2016, 18:56
Localisation : Rochefort(17)

Re: plantage Rpi

Message par bruno_ghost17 »

salut

j'ai fait pareil jay , j'ai acheté 2 cartes µsd de 32 go SDHC class 10 Scandisk
apres les scandisk ne sont peut etre pas fiable

pour ce qui est de l'install , je l'ai faite a partir de berryboot qui porpose un choix de destination pour l'os a installer ,et j'ai choisi de l'installer sur la clé usb qui etait de marque scandisk aussi .

ok pour le script ce soir jay , encore merci ! :)


Bruno.
Raspi 2 - RFxCom - sondes Oregon
jay
Messages : 30
Inscription : 04 janv. 2017, 13:21

Re: plantage Rpi

Message par jay »

Tu veux dire des micro SD "SANDISK" ?
Si oui c'est ce que j'ai à la maison, après je connais pas la fiabilité de ces cartes mais bon chez moi ça tourne pour le moment.

Pour la partie script de backup, il y a n1c0l45 qui a fait un très bon tuto dans la bibliothèque des scripts pour la backup, tu peux t''en inspirer pour les sources à installer et la configuration des variables. (lien de son tuto : https://easydomoticz.com/forum/viewtopi ... =17&t=2759)
Le plus important c'est installer l'utilitaire pgiz qui va permettre de compresser ta backup pour pas avoir 32Go en ISO, techniquement il va compresser que l'espace libre que tu utilises pas ^^ mais c'est tjs ça de gagné !

Sinon voici le script que j'utilise chez moi, il permet de :
- monter la partition où tu veux backup ton rpi et la démonter à la fin
- vérifier si la partition est bien montée
- backuper complètement la partition de ton rpi à chaud en la compressant
- backuper la base de donnée de domoticz en la compressant
- pour chaque backup il crée un dossier avec la date et il met tout dedans
- à la fin de la backup il vérifie si la backup n'est pas vide et si elle correspond à peu près à la taille normale d'une backup compressée
- il met à jour une variable domoticz de type virtual_switch "TEXT" en fonction de la réussite ou non et de l'erreur

le script :
#!/bin/bash
# FULL RASPI SERVER BACKUP
# run each Sunday night
# Last modif : 21/08/2015

# Set variables
DOMO_IP="192.168.0.XXX"
DOMO_PORT="8080"

DATE=$(date +"%Y-%m-%d")
Raspi_Name=$(uname -n)
Dir_Path=/mnt/BackUp_Raspberry/$DATE
File_Name=SD-Backup_$Raspi_Name\_$DATE.img.gz
#echo $File_Name
File_Path=$Dir_Path/$File_Name
#echo $File_Path
Log_File=/home/pi/myDomoticzScripts/logs/backup_Full_$DATE
#echo $Log_File
DB_Backup=domoticzDB_$DATE.db.gz
#echo $DB_Backup
DB_Backup_Path=$Dir_Path/$DB_Backup
#echo $DB_Backup_Path

#START PROCESS
echo "********" > $Log_File
echo BACKUP CARTE SD - Process started : $DATE $(date +%HH%M) >> $Log_File

#Mount Backup partition
sudo mount //192.168.xxx.xxx/BackUp_Raspberry /mnt/BackUp_Raspberry -o username=xxxx,password=xxxx,uid=1000,gid=1000
sleep 70

#CHECK IF PARTITION IS WELL MOUNTED
echo BACKUP CARTE SD - CHECK IF PARTITION IS MOUNTED : $DATE $(date +%HH%M) >> $Log_File
if [ `mount | grep -c /mnt/BackUp_Raspberry` != 0 ]
then

#PARTITION IS MOUNTED - START BACKUP
echo BACKUP CARTE SD - PARTITION MOUNTED [OK] : $DATE $(date +%HH%M) >> $Log_File

# Create dir backup
mkdir $Dir_Path

# START BACKUP

## Full backup
echo BACKUP CARTE SD - FULL BACKUP Started : $DATE $(date +%HH%M) >> $Log_File
sudo dd if=/dev/mmcblk0 | pigz -9 -p 3 > $File_Path
echo BACKUP CARTE SD - FULL BACKUP Ended : $DATE $(date +%HH%M) >> $Log_File

## Database backup
### Create backup and ZIP it
echo BACKUP CARTE SD - DATABASE Domoticz Started : $DATE $(date +%HH%M) >> $Log_File
sudo /usr/bin/curl -s http://$DOMO_IP:$DOMO_PORT/backupdatabase.php | pigz -9 -p 3 > $DB_Backup_Path
echo BACKUP CARTE SD - DATABASE Domoticz Ended : $DATE $(date +%HH%M) >> $Log_File

#END PROCESS
echo BACKUP CARTE SD - Process finished : $DATE $(date +%HH%M) >> $Log_File

#START CHECK BACKUP
echo CHECK BACKUP SD - Start checks >> $Log_File
#Check si backup existe
if [ -f $File_Path ]
then
#Le fichier existe
echo CHECK BACKUP SD - FILE existe >> $Log_File

#On recup la taille du fichier et on larrondi a lunite
taille_file=$(ls -la /mnt/BackUp_Raspberry/$DATE/ | grep SD | awk '{print $5}')
taille_unite=$(($taille_file/1024/1024/1024))
echo CHECK BACKUP SD - Taille FILE = $taille_unite >> $Log_File

#On check si la taille est superieur ou egale a 3
if [ $taille_unite -ge 3 ]
then
#La backup est bonne
echo CHECK BACKUP SD - Backup verif [OK] >> $Log_File

#On update la variable domoticz
url="http://127.0.0.1:8080/json.htm?type=com ... 20%5BOK%5D"
curl $url
else
#La backup nest pas complete
echo CHECK BACKUP SD - Backup verif [NOT COMPLETE] >> $Log_File

#On update la variable domoticz
url="http://127.0.0.1:8080/json.htm?type=com ... OMPLETE%5D"
curl $url
fi
else
#La backup nexiste pas
echo CHECK BACKUP SD - Backup verif [NO BACKUP FILE] >> $Log_File

#On update la variable domoticz
url="http://127.0.0.1:8080/json.htm?type=com ... %20FILE%5D"
curl $url
fi

#Umount Backup partition
sudo umount /mnt/BackUp_Raspberry

#Reboot raspberry
sudo reboot

#PARTITION BACKUP NOT MOUNTED
# BACKUP NOT START
else
#On log l'erreur
echo BACKUP CARTE SD - PARTITION NOT MOUTED [ERROR IN MOUNT] >> $Log_File
echo BACKUP CARTE SD - PARTITION NOT MOUTED [NO BACKUP] >> $Log_File

#On update la variable domoticz
url="http://127.0.0.1:8080/json.htm?type=com ... MOUNTED%5D"
curl $url
fi
Je t'ai mis en rouge les modifications que tu dois faire en fonction de ton installation chez toi. Après le script est vraiment brute de pomme je me rend compte qu'il est pas super optimisé mais il fait le job ;)

Pour la partie vérification de la taille de la sauvegarde, tu peux faire une backup à la main sans script tu remplaces le File_Path par l'endroit où tu veux stocker ta backup.

Code : Tout sélectionner

sudo dd if=/dev/mmcblk0 | pigz -9 -p 3 > $File_Path
Après tu regardes quand elle a fini combien de Go elle fait et tu édites dans le script le "3" en fonction du nombre de Go de la tienne, pas besoin des unités, juste l'entier en Go, chez moi je sais qu'elle fait entre 3 et 4 Go :

Code : Tout sélectionner

       #On recup la taille du fichier et on larrondi a lunite
                taille_file=$(ls -la /mnt/BackUp_Raspberry/$DATE/ | grep SD | awk '{print $5}')
                taille_unite=$(($taille_file/1024/1024/1024))
                echo CHECK BACKUP SD - Taille FILE = $taille_unite >> $Log_File

                #On check si la taille est superieur ou egale a 3
                if [ $taille_unite -ge 3 ]
Après c'est la classique, tu rends ton script exécutable avec un chmod +x "nom du script" et tu peux le planifier comme tu veux avec la crontab. (Cf : le post de n1c0l45 plus haut)

Pour info ma carte SD de 16Go est sauvegardée en 1h20, le script fonctionne avec un Rpi 2 et 3 pas en dessous car à un moment dans le script on met
pigz -9 -p 3
le -p 3 correspond au nombre de coeur CPU qu'on alloue à la compression pour aller plus vite ;) donc 3 sur les 4 d'un rpi 2 et 3.

N'hésite pas à me demander s'il y a quelque chose qui ne te parait pas clair ou si tu veux plus d'info. Je suis pas un pro de la qualité du scripting et encore moins pour les rendre partageable facilement :(

@Dispo
bruno_ghost17
Messages : 97
Inscription : 01 févr. 2016, 18:56
Localisation : Rochefort(17)

Re: plantage Rpi

Message par bruno_ghost17 »

salut

merci jay , je regarde tout ça ! ;)

pour les cartes µsd , en effet c'est "sandisk",autant pour moi !
Bruno.
Raspi 2 - RFxCom - sondes Oregon
Gffree
Messages : 2
Inscription : 06 déc. 2017, 23:30

Re: plantage Rpi

Message par Gffree »

Bonsoir

Pour moi la sauvegarde fonctionne sur Syno.
Par contre comment restaurer???
Répondre