Source : linuxtricks.fr/wiki/sauvegarder-restaurer-cloner-des-disques-avec-dd-ou-cat
Introduction
D’habitude, je clone des disques avec Clonezilla, mais parfois, le logiciel ne veut pas cloner à cause d’erreurs (RAID).
Voici comment faire avec la traditionnelle commande dd.
On peut aussi le faire avec la commande cat. Ca va plus vite, il y a moins d’options (mais OK pour un disque entier) mais on n’a pas d’infos sur la progression.
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 :
Copier vers le presse-papierCode BASH :
mount /dev/sdb1 /mnt
Disque distant avec sshfs :
Copier vers le presse-papierCode BASH :
sshfs adrien@server/home/images /mnt
Ensuite, on sauvegarde, et on compresse au passage
Copier vers le presse-papierCode 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)
Si on veut aller plus vite, on peut le faire avec la commande cat + compresser avec gzip. Cela fonctionne bien pour un disque entier :
Copier vers le presse-papierCode BASH :
cat /dev/sda | gzip -c > /mnt/image.cat.gz
Restaurer une image dans le disque
Pour restaurer on effectue le processus inverse. Je passe la partie de montage de l’image :
Copier vers le presse-papierCode BASH :
gzip -dc /mnt/image.dd.gz | dd status=progress of=/dev/sda
Si on a sauvegardé avec cat + gzip, pour restaurer on utilise :
Copier vers le presse-papierCode BASH :
gzip -dc /mnt/image.cat.gz > /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 :
Copier vers le presse-papierCode 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)
Pour cloner avec cat, on utilise simplement :
Copier vers le presse-papierCode BASH :
cat /dev/sda > /dev/sdb
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 :
Copier vers le presse-papierCode BASH :
dd if=/dev/sda bs=100M | ssh machinedistante 'dd of=/dev/sda'
Et si on veut compresser au passage (à tester) :
Copier vers le presse-papierCode BASH :
dd status=progress if=/dev/sda bs=100M | gzip | ssh 10.21.21.231 'gzip -d | dd of=/dev/sda'