la commande 'dd' prend-elle trop de temps? [dupliquer]

24

J'ai configuré dd pour qu'il clone un plus petit disque dur de 40.00GB (/ dev / sda) sur un nouveau disque plus grand de 111.00 Go connecté via un lecteur USB (dev / sdb) et que ce soit depuis deux heures. Le compteur d'activité sur le nouveau disque dur indique qu'il fait quelque chose. Mais le processeur est seulement d'environ 20%. Quand cette chose va-t-elle se terminer? Dois-je relancer le processus?

    
posée seanthewebber 22.11.2012 - 19:03
la source

5 réponses

53

À l'avenir, vous devriez utiliser pv pour obtenir une barre de progression en cours d'exécution.

sudo apt-get install pv

Avec pv installé, supposons que vous souhaitiez cloner un lecteur de 20 Go, /dev/foo , sur un autre lecteur (20 Go ou plus!), /dev/baz :

sudo dd if=/dev/foo bs=4M | pv -s 20G | sudo dd of=/dev/baz bs=4M

Des bits importants à noter: l'argument bs=4M définit la taille de bloc pour les opérations dd à 4 Mo, ce qui radicalement améliore la vitesse de l'ensemble. Et l'argument -s 20G indique à pv à quel point cette opération est censée être, elle peut donc vous donner un ETA ainsi qu'une vitesse actuelle.

J'aime tant pv que c'est probablement illégal.

    
réponse donnée Jim Salter 22.11.2012 - 19:40
la source
23

Vous pouvez voir jusqu'où il est arrivé en lui envoyant un signal SIGUSR1 afin de voir la quantité de données copiées et le taux de transfert:

kill -SIGUSR1 $(pidof dd)

Pour les activités de copie, vous êtes limité par la vitesse d'E / S du périphérique, le processeur ne doit donc pas être complètement chargé, ne vous inquiétez donc pas.

    
réponse donnée Colin Ian King 22.11.2012 - 19:09
la source
6

J'ai utilisé pv ainsi que (ps et kill) dans le passé, comme suggéré dans les autres réponses, mais plus récemment, je viens d'utiliser dc3dd qui produit les mêmes résultats tout en fournissant un rapport d'avancement tout au long de le processus.

Vous pouvez vérifier s’il est déjà installé avec: which dc3dd

Sinon, vous pouvez l’installer avec sudo apt-get install dc3dd

Les commutateurs de commandes sont similaires à dd (pour le clonage, bien que l’essuyage soit un peu plus simple).

Dans votre cas, j'utiliserais la commande dc3dd if=/dev/sda of=/dev/sdb

Modifier:

Versions récentes de dd à partir du paquet coreutils la version 8.24+ incluse dans Ubuntu 16.04 et plus tard inclut un paramètre d'état. Vous pouvez obtenir le même résultat avec dd en ajoutant le commutateur status=progress à votre ligne de commande dd .

Exemple: dd if=/dev/zero of=/dev/null count=1000 status=progress

    
réponse donnée Elder Geek 26.03.2015 - 16:11
la source
0

J'ai eu un problème similaire. La cause était différente dans mon cas.

Le lecteur cible est un disque dur externe.

Si le disque était monté automatiquement via udisks et udisks-glue , le taux de transfert de cdrom à hd était d'environ 40 Ko / s.

Lorsque j'ai démonté le disque dur et que je l'ai monté directement via mount , j'ai obtenu un taux de transfert d'environ 2,4 Mo / s.

    
réponse donnée Tobias 23.08.2014 - 09:07
la source
0

Vous pouvez utiliser ddrescue à la place:

sudo ddrescue -v /dev/sda /dev/sdb

v signifie verbose.

    
réponse donnée atmelino 26.05.2015 - 05:49
la source

Lire d'autres questions sur les étiquettes