สมาร์ท - ทดสอบไม่เคยเสร็จสิ้น


17

เมื่อรันการทดสอบ SMART โดยใช้ smartmontools พวกเขาจะไม่เสร็จสิ้น ฉันมักจะได้รับ "ขัดจังหวะ (รีเซ็ตโฮสต์)" ในระบบและดิสก์ต่าง ๆ รวมถึง Debian ใน x86 และ ARM, OS X บน x64 พร้อมไดรฟ์ภายนอกและภายใน แม้ในขณะที่ทำงานในโหมด Captive พร้อมดิสก์ทั้งหมดที่ว่างเปล่า (zeroed with dd)

ผมทำอะไรผิดหรือเปล่า?


คุณไม่ได้ทำอะไรผิดคุณ มันเป็นฮาร์ดแวร์ที่ไม่ทำงาน
Ramhound

มันหมายถึงการทำงานทั้งหมดหรือไม่
bot47

ใช่มันน่าจะใช้ได้
Ramhound

@ MaxRied คุณกำลังบอกว่าคุณได้ลองทำสิ่งนี้บนคอมพิวเตอร์หลายเครื่องที่มีบันทึกของดิสก์ที่แตกต่างกันและยังไม่เคยเห็นว่าเสร็จสมบูรณ์แม้แต่ดิสก์ที่คุณรู้ว่ามีสุขภาพดีจากเครื่องมือวิเคราะห์ SMART ที่แตกต่างกัน?
Frank Thomas

@ Frankthomas ใช่
bot47

คำตอบ:


14

เมื่อไดรฟ์ไม่จัดการกิจกรรมอินพุต / เอาต์พุตใด ๆ ในระหว่างการทดสอบไดร์ฟอาจเข้าสู่โหมดสแตนด์บายซึ่งจะทำให้เกิดInterrupted (host reset)เงื่อนไขขึ้น ลองอ่านจากดิสก์ตามช่วงเวลาที่เหมาะสม:

while true; do dd if=/dev/disk1 of=/dev/null count=1; sleep 60; done

(แทนที่/dev/disk1ด้วยอุปกรณ์ที่เหมาะสมอ่านหนึ่งภาคจากอุปกรณ์นั้นทุก ๆ 60 วินาทีจนกว่าคุณจะตีctrl-c)

สิ่งนี้ช่วยในสภาพแวดล้อมของฉัน: OS X 10.6.8, ไดรฟ์ที่เชื่อมต่อกับ WD Elements USB, ไดรเวอร์ SAT-SMART 0.8

การทดสอบเชลยตามหลักวิชาควรทำให้ไดรฟ์ออนไลน์ แต่คำสั่งฮาร์ดแวร์ที่ส่งโดยsmartctlอาจหมดเวลาก่อนที่การทดสอบจะเสร็จสมบูรณ์ทำให้เคอร์เนลรีเซ็ตลิงค์และสิ้นสุดในสถานการณ์เดียวกันกับข้างต้น ( ข้อผิดพลาด 303 )

ดูหัวข้อนี้ในรายชื่อผู้รับจดหมายที่สนับสนุน smartmontools เพื่อดูรายละเอียดเพิ่มเติม ฉันรับทราบ Christian Franke สำหรับข้อมูลเชิงลึกที่ให้ไว้ที่นี่


การหยุดชะงักอื่น ๆ ที่เป็นไปได้ ( serverfault.com/a/584055 ): สายเคเบิลที่ไม่ดีอาจทำให้หมดเวลาและเคอร์เนลจะเรียกการรีเซ็ต ฉันไม่ค่อยแน่ใจว่าจำเป็นต้องหยุด smartd หมดเวลาใด ๆ และการหยุดชะงักจะปรากฏใน dmesg / kern.log journalctl -fk/
Tobu

ว้าวนั่นมันถั่ว! การยืนยัน - หลังจากวาง HGST HDN726060ALE610 จากกระจก zpool แล้วมันติดอยู่ที่ 10% เป็นเวลา 36 ชั่วโมง (มันจะเสร็จเร็วขึ้นโดยไม่มีกิจกรรมอื่น ๆ ใช่มั้ย) อ่านห้านาทีเล็ก ๆ ของ dd เหล่านี้ทำให้มันเสร็จสิ้น ความสงสัยถูกไล่ออก
Bill McGonigle

คือ/dev/disk1ควรจะเป็นอุปกรณ์หรือพาร์ทิชันคือเหมือน/dev/sdaหรือ/dev/sda1?
Merchako

@Merchako นี่คือ Mac OS ที่เกี่ยวข้องกับที่มันเป็นเช่นนั้น
bot47

5

ฉันลองวิธีแก้ปัญหาจาก Tobu ในกรณีของฉันฉันค้นหาไดรฟ์ USB ภายนอกในโหมดสลีปโดยไม่คำนึงถึงบางครั้งหลังจากเริ่มการทดสอบและขัดจังหวะดูเหมือนว่า dd จบการอ่านจากเคอร์เนลแคชและแคชมีขนาดใหญ่พอสำหรับดิสก์ เพื่อเข้าสู่โหมดสลีป ฉันสังเกตเห็นว่าการเรียก smartctl เพื่อขอสถานะนั้นสามารถ "ปลุก" ดิสก์ได้เสมอ ดังนั้นความคิดเดิมของรุ่นนี้ก็ทำให้ฉัน:

sudo bash -c 'while true; do smartctl -a /dev/sdb > /dev/null; sleep 60; done'

หลังจาก 5 ชั่วโมงดิสก์ USB ภายนอกยังคงหมุนอยู่ เป็นครั้งแรกที่ฉันได้เห็นการทดสอบที่ยาวนานของ smartctl ในดิสก์ภายนอก

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


3

ความแตกต่างของคำตอบของอารีย์คือการใช้watchเพราะsmartctlผลลัพธ์อาจน่าสนใจในการติดตามสถานะ:

sudo watch -d -n 60 smartctl -a /dev/sdx

การดำเนินการนี้จะอัปเดตผลลัพธ์โดยอัตโนมัติsmartctl -aทุก ๆ 60 วินาทีเพื่อให้คุณเห็นว่าเวลาทดสอบตัวเองเหลืออยู่เท่าไรและเน้นการเปลี่ยนแปลง (เพื่อให้ง่ายต่อการสังเกตว่าการทดสอบกำลังดำเนินการอยู่)


+1 ไม่เคยเห็นwatchมาก่อน
Hashim

1

การทดสอบเชลยอาจไม่ทำงานหากใช้เวลามากกว่า 20 วินาที

ที่มา: ตั๋ว # 303ชื่อ "ในโหมดเชลยการทดสอบอัจฉริยะขยายการหมดเวลาตามที่อธิบายโดยอุปกรณ์ ATA"

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