อรรถประโยชน์การคัดลอกไฟล์อย่าง rsync พร้อมการจัดการข้อผิดพลาดเช่น ddrescue สำหรับการกู้คืนข้อมูลจากฮาร์ดไดรฟ์ที่มีเซกเตอร์เสียหรือฮาร์ดแวร์ล้มเหลว [ปิด]


12

ฉันมีฮาร์ดไดรฟ์ที่มีบล็อกที่ไม่ดีหรือเซกเตอร์ที่ไม่สามารถอ่านได้เนื่องจากปัญหาทางกลที่อาจเกิดขึ้นเช่นหัวดิสก์ที่ไม่ดีมอเตอร์ไม่ดีหรือปัญหาอื่น ๆ ที่ทำให้ฮาร์ดไดรฟ์อ่านข้อมูลอย่างช้า ๆ และมีจำนวนมาก ของข้อผิดพลาดในการอ่าน ฉันเห็นค่าเฉลี่ย 50 KB / วินาทีโดยที่บางคนอ่านลดลงต่ำกว่า 10 KB / วินาทีและบ่อยครั้งที่มันติดอยู่กับไฟล์หรือเซกเตอร์ทั้งหมดโดยปกติจะใช้เวลาค่อนข้างนาน - จาก 2-10 นาทีหรือมากกว่านั้น (เมื่อ ใช้ rsync ก่อนหมดเวลา)

ความเร็วดูเหมือนจะแตกต่างกันอย่างดุเดือดและมันก็ติดอยู่กับไฟล์มากมายและเมื่อในที่สุดมันก็ได้ "unstuck" มันก็ดูเหมือนว่าจะระเบิดนาน ๆ ก่อนที่มันจะติดอีกครั้ง ไดรฟ์ยังคงเงียบมากโดยมีเพียงเสียงคัดลอกไฟล์เป็นครั้งคราว (โดยปกติเมื่อมันติดอยู่ / ถอดออกชั่วขณะหนึ่งก่อนที่จะติดอีกครั้ง) ดังนั้นจึงไม่มีเสียงชั่วร้ายที่เกี่ยวข้องกับการเสียชีวิตของ HDD มีคนแนะนำว่าปัญหาที่เกิดขึ้นฟังดูเหมือนว่าอาจเกิดจากหัวดิสก์ที่ไม่ตรงแนวซึ่งต้องการการอ่านซ้ำหลายครั้งก่อนที่จะอ่านข้อมูลในที่สุด ฟังดูน่าเชื่อถือ แต่ฉันเชือนแช ...

อย่างไรก็ตามปัญหากับ rsync ก็คือดูเหมือนว่าไม่มีการจัดการข้อผิดพลาดที่เหมาะสม เห็นได้ชัดว่ามันไม่ได้มีไว้สำหรับใช้ในการกู้คืนข้อมูลจากความล้มเหลวของฮาร์ดไดรฟ์ แต่ยูทิลิตี้ที่เรียกว่า "การกู้คืนข้อมูล" ที่มีไว้สำหรับการใช้งานดังกล่าวมักจะมุ่งเน้นไปที่การกู้คืนไฟล์ที่ถูกลบ การคัดลอกไฟล์จากฮาร์ดไดรฟ์ที่กำลังจะตาย การกู้คืนไฟล์ที่ถูกลบนั้นไม่ใช่สิ่งที่ฉันต้องการอย่างชัดเจนดังนั้นบางทีคุณอาจเข้าใจความผิดหวังของฉันที่ไม่สามารถค้นหาสิ่งที่ฉันยังหลังจาก

นี่คือที่ที่คุณอาจพูดว่า "คุณควรใช้ ddrescue!" นั่นคือทั้งหมดที่ดีและสวยงาม แต่ฉันได้สำรองข้อมูลส่วนใหญ่แล้วดังนั้นฉันแค่ต้องการกู้คืนไฟล์บางอย่าง ฉันไม่กังวลเกี่ยวกับการพยายามกู้คืนพาร์ติชันแบบบล็อกต่อบล็อกเต็มรูปแบบตามที่ ddrescue ฉันสนใจเพียงแค่ช่วยกู้ไฟล์และไดเรกทอรีที่เฉพาะเจาะจงเท่านั้น

นึกคิดสิ่งที่ฉันต้องการคือการข้ามระหว่าง rsync และ ddrescue:สิ่งที่ให้ฉันระบุต้นทางและปลายทางเป็นไดเรกทอรีของไฟล์ปกติเช่น rsync (มากกว่าสองพาร์ติชันเต็มตามที่ต้องการ ddrescue) ด้วยวิธีการข้ามไฟล์ด้วย ข้อผิดพลาดในการเรียกใช้ครั้งแรกและจากนั้นช่วยให้ฉันพยายามกู้คืนไฟล์เหล่านั้นด้วยข้อผิดพลาดในการเรียกใช้ในภายหลัง (แน่นอนว่ามีคำสั่งเปลี่ยนแปลงเล็กน้อย) อาจเสนอตัวเลือกเพื่อระบุจำนวนครั้งในการลองใหม่ ... เช่น ddrescue ทำงานอย่างไรกับบล็อกฉันเพียงต้องการยูทิลิตี้ที่ทำงานกับไฟล์ / ไดเรกทอรีเฉพาะเช่น rsync

