134 liens privés
[EDIT: J'ai eu un soucis à la première utilisation, j'ai du lancer fsck pour corriger certains petits problèmes. Il y a surement moyen de faire mieux.]
J'utilise pv ( http://linux.die.net/man/1/pv ) pour avoir une idée de l'état d'avancement et gzip pour diminuer un peu la place que prend le backup sur le disque :
Pour repérer la carte SD à sauvegarder :
| ==========
$ sudo fdisk -l
(...)
Device Boot Start End Sectors Size Id Type
/dev/sdh1 8192 131071 122880 60M c W95 FAT32 (LBA)
/dev/sdh2 131072 15523839 15392768 7,3G 83 Linux
|==========
Il faut démonter les partitions :
| ==========
$ sudo umount /dev/sdh1
$ sudo umount /dev/sdh2
| ==========
Pour faire le backup :
| ==========
$ sudo dd if=/dev/sdh | gzip -v6 | pv | dd of=/media/hd2/rpi/bkp-20160210.gz
196MiO 0:02:36 [ 900KiB/s] [ <=> ]
| ==========
Pour le restaurer :
| ==========
$ zcat /media/hd2/rpi/bkp-20160210.gz | pv | sudo dd of=/dev/sdh
73MiO 0:00:50 [ 851KiB/s] [ <=> ]
| ==========
Attention à bien vérifier que la carte SD est sur /dev/sdh ! (et pas sdb ou autre!) Un petit "fdisk -l" permet de s'en assurer.
L'objectif : Sur un Raspberry Pi, diminuer les écritures sur la carte SD pour prolonger sa durée de vie.
1) Désactiver la SWAP:
| ========
dphys-swapfile swapoff
dphys-swapfile uninstall
update-rc.d dphys-swapfile disable
| ========
2) Pour mettre /tmp et /var en ram, il faut modifier le fichier "/etc/fstab" et ajouter :
| ========
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
| ========
Un script pour copier la carte SD en fonction vers une carte SD de backup. Test en cours, j'édite quand c'est terminé.
[Edit: La copie a pris 14min chez moi (carte SD de 16Go mais peu remplie). Ça fonctionne. Que demande le peuple ? :-)
Autre source :
http://www.framboise314.fr/clonez-la-carte-sd-de-votre-raspberry-pi/
On peut apparemment copier vers une SD plus petite, faire du backup incrémental, ... À tester.
Une autre solution pour avoir un Raspberry Pi "débranchable" sans un arrêt propre. Le système sur la SD est mis en "read-only" et tout passe une nouvelle fois par la RAM.
[Edit: J'ai copié l'image sur une carte SD :
| ========
$ sudo dd if=/home/simon/Téléchargements/ipe_r2-140122.img of=/dev/sdb
245760+0 enregistrements lus
245760+0 enregistrements écrits
125829120 octets (126 MB) copiés, 32,4759 s, 3,9 MB/s
| ========
On arrive au login en une vingtaine de seconde et on se connecte en "root" sans mot de passe. (Whaat?!! C'est dans la FAQ : http://nutcom.hu/ipe-r2-hnt-faq/ )
Première chose, mettre le clavier en azerty.
Tutoriel pour l'installation d'un Raspberry Pi avec TinyCore (piCore). L'OS boote sur la RAM et n'écrit plus sur la carte SD, ce qui permet d'éteindre le Raspberry Pi sans risque de corruption de données. À tester.
J'ai eu un problème de carte SD corrompue et j'ai pu résoudre le problème avec la commande "fsck". Tout est expliqué dans le lien mais petit résumé :
-
Identifier sa carte SD ( $ ls /dev/ )
-
Démonter la partition de données ( $ sudo umount /dev/sdd2 )
-
Lancer l'utilitaire fsck :
| ========
$ sudo /sbin/fsck /dev/sdd2 -p -c -v
fsck de util-linux 2.20.1
/dev/sdd2: Updating bad block inode.71293 inodes used (7.51%, out of 949664)
53 non-contiguous files (0.1%)
93 non-contiguous directories (0.1%)of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 55889/14
552210 blocks used (14.35%, out of 3846912)
0 bad blocks
1 large file50837 regular files
4879 directories
56 character device files
25 block device files
2 fifos
689 links
15480 symbolic links (15294 liens symboliques rapides)
5 sockets71973 files
| ========
Dans mon cas, j'ai pu rebooter sur la carte SD après avoir utilisé fsck. Je ne sais pas si ça marche dans tous les cas...