Pour cloner un disque, tout ce que vous devez vraiment faire est de spécifier l'entrée et la sortie à dd :
dd if=/dev/hdb of=/image.img
Assurez-vous bien sûr d'avoir les autorisations appropriées pour lire directement depuis /dev/hdb (je recommanderais de l'exécuter en tant que root), et que /dev/hdb n'est pas monté (vous ne voulez pas copier pendant que le disque est en train d'être modifié - le monter en lecture seule est également acceptable). Une fois terminé, image.img sera un clone octet par octet de l'ensemble du disque.
Il y a quelques inconvénients à utiliser dd pour cloner des disques. Tout d'abord, dd copiera l'ensemble de votre disque, même les espaces vides, et si cela est fait sur un grand disque, peut entraîner un fichier image extrêmement volumineux. Deuxièmement, dd ne fournit absolument aucune indication de progression, ce qui peut être frustrant car la copie prend beaucoup de temps. Troisièmement, si vous copiez cette image sur d'autres disques (encore une fois, en utilisant dd), ils doivent être aussi grands ou plus grands que le disque d'origine, mais vous ne pourrez pas utiliser d'espace supplémentaire que vous pourriez avoir sur le disque cible jusqu'à ce que vous redimensionniez vos partitions.
Vous pouvez également faire une copie directe de disque à disque :
dd if=/dev/hdb of=/dev/hdc
mais vous êtes toujours soumis aux limitations ci-dessus concernant l'espace libre.
En ce qui concerne les problèmes ou les pièges, dd, pour la plupart, fait un excellent travail. Cependant, il y a quelque temps, j'ai eu un disque dur qui était sur le point de mourir, donc j'ai utilisé dd pour essayer de copier autant d'informations que possible avant qu'il ne meure complètement. J'ai alors découvert que dd ne gérait pas très bien les erreurs de lecture - il y avait plusieurs secteurs sur le disque que dd ne pouvait pas lire, ce qui l'a amené à abandonner et à arrêter la copie. À l'époque, je n'ai pas trouvé de moyen d'indiquer à dd de continuer malgré une erreur de lecture (bien qu'il semble qu'il en ait un paramètre), donc j'ai passé pas mal de temps à spécifier manuellement les sauts et les recherches pour passer par-dessus les sections illisibles.
J'ai passé du temps à rechercher des solutions à ce problème (après avoir terminé la tâche) et j'ai trouvé un programme appelé ddrescue, qui, selon le site, fonctionne comme dd mais continue la lecture même en cas d'erreur. Je n'ai jamais réellement utilisé le programme, mais cela vaut la peine d'être envisagé, surtout si le disque à copier est ancien, ce qui peut avoir des secteurs défectueux même si le système semble fonctionner normalement.
0 votes
Je suis conscient de la façon dont dd fonctionne, ma question était plutôt dirigée vers d'éventuels problèmes connus liés à dd lors du clonage de disques (comme décrit par le lien), peut-être que cela n'était pas très clair. Ce que sa réponse contient et la vôtre ne contient pas, c'est "Je n'ai jamais eu de problème avec ça". J'ai également voté pour votre réponse, car vous avez définitivement présenté des points intéressants (j'aime celui sur l'absence d'indication de progression).
1 votes
Il semblerait que vous ayez obtenu le Spolsky Bump : joelonsoftware.com/items/2009/05/29.html
0 votes
N'avais pas vu cela ici lorsque j'ai posé (et répondu) une question similaire sur superutilisateur - superutilisateur.com/questions/11453/…
8 votes
Il est ironique que Joel ait lié la question comme un bon exemple de panne de serveur, bien que aucune des réponses n'était bonne. Il n'y avait pas une seule réponse parmi les 25 (hors commentaires) avec les bonnes options
dd
pour sauter les blocs défectueux - ce qui est essentiel lors de la clonage de disques pour la récupération. J'ai ajouté une meilleure réponse, qui peut cloner des disques ayant des blocs défectueux:dd if=/dev/sda of=/dev/sdb bs=4096 conv=sync,noerror
0 votes
Je pense que la restauration dd pourrait "échouer" si on parle de systèmes de fichiers dépendants de la géométrie du disque et que la restauration est effectuée sur des disques durs non identiques? J'ai rencontré quelques échecs lors de la restauration dd, et je pense que c'était le problème dans mon cas.
1 votes
Cette méthode permettra également de sauvegarder la partie non allouée d'un disque, le cas échéant. Si vous n'en avez pas besoin, vous pouvez lui indiquer où s'arrêter (
count
paramètre pourdd
, ou faire passer les données à travershead -c ...
pour tout autre chose; mais je ne suis pas sûr de comment trouver le nombre exact d'octets pour le moment, ou du moins une bonne borne supérieure)1 votes
Aussi notez que la plupart du temps, le programme
dd
est inutile. Vous pouvez utiliserhead
oucat
pour lire à partir d'un périphérique de bloc, et écrire dans un fichier régulier en utilisant une redirection. Et vous pouvez écrire dans un périphérique de bloc avectee
. Alors vous n'aurez pas à deviner une bonne taille de bloc, et cela va probablement être plus rapide aussi. Et si le disque source est en mauvais état, alorsdd
n'est pas vraiment une bonne option non plus, utilisezddrescue
pour sauver les données des disques endommagés à la place.0 votes
Veuillez également consulter cette question : superuser.com/q/1050894/910769 Deux autres ressources à prendre en compte : tecmint.com/clone-linux-partitions et cyberciti.biz/faq/unix-linux-dd-create-make-disk-image-commands