ดังนั้นฉันฝันกลางวันที่นี่หรือมีบางสิ่งที่มีอยู่ที่สามารถทำได้? หรืออาจเป็นวิธีที่จะทำให้ rsync หรือ ddrescue ทำงานในลักษณะนี้? ฉันเปิดรับกับวิธีแก้ไขปัญหาที่อาจใช้งานได้จริงตราบใดที่พวกเขาให้ฉันเลือกไฟล์ที่ฉันต้องการ "ช่วยเหลือ" และสามารถข้ามไฟล์ที่มีข้อผิดพลาดในการเริ่มต้นและลอง / ลองข้อผิดพลาดเหล่านั้นอีกครั้งในภายหลัง

จนถึงตอนนี้ฉันได้ลอง rsync ด้วยตัวเลือกต่อไปนี้ แต่มันมักจะติดอยู่ในไฟล์นานกว่าการหมดเวลาและโดยปกติแล้วฉันต้องการให้มันย้ายไปยังไฟล์ถัดไปและกลับมาที่ไฟล์ที่ได้รับมา ติดอยู่ ฉันไม่คิดว่าเป็นไปได้ว่า อย่างไรก็ตามนี่คือสิ่งที่ฉันใช้มาจนถึงตอนนี้:

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

คำตอบ:


3

ฉันมี Hitachi 3TB ที่อ่านช้าอย่างเจ็บปวด ddrescue จะทำงานที่ระดับไฟล์ แต่ไม่ได้อยู่ในไดเรกทอรี อย่างไรก็ตามฉันไม่สามารถใช้ ddrescue's - หมดเวลาหรือ - นาทีอ่านตัวเลือกอัตราการทำงาน

คุณต้องการทำสิ่งนี้ในสคริปต์เพื่อลบไฟล์ทีละไฟล์

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

อาจ rsync มีการเปลี่ยนแปลงในปีที่ผ่านมาตั้งแต่คำถามนี้ถูกถาม

ประสบการณ์ของฉันคือrsyncในปัจจุบันทำงานได้ดีมากในการคัดลอกข้อมูลจากฮาร์ดไดรฟ์ที่กำลังจะตายด้วย

rsync -a <src> <dest>

มันจะไปอย่างรวดเร็วหากพบข้อผิดพลาดและเมื่อรันใหม่จะกลับไปลองไฟล์เหล่านั้นอีกครั้ง

rsync --version รายงาน rsync version 2.6.9 protocol version 29

เกี่ยวกับคำตอบอื่น ๆ :

คำตอบในปี 2011 ดูเหมือนจะส่งเสริมเครื่องมือที่เป็นเพียงเชิงพาณิชย์เทียบเท่ากับ ddrescue - ไม่มีข้อบ่งชี้ว่าพวกเขาตระหนักถึงไฟล์ คาว. คำตอบปี 2013 น่าสนใจ


2

เป็นคำถามที่ดีรักระดับรายละเอียด สำหรับโปรแกรมที่จะทำงานได้ดีในสถานการณ์นี้ผมจะแนะนำให้พยายาม Filescavenger จากQuetek มันจะอนุญาตให้อ่านซ้ำมากเกินไปในจำนวน 100+ แต่ที่สำคัญกว่านั้นคือมีคุณสมบัติการสร้างภาพดิสก์ที่จะช่วยให้คุณถ่ายโอนเนื้อหาทั้งหมดไปยังภาพโดยไม่ต้องเสียเวลาลองประเมินไฟล์แล้วโหลดภาพและสแกนผ่าน สำหรับไฟล์ ยูทิลิตี้นี้รัน $ 50 สำหรับผู้ใช้ตามบ้าน แต่คุณสามารถดาวน์โหลดและทดสอบจนถึงจุดที่เห็นสิ่งที่สามารถกู้คืนได้จากภาพก่อนที่จะใช้จ่ายเงิน

ถ้าเป็นการใช้งานแบบมืออาชีพคุณจะเสียค่าใช้จ่ายเพียงเล็กน้อย แต่ได้รับคุณสมบัติที่สำคัญรวมถึงการสนับสนุนอาร์เรย์ RAID แบบลอจิคัลและฮาร์ดแวร์

หากสิ่งนี้ล้มเหลวเช่นกันคุณอาจผ่านจุดของเครื่องมือการกู้คืนซอฟต์แวร์ หากคุณเป็นและคุณสามารถพิสูจน์ได้ว่าค่าใช้จ่ายในการกู้คืนห้องปฏิบัติการแจ้งให้เราทราบว่าคุณกำลังอยู่ในประเทศรัฐและเมืองใดฉันขอแนะนำหนึ่งในห้องปฏิบัติการของเราหรือหรือคู่แข่งที่อยู่ใกล้คุณ

คริส


1

คุณต้องการก้าวหน้าเครื่องถ่ายเอกสาร มันมีเป้าหมายที่จะทำไดรฟ์ทั้งหมด แต่เนื่องจากใช้เส้นทางของไฟล์เป็นพารามิเตอร์จึงควรใช้กับไฟล์แต่ละไฟล์ได้เช่นกัน ฉันไม่คิดว่ามันจะใช้งานได้กับไดเรกทอรี - คุณต้องระบุแต่ละไฟล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.