Introduction
La commande dd permet de copier tout ou partie d'un disque par blocs d'octets, indépendamment de la structure du contenu du disque en fichiers et en répertoires.
Contrairement à la copie avec la commande cp ou la copie avec la commande tar, la copie avec dd permet de reproduire des zones de disque qui ne font pas partie d'un système de fichier : secteur de démarrage (le MBR), tables de partition, traces laissées sur le disque par des fichiers effacés etc. L'un de ses emplois les plus importants est donc la création d'une copie de sauvegarde exacte de votre partition système et sa récupération, par l'entremise d'un live-CD ou live-DVD en cas de pépin.
D'autres fonctions que la copie au sens strict, un peu «spéciales» mais parfois utiles, sont également rendues disponibles grâce à dd.
Contrairement à la copie avec la commande cp ou la copie avec la commande tar, la copie avec dd permet de reproduire des zones de disque qui ne font pas partie d'un système de fichier : secteur de démarrage (le MBR), tables de partition, traces laissées sur le disque par des fichiers effacés etc. L'un de ses emplois les plus importants est donc la création d'une copie de sauvegarde exacte de votre partition système et sa récupération, par l'entremise d'un live-CD ou live-DVD en cas de pépin.
D'autres fonctions que la copie au sens strict, un peu «spéciales» mais parfois utiles, sont également rendues disponibles grâce à dd.
Attention, la commande dd permet de faire beaucoup de choses intéressantes, mais elle peut aussi être dangereuse, soyez prudent en l'utilisant : une manœuvre hâtive pourrait rendre votre système inutilisable !
Création d'une image compressée :
-Dans une console en tant que "root".
#dd if=/dev/sda conv=notrunc,noerror bs=4096 | gzip -c > /backup/test`date +%Y-%m-%d-%H-%M`.iso.gz-Cette commande se lance avec le système en fonctionnement, aucun arrêt de service, pas de perturbation sur le système. On peut aussi le faire via un LiveCD, mais le but est justement de pouvoir faire une sauvegarde sans l'arrêt du serveur.
-Cette commande va demander la copie entière du HDD nommé sous sda, incluant toutes ses partitions, exemple sda1, sda2.... dans un fichier compressé, et sous le format ISO. Le tout dans le répertoire de destination choisi. Attention d'avoir assez d'espace disque, sinon, faire la sauvegarde vers un autre emplacement (NAS,USB,...)
-A la fin de l'exécution, vous aurez un fichier bien compressé, pour exemple, la sauvegarde d'un serveur redhat 6.4 avec base de donnée oracle sur un HDD de 600Go, avec 550Go d'espace occupé tient dans un fichier compressé de 89Go !!!
Restauration d'une partition à partir de son img.gz :
-Si il est nécessaire de restaurer un serveur, suite à une défaillance, ou autre, nous devons dans un premier temps démarrer sur un système LINUX afin de restaurer l'image ISO.
-Pour ce faire, on doit démarrer sur un LiveCD, j'ai choisi KNOPPIX, mais libre à vous d'en prendre un autre, il n'y a pas d'impératif spécifique ! (Pour DL KNOPPIX: ICI)
-On ouvre une console en tant que "root". (Dans KNOPPIX, la console s'ouvre en tant que USER, on tape $su pour passer en "root", aucun mot de passe ne sera demandé dans cette distribution)
-On exécute la commande suivante, je passe l'explication pour savoir ou trouver votre fichier de restauration.
#gunzip -c /backup/test.iso.gz | dd of=/dev/sda conv=notrunc,noerror bs=4096-Cette commande va demander de décompresser le fichier ISO, et de le copier sur le disque sur sda, ce qui va recréer toutes les partitions sda1, sda2... d'origine de la sauvegarde.
-Une fois terminé, le système va redémarre comme le jour de la sauvegarde.
-Il est possible de remonter la sauvegarde sur une machine virtuelle, j'ai utilisé Virtual-box sur SEVEN pour mes essais, on peut ainsi récupérer des fichiers, des scripts, etc au besoin. (attention de régler l'interface réseau sur désactivée pour ne pas créer de problème de double service !)