Une plateforme Jeedom, même sur une Raspberry Pi est un serveur qui reste faillible, surtout quand on le fait tourner sur une carte SD. Certains sont adeptes de montages sur SSD, d’une part un SSD n’est pas infaillible et d’autre part je préfère faire simple. On va donc explorer deux méthodes de clonage de notre fragile carte SD, étant entendu qu’en parallèle on fera bien sur des sauvegardes régulières (automatisées) de la configuration via Samba.
Clonage carte à carte
La première méthode va consister à cloner la carte SD vers une seconde carte SD insérée dans un adaptateur USB. Ça a l’avantage d’un redémarrage rapide en cas de crash, il suffit d’échanger la carte SD et de restaurer la dernière sauvegarde Samba. La configuration et l’exécution se font en SSH, il s’agit d’une exécution occasionnelle qui visera à garder sous le coude une carte SD avec une configuration stable.
git clone https://github.com/billw2/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin
Utilisation
On commence par arrêter les services.
cd rpi-clone
sudo service mysql stop
sudo service cron stop
sudo service apache2 stop
sudo service mariadb stop
Pour une copie SD vers USB (Ou sans -f ensuite pour faire juste une synchro, -v pour voir ce qu'il se passe...).
sudo rpi-clone sda -f
Redémarrage des services. (Personnellement à ce stade je préfère faire un « sudo reboot
»)
sudo service mysql start
sudo service cron start
sudo service apache2 start
sudo service mariadb stop
sudo systemctl daemon-reload
On peut éventuellement ajouter un Cron si on laisse une carte en place…
Clonage vers un fichier image
La seconde option consiste à créer une image de la carte SD vers un serveur NFS (Un Nas par exemple). On part du principe que le NAS est correctement configuré en NFS, la procédure pour Synology est ici.
On va commencer par tester les prérequis et notamment la présence du protocole NFS et de PV (Pipe Viewer) qui nous permettra de voir la progression du clonage lors de nos tests :
dpkg -l | grep nfs-common
ou apt-get install nfs-common
pour l’installer.
dpkg -l | grep pv
ou apt-get install pv
pour l’installer.
Le clonage
On commence par créer un point de montage
sudo mkdir /mnt/Backup_NAS
Ensuite il faut inscrire le montage dans fstab, ce qui va permettre le montage automatique du partage au démarrage du système et qui sera utile pour l’automatisation : «
sudo nano /etc/fstab
Et on ajoute la ligne suivante :
IP du NAS:/volume1/Backup/Jeedom /mnt/Backup_NAS nfs rw,user 0 0
On teste avec
sudo mount -a && sudo df
Et le montage distant doit apparaître. On peut aussi tester l’écriture avec
sudo mkdir /mnt/Backup_NAS/totofaitdubato
On va maintenant pouvoir lancer manuellement la création de notre première image, en prenant soin auparavant de stopper les services et bases :
sudo service mysql stop
sudo service cron stop
sudo service apache2 stop
sudo service mariadb stop
# j’ai parfois eu des erreurs quand je n’arrêtais pas ce service #
sudo dd if=/dev/mmcblk0 bs=4M | sudo pv -treb | sudo dd of=/mnt/Backup_NAS/SD_Backup/Backup_SD_TEST.img && sync
L’image aura la taille de la carte SD, il est possible de la compresser, mais vu que cette opération est déjà très longue, je ne suis pas sûr que ça vaille le coup d’alourdir la tâche.
sudo dd if=/dev/mmcblk0 bs=4M | sudo pv -treb | sudo gzip -1 -| sudo dd of=/mnt/Backup_NAS/SD_Backup/Backup_SD_TEST.img && sync
Une fois le clonage de test effectué on va graver une nouvelle carte avec Etcher et la tester. Normalement cette carte peu remplacer celle d’origine.
Automatisation
On part du principe que l'on dispose d'une sauvegarde quotidienne dont on vérifie le processus, rien de plus désagréable que les sauvegardes ne fonctionnait plus quand on en a besoin. Re cloner la carte SD reste à faire quand on effectue des modifications du système, comme par exemple de grosses mise à jour du core ou des changements dans les plugins.
Script + Cron + envoi de mail... (à venir...)
Lire la carte SD Jeedom sous Windows
Il peut parfois être intéressant de lire une carte SD Jeddom sous Windows, par exemple pour y récupérer une sauvegarde quand on est une buze sous Linux. En fait c'est assez simple, il suffit d'installer le driver idoine qui se trouve ici et les explications sont là. (pour mémoire les sauvegardes sont ici : /var/www/html/backup
)
Sauvegarde via Samba
Vers un PC (à venir... Mais il existe plein de tutos sur le net...)
Sauvegarde Cloud
Vers Droopbox, Google drive, OneDrive, SFTP et FTP (à venir... Mais il existe des totos sur le net...)
Sources