ครั้งแรกของทั้งหมดผมคิดว่าทุกคนรู้ว่าฮาร์ดไดรฟ์ล้มเหลวมากขึ้นกว่าที่ผู้ผลิตต้องการที่จะยอมรับ Google ทำการศึกษาซึ่งบ่งชี้ว่าคุณลักษณะข้อมูลดิบบางอย่างที่สถานะ SMART ของรายงานฮาร์ดไดรฟ์สามารถมีความสัมพันธ์อย่างมากกับความล้มเหลวในอนาคตของไดรฟ์
ตัวอย่างเช่นเราพบว่าหลังจากข้อผิดพลาดในการสแกนครั้งแรกไดรฟ์มีแนวโน้มที่จะล้มเหลว 39 ครั้งภายใน 60 วันกว่าไดรฟ์ที่ไม่มีข้อผิดพลาดดังกล่าว ข้อผิดพลาดครั้งแรกในการจัดสรรใหม่การจัดสรรใหม่แบบออฟไลน์และการนับเชิงปริมาณมีความสัมพันธ์อย่างมากกับความน่าจะเป็นของความล้มเหลวที่สูงขึ้น แม้จะมีความสัมพันธ์ที่แข็งแกร่งเหล่านี้เราพบว่ารูปแบบการทำนายความล้มเหลวตามพารามิเตอร์ SMART เพียงอย่างเดียวนั้นมีแนวโน้มที่จะถูก จำกัด อย่างรุนแรงในความแม่นยำในการทำนายของพวกเขาเนื่องจากไดรฟ์ที่ล้มเหลวส่วนใหญ่ของเรา
Seagate ดูเหมือนว่ากำลังพยายามปิดบังข้อมูลนี้เกี่ยวกับไดรฟ์ของพวกเขาโดยอ้างว่ามีเพียงซอฟต์แวร์ของพวกเขาเท่านั้นที่สามารถกำหนดสถานะที่ถูกต้องของไดรฟ์ได้และวิธีการที่ซอฟต์แวร์ของพวกเขาจะไม่บอกค่าข้อมูลดิบ Western Digital ไม่ได้อ้างสิทธิ์ในความรู้ของฉัน แต่เครื่องมือการรายงานสถานะของพวกเขาไม่ปรากฏขึ้นเพื่อรายงานค่าข้อมูลดิบเช่นกัน
ฉันใช้ HDtune และ smartctl จาก smartmontools เพื่อรวบรวมค่าข้อมูลดิบสำหรับแต่ละแอตทริบิวต์ ฉันพบว่าจริง ๆ แล้ว ... ฉันกำลังเปรียบเทียบแอปเปิ้ลกับส้มเมื่อพูดถึงคุณลักษณะบางอย่าง ฉันได้พบตัวอย่างเช่นไดรฟ์ซีเกทส่วนใหญ่จะรายงานว่าพวกเขามีข้อผิดพลาดในการอ่านหลายล้านในขณะที่ดิจิตอลตะวันตก 99% ของเวลาแสดง 0 สำหรับข้อผิดพลาดในการอ่าน ฉันยังพบว่า Seagate จะรายงานข้อผิดพลาดในการค้นหาหลายล้านรายการในขณะที่ Western Digital มักจะรายงาน 0
ถาม : ฉันจะทำให้ข้อมูลนี้เป็นมาตรฐานได้อย่างไร Seagate ผลิตข้อผิดพลาดนับล้านในขณะที่ Western Digital ไม่ได้ทำอะไรเลยเหรอ? บทความของ Wikipedia เกี่ยวกับสถานะSMARTกล่าวว่าผู้ผลิตมีวิธีการรายงานข้อมูลที่แตกต่างกัน
นี่คือสมมติฐานของฉัน:
ฉันคิดว่าฉันพบวิธีที่จะทำให้ปกติเป็นข้อมูลที่ถูกต้องหรือไม่
ไดรฟ์ซีเกทมีคุณสมบัติเพิ่มเติมที่ไดรฟ์ Western Digital ไม่มี (กู้คืนฮาร์ดแวร์ ECC) เมื่อคุณลบจำนวนการอ่านข้อผิดพลาดออกจากการนับ ECC ที่กู้คืนแล้วคุณอาจท้ายด้วย 0 ซึ่งน่าจะเทียบเท่ากับ Western Digitals ที่รายงานการนับ "อ่านข้อผิดพลาด" ซึ่งหมายความว่า Western Digital รายงานเฉพาะข้อผิดพลาดในการอ่านที่ไม่สามารถแก้ไขได้ในขณะที่ Seagate นับจำนวนข้อผิดพลาดในการอ่านทั้งหมดและแจ้งให้คุณทราบว่าสามารถแก้ไขได้กี่ข้อ
ฉันมีไดรฟ์ Seagate ซึ่งจำนวนข้อผิดพลาดในการอ่านน้อยกว่าจำนวนที่เรียกคืนของ ECC และฉันสังเกตเห็นว่าไฟล์ของฉันจำนวนมากเสียหาย นี่คือวิธีที่ฉันได้มากับสมมติฐานของฉัน การค้นหาข้อผิดพลาดหลายล้านรายการที่ซีเกทผลิตยังคงเป็นปริศนาสำหรับฉัน
โปรดยืนยันหรือแก้ไขสมมติฐานของฉันหากคุณมีข้อมูลเพิ่มเติม
นี่คือสถานะที่ชาญฉลาดของไดรฟ์ดิจิตอลตะวันตกของฉันเพื่อให้คุณเห็นสิ่งที่ฉันกำลังพูดถึง:
james@ubuntu:~$ sudo smartctl -a /dev/sda
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: WDC WD1001FALS-00E3A0
Serial Number: WD-WCATR0258512
Firmware Version: 05.01D05
User Capacity: 1,000,204,886,016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Thu Jun 10 19:52:28 2010 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 179 175 021 Pre-fail Always - 4033
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 270
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 098 098 000 Old_age Always - 1468
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 262
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 46
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 223
194 Temperature_Celsius 0x0022 105 102 000 Old_age Always - 42
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
แก้ไข: นี่คือไดรฟ์ Seagate ที่ฉันพูดถึงนั่นทำให้เกิดความเสียหายของข้อมูล ข้อมูลนี้มาจาก HDTune
HD Tune: ST3250623A Health
ID Current Worst ThresholdData Status
(01) Raw Read Error Rate 45 38 6 77882492 Ok
(03) Spin Up Time 99 98 0 0 Ok
(04) Start/Stop Count 100 100 20 640 Ok
(05) Reallocated Sector Count 100 100 36 0 Ok
(07) Seek Error Rate 85 60 30 359872048 Ok
(09) Power On Hours Count 94 94 0 6028 Ok
(0A) Spin Retry Count 100 100 97 0 Ok
(0C) Power Cycle Count 100 100 20 689 Ok
(C2) Temperature 25 55 0 25 Ok
(C3) Hardware ECC Recovered 50 47 0 201555081 Ok
(C5) Current Pending Sector 100 100 0 0 Ok
(C6) Offline Uncorrectable 100 100 0 0 Ok
(C7) Ultra DMA CRC Error Count 200 199 0 1 Ok
(C8) Write Error Rate 100 253 0 0 Ok
(CA) TA Counter Increased 100 253 0 0 Ok
Power On Time : 6028
Health Status : Ok
ความจริงที่ว่าฮาร์ดแวร์ ECC ที่กู้คืนมีขนาดใหญ่กว่าอัตราความผิดพลาดในการอ่านแบบ Raw นั้นนับว่าง่ายในความคิดของฉัน
นี่คือสิ่งที่ฉันพบว่าเป็นไดรฟ์ซีเกท "ปกติ" ที่การกู้คืน ECC ตรงกับอัตราข้อผิดพลาดการอ่านดิบ:
HD Tune: ST380011A Health
ID Current Worst ThresholdData Status
(01) Raw Read Error Rate 62 46 6 79986164 Ok
(03) Spin Up Time 98 98 0 0 Ok
(04) Start/Stop Count 100 100 20 6 Ok
(05) Reallocated Sector Count 100 100 36 0 Ok
(07) Seek Error Rate 83 60 30 210309663 Ok
(09) Power On Hours Count 93 93 0 6516 Ok
(0A) Spin Retry Count 100 100 97 0 Ok
(0C) Power Cycle Count 99 99 20 1325 Ok
(C2) Temperature 25 52 0 25 Ok
(C3) Hardware ECC Recovered 62 46 0 79986164 Ok
(C5) Current Pending Sector 100 100 0 0 Ok
(C6) Offline Uncorrectable 100 100 0 0 Ok
(C7) Ultra DMA CRC Error Count 200 188 0 18 Ok
(C8) Write Error Rate 100 253 0 0 Ok
(CA) TA Counter Increased 100 253 0 0 Ok
Power On Time : 6516
Health Status : Ok
แก้ไข:
ฉันต้องการชี้แจงว่าฉันรู้ว่าโดยทั่วไปแล้ว Google ถือว่า SMART ไร้ประโยชน์ ฉันรู้ว่าทุกคนควรสำรองข้อมูลของพวกเขา อย่างไรก็ตามฉันอยู่ในธุรกิจที่ซ่อมคอมพิวเตอร์ของคนอื่น คนส่วนใหญ่ไม่มีการสำรองข้อมูลหรือมี RAID ไม่มีค่าใช้จ่ายสำหรับองค์กรที่จะแก้ไขปัญหาฮาร์ดไดรฟ์ดังนั้นพวกเขาจึงเรียกใช้พวกเขาบน RAID จนกว่าพวกเขาจะตาย ฉันพบว่ามีประโยชน์ในสายงานของฉันเพื่อตรวจสอบสถานะ SMART ของฮาร์ดไดรฟ์ ใช้เวลาประมาณ 30 วินาที หากฉันโชคดีพอที่ไดรฟ์ที่ไม่ดีเพื่อแสดงคำใบ้ของความล้มเหลวเช่นข้อผิดพลาดในการสแกนหรือส่วนที่จัดสรรใหม่ฉันรู้ว่าจะกำจัดไดรฟ์ออกจากที่นั่นได้ หากไม่มีคำใบ้ดังกล่าวอยู่ฉันอาจใช้เวลาหลายชั่วโมงในการแก้ไขปัญหาความเชื่องช้าและข้อมูลเสียหายจนในที่สุดฉันก็พบว่าฮาร์ดไดรฟ์เสีย
ฉันแค่พยายามปรับกระบวนการนี้ให้ดี