GNU/Linux >> Tutoriels Linux >  >> Linux

Copie Dd complète du disque dur au disque dur ?

QUESTION ORIGINALE :

Si j'ai 2 disques durs identiques avec les caractéristiques suivantes :

  • SATA 6.0 Go/s
  • 5 400 tr/min
  • 3 To

Combien de temps une copie dd complète devrait-elle prendre ?

Jusqu'à présent, il a fonctionné pendant 5 heures et continue de fonctionner…

J'utilise Linux Ubuntu 12.04 64bit et la commande que j'utilise est :

dd if=/dev/sdb of=/dev/sdc

MISE À JOUR :1

Je peux maintenant voir les progrès, et cela fait plus de 6 heures pour la copie de 430 Go. Le disque dur est de 3 To…

N'y a-t-il pas de moyen plus rapide de le faire ?

MISE À JOUR :2

Cela semble beaucoup mieux qu'avant (Merci à Groxxda pour les suggestions) :

sudo dd if=/dev/sdb bs=128K | pv -s 3000G | sudo dd of=/dev/sdc bs=128K

L'ETA est d'environ 9 heures pour 3 To, alors qu'avant il atteignait 430 Go après 6 heures, donc je suppose que cela aurait pris environ 36 heures en utilisant la commande précédente.

Réponse acceptée :

dd était utile autrefois lorsque les gens utilisaient des bandes (lorsque la taille des blocs importait) et lorsque des outils plus simples tels que cat peut ne pas être binaire sécurisé.

De nos jours, dd if=/dev/sdb of=/dev/sdc est une manière compliquée, sujette aux erreurs et lente d'écrire cat /dev/sdb >/dev/sdc . Tandis que dd toujours utile pour certaines tâches relativement rares, il est beaucoup moins utile que le nombre de tutoriels le mentionnant ne le laisseraient croire. Il n'y a pas de magie dans dd , la magie est dans /dev/sdb .

Votre nouvelle commande sudo dd if=/dev/sdb bs=128K | pv -s 3000G | sudo dd of=/dev/sdc bs=128K est à nouveau inutilement lent et compliqué. Les données sont lues 128 Ko à la fois (ce qui est mieux que le dd défaut de 512B, mais pas aussi bon que des valeurs encore plus grandes). Il passe ensuite par deux tubes avant d'être écrit.

Utilisez le cat plus simple et plus rapide commande. (Dans certains benchmarks que j'ai faits il y a quelques années sous Linux, cat était plus rapide que cp pour une copie entre différents disques, et cp était plus rapide que dd avec n'importe quelle taille de bloc ; dd avec une grande taille de bloc était légèrement plus rapide lors de la copie sur le même disque.)

cat /dev/sdb >/dev/sdc

Si vous souhaitez exécuter cette commande dans sudo , vous devez effectuer la redirection en tant que root :

sudo sh -c 'cat /dev/sdb >/dev/sdc'

Si vous voulez un rapport d'avancement, puisque vous utilisez Linux, vous pouvez facilement en obtenir un en notant le PID du cat processus (disons 1234) et en regardant la position de son descripteur de fichier d'entrée (ou de sortie).

# cat /proc/1234/fdinfo/0
pos:    64155648 
flags:  0100000

Si vous voulez un rapport de progression et que votre variante Unix ne fournit pas un moyen facile d'accéder aux positions d'un descripteur de fichier, vous pouvez installer et utiliser pv au lieu de cat .


Linux
  1. Comment copier des fichiers de Wine vers le bureau ?

  2. Comment copier du texte depuis mon xterm sans souris ?

  3. Comment copier une table d'une base de données mysql vers une autre base de données mysql

  4. Nom complet du processus de task_struct

  5. Importation CSV PostgreSQL depuis la ligne de commande

Copier un fichier dans plusieurs répertoires à partir de la ligne de commande sous Linux

Comment copier les paramètres d'une machine à une autre ?

Si je peux, comment installer Ubuntu à partir d'Ubuntu ?

pscp copier le fichier à distance de Windows vers Linux

copier le fichier de Windows vers Linux

Mise sous tension du disque dur en veille :empêche de tourner