ddrescue sangat lambat pada hard drive USB


9

Saya memulihkan HDD dari laptop saya yang mati (tidak mau boot sama sekali, Disk Utility melaporkan bahwa tidak ada masalah, tetapi tidak mau memasang disk). Saya telah menghubungkan HDD melalui adaptor USB. Berjalan ddrescueseperti itu:

sudo ddrescue -v -n /dev/disk1s2 "/Volumes/Original HD/image.dmg" ddrescue.log

Tidak ada kesalahan sejauh ini, tetapi kecepatan baca rata-rata secara bertahap turun menjadi 50KB / s. Itu sekitar 2MB / s di awal. Ukuran partisi adalah 300GB. Sejauh ini saya sudah bisa memulihkan 160GB. Saya memulihkan ke partisi HFS + di MacBook saya.

Apa yang bisa menjadi alasan laju transfer yang lambat ini dan bagaimana cara meningkatkannya?

Jawaban:


8

Ini sepertinya hanya bagaimana ddrescue& transfer USB bekerja di bawah OSX. Dari utas ini berjudul: Subjek: [Bug-ddrescue] ddrescue 10x lambat di bawah osx .

ketika bekerja pada hard drive yang berfungsi penuh, di linux itu melakukan kecepatan i / o penuh. ketika dikompilasi di bawah osx dengan flag-flag kompilasi default, ini kali lebih lambat, kadang-kadang merangkak ke Kb / s. masalah tetap ada jika file output adalah / dev / null.

Utas yang sama juga mendapat tanggapan ini.

Dalam pengalaman dan pengujian saya pada OS X, mengakses perangkat karakter mentah /dev/rdisk…selalu lebih baik. Kecepatan transfer juga dapat ditingkatkan dengan menetapkan Ukuran Blok Salin yang lebih besar. Ukuran 512KiB ( ddrescue -c 1Ki) memberi saya hasil terbaik dalam banyak kasus.

Dan: OS X perangkat karakter mentah DO memiliki ukuran yang ditentukan, sehingga mereka dapat dengan mudah digunakan bahkan dalam menjalankan pertama. (Setidaknya pada titik ini catatan tentang perangkat mentah dalam dokumentasi yang ada untuk ddrescuetidak berlaku untuk OS X.)

Saya tidak berpikir ini adalah bug ddrescue, karena utilitas lain suka ddatau catmenunjukkan perilaku yang sama pada OS X.

Mengakses perangkat blok / dev / disk… memberikan kecepatan yang agak lambat, terlepas dari Ukuran Blok Salin yang digunakan. Kecepatan membaca perangkat / dev / rdisk ... karakter mentah sangat tergantung pada Ukuran Blok Salin yang dipilih:

  • 512 Byte ( ddrescue -c 1, default-in dd) adalah yang paling lambat.
  • Mengaturnya ke 4096 Byte ( ddrescue -c 8, dd bs=4K) memberikan kecepatan lambat yang sama dengan mengakses / dev / disk ...
  • Default ddrecue dari 128 sektor (= 64KiB ddrescue -c 128,, dd bs=64K) memberikan hasil yang cukup baik.
  • Mengalikan itu lebih jauh (hingga ddrescue -c 1Ki/ dd bs=512K) membawa kecepatan maksimum (kebanyakan 8-12 kali lebih cepat dari /dev/disk…)
  • Naik di atas yang tidak meningkatkan kecepatan transfer lebih jauh dalam pengujian saya; terkadang bahkan menurun.

Itu adalah hasil pengukuran saya sendiri, hasil Anda dapat bervariasi tergantung pada media dan perangkat keras IO yang digunakan. Mungkin jika beberapa pengguna lain akan membagikan pengalaman mereka, kami dapat memperoleh gambaran yang lebih baik tentang topik tersebut.

Referensi


1
Mengubah ukuran blok salinan tidak memengaruhi kecepatan transfer dalam kasus saya. Namun bermain dengan / dev / null saya bisa mendapatkan kecepatan transfer yang baik (hingga 8MB / s) dengan mengatur posisi input file ke 200GB. Saya sekarang telah melanjutkan proses pemulihan saya dengan parameter tambahan -i214748364800. Saya berharap awal 0 - 160GB tidak akan terpengaruh oleh ini.
Mik

1
Sayangnya peningkatan transfer rate hanya berumur pendek. Saya akan mencoba menjalankan ddrescuedari sistem unix.
Mik


@Mik Terima kasih telah memberikan parameter tepat yang Anda gunakan untuk melanjutkan pemulihan di posisi yang berbeda. Drive sumber saya gagal pada posisi 121242584064 dan saya mencoba untuk melanjutkan melewatinya tetapi ddrescue mengatakan Unaligned read error. Apakah ukuran sektor benar? Jadi dengan menggunakan nilai Anda, saya kembali pada 200GB. Dan tidak, itu tidak mempengaruhi awal 0 - 160GB.
Colin

0

Saya tidak tahu banyak tentang HFS+sistem file pada MacOS, namun, saya hanya membuat pengalaman bahwa menyelamatkan hard drive internal 500GB (terhubung melalui SATA) pada Laptop yang menjalankan Linux Mint dari USB Stick, menyimpan gambar penyelamatan dan logfile pada exFatHard drive USB yang diformat, mulai agak lambat (1-2MB / detik) tetapi setelah sekitar 250GB hanya merangkak di <100KB / detik. Tampaknya menjadi lebih lambat semakin besar file gambar penyelamatan tumbuh.

Kemudian saya memindahkan gambar rescue dan logfile ke tempat sementara lain, memformat ulang hard drive USB dengan ext4sistem file, memindahkan file kembali ke sana dan melanjutkan proses ddrescue - dan sekarang berjalan dengan 1-20MB / detik lagi (berfluktuasi) tapi rata-rata sekitar 7MB / detik)!

Sepertinya exFattidak bermain dengan sangat baik dengan file yang sangat besar (beberapa ratus gigabytes). Seperti yang sudah dikatakan, saya tidak tahu apakah ini juga terjadi HFS+tetapi mungkin Anda ingin ext4mencoba.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.