Kötü sektörler veya donanım hatası olan bir sabit diskten veri kurtarma için rsync gibi ddrescue gibi hata işlemeli dosya kopyalama yardımcı programı [kapalı]


12

Bozuk disk kafası, bozuk motor veya sabit sürücünün verileri çok yavaş ve çok hızlı bir şekilde okumasına neden olan diğer mekanik sorunlar nedeniyle okunamayan bozuk bloklar veya sektörlerle sabit diskim var okuma hataları. Ortalama 50 KB / sn görüyorum, bazı okumalar 10 KB / sn'nin altına düşüyor ve genellikle bir dosyaya veya sektöre, genellikle oldukça uzun bir süre, 2-10 dakika veya daha fazla ( zaman aşımına uğramadan önce rsync kullanarak).

Hız çılgınca değişiyor gibi görünüyor ve dosyalarda çok fazla sıkışıyor ve sonunda "takılı kaldığında" tekrar sıkışmadan önce sadece kısa bir patlama sürüyor gibi görünüyor. Sürücü, yalnızca ara sıra dosya kopyalama sesi ile çok sessizdir (genellikle tekrar takılmadan önce kısa bir süre takılır / takılırsa). Bu nedenle, normalde HDD ölümüyle ilişkili olan kötü seslerden hiçbiri yoktur. Birisi, sorunların yanlış hizalanmış bir disk kafasından kaynaklanıyormuş gibi geldiğini öne sürdü; Kulağa mantıklı geliyor, ama konuţuyorum ...

Her neyse, rsync ile ilgili sorun, iyi bir hata işleme desteği yok gibi görünüyor. Açıkçası, sabit diskler başarısız veri kurtarma kullanılmak için demek değildi, ama orada tüm sözde "veri kurtarma" programları vardır bu tür kullanım için bir anlamı genellikle silinen dosyaların geri kazanımı odaklanmak veya yerine, bölümler berbat ölen sabit sürücülerden dosya kopyalama. Silinen dosya kurtarma, ihtiyacım olan şey değil, tabii ki, belki de henüz sonra ne bulamıyorum hayal kırıklığı anlayabilirsiniz.

Doğal olarak, muhtemelen "ddrescue kullanmalısın!" Eh, hepsi iyi ve züppe, ama zaten verilerin çoğunu yedekledim, bu yüzden sadece belirli dosyaları kurtarmak istiyorum. Ben ddrescue gibi tam bir blok blok blok kurtarma ile ilgilenmiyorum. Sadece belirli dosyaları ve dizinleri kurtarmakla ilgileniyorum.

İdeal olarak, rsync ve ddrescue arasında bir tür çapraz geçiş: kaynak ve hedefi rsync gibi normal dosyaların dizinleri olarak belirtmeme izin veren bir şey (ddrescue'nun gerektirdiği gibi iki tam bölüm yerine), ilk çalıştırmada hatalar ve daha sonra bu dosyaları daha sonraki bir çalıştırmada (tabii ki biraz değiştirilmiş bir komutla) hatalarla kurtarmaya çalışmamı sağlar, hatta belki de yeniden deneme girişimlerinin sayısını belirtmek için bir seçenek sunar ... ddrescue nasıl bloklarla çalışır, sadece rsync gibi belirli dosyaları / dizinleri ile çalışan bir yardımcı program istiyorum.

Yani burada hayal mi kuruyorum, yoksa bunu yapabilecek bir şey var mı? Ya da belki de rsync veya ddrescue'yu bu şekilde çalıştırmanın bir yolu? Hangi dosyaları "kurtarmak" istediğimi seçmeme izin verdiği sürece ilk çözümde işe yarayabilir ve ilk çalıştırmada hata içeren dosyaları atlayabilir ve bu hataları daha sonra tekrar deneyebilirim.

Şimdiye kadar rsync'i aşağıdaki seçeneklerle denedim, ancak genellikle bir dosyada zaman aşımından daha uzun süre takılı kalıyor ve ideal olarak bir sonraki dosyaya geçip daha sonra aldığı dosyalara geri dönmesini istiyorum sıkışmış. Bunun mümkün olduğunu düşünmüyorum. Her neyse, şimdiye kadar kullandığım şey şu:

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/

Yanıtlar:


3

Acı yavaş okuyan bir 3 TB Hitachi var, ddrescue dosya düzeyinde çalışacak. Ama dizinlerde değil. Ancak ddrescue'nun --timeout veya --min-read-rate seçeneklerinin çalışmasını sağlayamadım.

Bir kerede bir dosya kurtarmak için bir komut dosyasında bunu yapmak istersiniz.

cat listoffiles | while read file
pipe while> do
pipe while> ls -l "$file"
pipe while> ddrescue -n -e1  "$file" /cc/RecoveredFiles/"$file" /cc/RecoveredFiles/"$file".llog
pipe while> date
done | tee -a  /cc/RecoveredFiles/ddrescue.log

3

Belki rsync bu sorunun sorulmasından sonraki yıllarda değişti.

Deneyimlerim rsyncşu anda ölmekte olan bir sabit diskten bir şeyleri kopyalayarak harika bir iş çıkardı.

rsync -a <src> <dest>

Hatalarla karşılaşırsa ve yeniden çalıştırıldığında bu dosyaları tekrar denemek için hızlı bir şekilde devam eder.

rsync --version raporlar rsync version 2.6.9 protocol version 29

Diğer cevaplarla ilgili olarak:

2011 yanıtları, sadece ddrescue için ticari eşdeğer olan araçları teşvik ediyor gibi görünüyor - dosyaların farkında olduklarına dair bir gösterge yok. Fishy. 2013 yanıtı ilginç.


2

Harika soru, detay seviyesini seviyorum. Bu senaryoda iyi çalışır bir yardımcı program için Quetek gelen Filescavenger denemenizi tavsiye ederim . 100'den fazla sayımda aşırı yeniden okumalara izin verir, ancak daha da önemlisi, dosyaları değerlendirip daha sonra görüntüyü yükleyip taramaya çalışmadan zaman kaybetmeden tüm içeriği bir görüntüye dökmenizi sağlayan bir disk görüntüleme özelliğine sahiptir. dosyalar için. Yardımcı program bir ev kullanıcısı için 50 $ çalıştırıyor ancak parayı indirmeden önce görüntüden ne kurtarılabileceğini görerek test edebilirsiniz.

Profesyonel kullanımda size oldukça kuruşa mal olacak, ancak mantıksal ve donanım baskısı dizileri için destek de dahil olmak üzere önemli özellikler kazanacak.

Bu da başarısız olursa, yazılım kurtarma araçlarını geçiyor olabilirsiniz. Laboratuar kurtarma maliyetini haklıyorsanız ve hangi ülke, eyalet ve şehirde olduğunuzu bana bildirin. Size veya rakiplerinizin laboratuvarlarından birine tavsiye ederim.

Chris


1

Aşamalı Fotokopi Makinesi istiyorsunuz . Tüm sürücüleri yapmayı hedefler, ancak bir dosya yolunu parametre olarak aldığı için tek tek dosyalar için de çalışması gerekir. Dizinler için işe yarayacağını sanmıyorum - her dosyayı belirtmeniz gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.