Logiciels en ligne de commande

Sauvegarder, Restaurer, cloner des disques avec dd ou cat

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



D'habitude, je clone des disques avec Clonezilla, mais parfois, le logiciel ne veut pas cloner à cause d'erreurs.
Voici comment faire avec la traditionnelle commande dd.
Dans ce tutoriel, je démarre sur un Live CD

Sauvegarder un disque dans une image



Pour sauvegarder le disque /dev/sda dans un fichier, on monte d'abord la destination de la sauvegarde dans /mnt par exemple :
Disque local :
Code BASH :
mount /dev/sdb1 /mnt

Disque distant avec sshfs :
Code BASH :
sshfs adrien@server/home/images /mnt

Ensuite, on sauvegarde, et on compresse au passage
Code BASH :
dd status=progress if=/dev/sda bs=100M | gzip -c  > /mnt/image.dd.gz

Je mets un BS de 100M pour que ça aille plus vite (testé OK sur un SSD, à adapter sur un HDD)

Restaurer une image dans le disque



Pour restaurer on effectue le processus inverse. Je passe la partie de montage de l'image :
Code BASH :
gunzip -c /mnt/image.dd.gz | dd status=progress of=/dev/sda

Cloner un disque A sur le B



Imaginons, le disque A est la source et le disque B la destination.
Il faut que B soit égal ou plus grand que A.
Pour cloner direct de disque à disque, on peut toujours utiliser dd :
Code BASH :
dd status=progress if=/dev/sda of=/dev/sdb bs=100M

Je mets un BS de 100M pour que ça aille plus vite (testé OK sur un SSD, à adapter sur un HDD)

Cloner à travers ssh



Si on veut s'éclater à copier une machine sur une autre, on peut démarrer les 2 machines sur un live CD.
Sur la machine de destination, on définit un mot de passe à root et on démarre le serveur SSH.
Si les 2 disques s'appellent /dev/sda, on pourra cloner depuis la machine source via :
Code BASH :
dd if=/dev/sda bs=100M | ssh machinedistante  'dd of=/dev/sda'

Et si on veut compresser au passage (à tester) :
Code BASH :
dd if=/dev/sda bs=100M  | gzip | ssh 10.21.21.231  'gzip -d | dd of=/dev/sda'