मेरी कहानी काफी सरल रूप से शुरू होती है। मेरे पास एक लाइट-ड्यूटी सर्वर है, जो आर्क लिनक्स चला रहा है, जो अपने डेटा का अधिकांश भाग RAID -1 पर दो SATA ड्राइव से बना है। यह लगभग 4 महीने तक बिना किसी समस्या के काम कर रहा था। फिर, अचानक मुझे ड्राइव में से एक पर रीड एरर मिलने लगीं। हमेशा, संदेश बहुत कुछ इस तरह दिखते थे:
Apr 18 00:20:15 hope kernel: [307085.582035] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Apr 18 00:20:15 hope kernel: [307085.582040] ata5.01: failed command: READ DMA EXT
Apr 18 00:20:15 hope kernel: [307085.582048] ata5.01: cmd 25/00:08:08:6a:34/00:00:27:00:00/f0 tag 0 dma 4096 in
Apr 18 00:20:15 hope kernel: [307085.582050] res 51/40:00:0c:6a:34/40:00:27:00:00/f0 Emask 0x9 (media error)
Apr 18 00:20:15 hope kernel: [307085.582053] ata5.01: status: { DRDY ERR }
Apr 18 00:20:15 hope kernel: [307085.582056] ata5.01: error: { UNC }
Apr 18 00:20:15 hope kernel: [307085.621301] ata5.00: configured for UDMA/133
Apr 18 00:20:15 hope kernel: [307085.640972] ata5.01: configured for UDMA/133
Apr 18 00:20:15 hope kernel: [307085.640986] sd 4:0:1:0: [sdd] Unhandled sense code
Apr 18 00:20:15 hope kernel: [307085.640989] sd 4:0:1:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Apr 18 00:20:15 hope kernel: [307085.640993] sd 4:0:1:0: [sdd] Sense Key : Medium Error [current] [descriptor]
Apr 18 00:20:15 hope kernel: [307085.640998] Descriptor sense data with sense descriptors (in hex):
Apr 18 00:20:15 hope kernel: [307085.641001] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
Apr 18 00:20:15 hope kernel: [307085.641010] 27 34 6a 0c
Apr 18 00:20:15 hope kernel: [307085.641020] sd 4:0:1:0: [sdd] Add. Sense: Unrecovered read error - auto reallocate failed
Apr 18 00:20:15 hope kernel: [307085.641023] sd 4:0:1:0: [sdd] CDB: Read(10): 28 00 27 34 6a 08 00 00 08 00
Apr 18 00:20:15 hope kernel: [307085.641027] end_request: I/O error, dev sdd, sector 657746444
Apr 18 00:20:15 hope kernel: [307085.641035] ata5: EH complete
Apr 18 00:20:15 hope kernel: [307085.641672] md/raid1:md16: read error corrected (8 sectors at 657744392 on sdd1)
Apr 18 00:20:17 hope kernel: [307087.505082] md/raid1:md16: redirecting sector 657742336 to other mirror: sdd1
प्रत्येक त्रुटि ने एक अलग सेक्टर नंबर की शिकायत की, और डिस्क तक पहुंचने वाले उपयोगकर्ता (मेरे) के लिए कई सेकंड की देरी के साथ।
मैंने स्मार्टक्लाट आउटपुट की जाँच की, और निम्न आउटपुट (अप्रासंगिक भागों की कतरन) को देखा:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 193 193 051 Pre-fail Always - 1606
5 Reallocated_Sector_Ct 0x0033 194 194 140 Pre-fail Always - 0
196 Reallocated_Event_Count 0x0032 162 162 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 51
लॉग में वापस देखते हुए, मैंने पाया कि त्रुटियां वास्तव में कुछ दिनों से हो रही थीं, ज्यादातर बैकअप के दौरान, लेकिन अक्सर बहुत हल्के उपयोग के दौरान (प्रत्येक 5 वीं बार जब मैंने एक पाठ फ़ाइल को बचाने की कोशिश की)। मैंने निष्कर्ष निकाला कि मेरी डिस्क मर रही थी, कि RAID-1 इसे उचित तरीके से संभाल रहा था, और यह एक प्रतिस्थापन डिस्क का आदेश देने का समय था। मैंने एक नई डिस्क का आदेश दिया।
मेरे आश्चर्य के अधिकांश, एक दिन बाद, त्रुटियाँ ... बंद हो गईं। मैंने उन्हें ठीक करने के लिए कुछ नहीं किया था। मैंने रिबूट नहीं किया था, ऑफ़लाइन ड्राइव नहीं लिया था, कुछ भी नहीं। लेकिन त्रुटियां बस रुक गईं।
उस बिंदु पर, यह देखने के लिए उत्सुक है कि क्या खराब सेक्टर अभी डिस्क के निष्क्रिय भागों में थे, मैंने डिस्क को RAID से बाहर निकाल दिया, इसे वापस RAID में डाल दिया, और इसे पूर्ण रेसक्यू को पूरा करने की अनुमति दी। 9 घंटे बाद (2TB डिस्क थोड़ी देर लगती है) बिना किसी त्रुटि के पूरा हुआ रिस्क्यूंक।
इसके अलावा, स्मार्टक्लाट आउटपुट में थोड़ा बदलाव आया है:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 193 193 051 Pre-fail Always - 1606
5 Reallocated_Sector_Ct 0x0033 194 194 140 Pre-fail Always - 43
196 Reallocated_Event_Count 0x0032 162 162 000 Old_age Always - 38
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
तो, इसका एक हिस्सा जो मुझे परेशान कर रहा है, निश्चित रूप से, "जब से खराब डिस्क खुद को ठीक करते हैं?"
मुझे लगता है कि यह संभव है कि ड्राइव का एक बहुत छोटा क्षेत्र अनायास खराब हो गया, और यह कि ड्राइव को अपने सेक्टर रिक्लेक्शन कोड को किक करने में 3 दिन (!) लगे और इससे डिस्क के खराब क्षेत्र में कुछ अतिरिक्त सेक्टर मैप हो गए ... लेकिन मैं यह नहीं कह सकता कि मैंने कभी ऐसा देखा है।
क्या किसी और ने भी इस तरह का व्यवहार देखा है? यदि हां, तो बाद में ड्राइव के साथ आपका अनुभव क्या था? क्या यह फिर से हुआ? क्या डिस्क अंततः पूरी तरह से विफल हो गई? या यह सिर्फ एक अस्पष्टीकृत गड़बड़ थी जो अस्पष्टीकृत बनी रही?
मेरे मामले में, मेरे पास पहले से ही प्रतिस्थापन ड्राइव (वारंटी के तहत प्राप्त) है, इसलिए मैं शायद वैसे भी ड्राइव को बदल दूंगा। लेकिन मुझे यह जानकर अच्छा लगेगा कि अगर मैंने इसे किसी तरह गलत बताया। यदि यह मदद करता है, तो मेरे पास 'smartctl -a' आउटपुट है जब समस्या हो रही थी। यह अभी थोड़ा लंबा है, इसलिए मैंने इसे यहां पोस्ट नहीं किया।