Storage Health • SMART • RAID Troubleshooting
Uncorrected Read Error: ความหมาย ความเสี่ยง และแนวทางรับมืออย่างปลอดภัย
เมื่อระบบแจ้งว่าไม่สามารถอ่านข้อมูลจากดิสก์และแก้ไขข้อผิดพลาดได้ เหตุการณ์นี้อาจเป็นสัญญาณตั้งแต่ปัญหาการเชื่อมต่อ
ไปจนถึงดิสก์ที่กำลังเสื่อม การรับมือที่ถูกลำดับช่วยลดโอกาสสูญเสียข้อมูลและป้องกันไม่ให้งานตรวจสอบซ้ำเติมความเสียหาย
สำหรับ System Analyst / Administrator / IT Support
HDD / SSD / RAID
Incident & Data Protection
Uncorrected read คืออะไร
Uncorrected read หรือ uncorrectable read error คือเหตุการณ์ที่อุปกรณ์จัดเก็บข้อมูล
พยายามอ่านข้อมูลจากตำแหน่งหนึ่งแล้วไม่สามารถส่งข้อมูลที่ถูกต้องกลับมาได้ แม้กลไกตรวจสอบและแก้ไขข้อผิดพลาดภายในดิสก์
เช่น ECC จะพยายามแก้ไขแล้วก็ตาม ระบบปฏิบัติการ, RAID controller หรือ Storage controller จึงรายงานว่าการอ่านล้มเหลว
สิ่งสำคัญ: ข้อความนี้บอกว่า “มีการอ่านที่แก้ไขไม่ได้” แต่ยังไม่ใช่คำวินิจฉัยสาเหตุโดยตัวมันเอง
ต้องตรวจร่วมกับ SMART, RAID log, Event Log, สายเชื่อมต่อ, พอร์ต และประวัติอาการของระบบ
ต่างจาก bad sector อย่างไร
เหตุการณ์
Uncorrected read
เป็นผลลัพธ์ของคำสั่งอ่านครั้งหนึ่งที่ไม่สำเร็จ อาจเกิดจากสื่อบันทึกเสีย หัวอ่าน การเชื่อมต่อ controller หรือไฟเลี้ยง
สภาพพื้นที่จัดเก็บ
Bad sector / bad block
เป็นตำแหน่งบนสื่อบันทึกที่อ่านหรือเขียนไม่ได้อย่างน่าเชื่อถือ ดิสก์อาจ remap ตำแหน่งนั้นไปยังพื้นที่สำรองเมื่อมีการเขียนหรือทดสอบ
Bad sector สามารถทำให้เกิด uncorrected read ได้ แต่ uncorrected read ไม่ได้ยืนยันเสมอไปว่าผิวจานหรือเซลล์เสีย
เพราะปัญหาสาย, backplane, พอร์ต, controller หรือไฟเลี้ยงก็อาจทำให้คำสั่งอ่านล้มเหลวได้เช่นกัน
สาเหตุที่พบบ่อย
Disk Media
ผิวจานหรือเซลล์เสื่อม
HDD อาจมีพื้นผิวเสื่อม ส่วน SSD อาจมี NAND block ที่หมดอายุหรืออ่านข้อมูลได้ไม่เสถียร
Mechanical
หัวอ่านหรือกลไก HDD
หัวอ่าน มอเตอร์ หรือชุดกลไกเริ่มผิดปกติ อาจมีเสียงผิดปกติ อ่านช้า ค้าง หรือ error เพิ่มขึ้นอย่างรวดเร็ว
Connection
สาย พอร์ต หรือ backplane
สาย SATA/SAS หลวม หน้าสัมผัสไม่ดี พอร์ตหรือ backplane มีปัญหา อาจทำให้เกิด timeout และ CRC error
Controller
RAID/HBA controller
Firmware, cache, controller หรือเส้นทาง I/O ผิดปกติ อาจทำให้หลายดิสก์รายงาน error ในช่วงเวลาใกล้กัน
Power
ไฟเลี้ยงไม่เสถียร
PSU, สายไฟ หรือ power rail มีปัญหา ทำให้ดิสก์ reset, หลุดจากระบบ หรือคำสั่งอ่านล้มเหลวเป็นช่วง ๆ
Workload
ภาระงานเปิดเผยปัญหาเดิม
การ backup, consistency check หรือ rebuild อ่านพื้นที่จำนวนมาก จึงมักทำให้พบ sector ที่เสียอยู่ก่อนแล้ว
สัญญาณเตือนที่ควรตรวจ
| แหล่งข้อมูล |
ตัวอย่างสัญญาณ |
แนวทางตีความ |
| SMART |
Reallocated Sector Count, Current Pending Sector, Offline Uncorrectable |
ค่าที่เพิ่มขึ้น โดยเฉพาะ pending หรือ uncorrectable บ่งชี้ว่าดิสก์มีพื้นที่ที่อ่านไม่เสถียร ควรติดตามค่า raw และแนวโน้ม |
| SMART / Interface |
UDMA CRC Error Count, link reset, command timeout |
มักชี้ไปที่สาย พอร์ต backplane หรือการเชื่อมต่อ แต่ต้องดูว่าค่าเพิ่มขึ้นหลังแก้สายหรือไม่ |
| RAID log |
Medium error, predictive failure, patrol read error, device reset |
ใช้ระบุสล็อต ดิสก์ เวลา LBA และดูว่า error เกิดกับดิสก์เดียวหรือหลายดิสก์พร้อมกัน |
| Operating system |
I/O error, timeout, bad block, filesystem warning |
ช่วยเชื่อมโยงเวลาที่ Application ค้างหรือไฟล์อ่านไม่ได้กับเหตุการณ์ระดับอุปกรณ์ |
ข้อควรจำ: ชื่อและความหมายของ SMART attribute แตกต่างกันตามผู้ผลิตและชนิดดิสก์
อย่าตัดสินจากค่า normalized หรือ attribute เดียว ควรดู raw value, trend, self-test log และเอกสารของผู้ผลิตประกอบ
ความเสี่ยงต่อข้อมูล
- ไฟล์เสียหรืออ่านไม่ได้: ข้อมูลที่อยู่บนตำแหน่งนั้นอาจกู้คืนไม่ได้ครบถ้วน
- ระบบค้างหรือบริการหยุด: I/O timeout อาจทำให้ Database, VM หรือ Application ตอบสนองช้า
- RAID เสียหายระหว่าง rebuild: หากดิสก์อีกลูกมี unreadable sector การ rebuild อาจล้มเหลวหรือสูญเสีย stripe บางส่วน
- ความเสียหายขยายตัว: การอ่านเต็มดิสก์ซ้ำ ๆ อาจเพิ่มภาระให้ดิสก์ที่กำลังเสื่อม
RAID ไม่ใช่ Backup: RAID ช่วยให้บริการต่อเนื่องเมื่ออุปกรณ์บางชิ้นเสีย แต่ไม่รับประกันการกู้คืนไฟล์ที่เสียหาย
การลบผิด ransomware หรือความเสียหายที่เกิดระหว่าง rebuild
ขั้นตอนรับมืออย่างปลอดภัย
- ประเมินความเร่งด่วน: ตรวจว่าระบบยังออนไลน์หรือไม่ RAID degraded หรือไม่ และมี backup ที่ใช้กู้คืนได้ล่าสุดเมื่อใด
- ลดการเขียนที่ไม่จำเป็น: หลีกเลี่ยงงานหนัก การย้ายข้อมูลจำนวนมาก และการ restart ซ้ำโดยไม่มีแผน
- ปกป้องข้อมูลก่อน: สำรองข้อมูลสำคัญหรือทำ image/clone แบบอ่านเท่าที่จำเป็น หากดิสก์มีอาการหนักให้ใช้เครื่องมือกู้ข้อมูลที่รองรับการข้าม error
- เก็บหลักฐาน: บันทึกเวลา serial number, slot, SMART, RAID log, OS log และสถานะ array ก่อนเปลี่ยนแปลง
- แยกสาเหตุ: ตรวจสาย พอร์ต backplane controller และไฟเลี้ยง โดยเปลี่ยนทีละปัจจัยและติดตามว่า error counter เพิ่มหรือไม่
- เปลี่ยนดิสก์เมื่อเหมาะสม: หากมี pending/uncorrectable เพิ่มขึ้น, SMART fail, medium error ซ้ำ หรือผู้ผลิต/controller แจ้ง predictive failure ให้เตรียมเปลี่ยนดิสก์
- ตรวจสอบหลังแก้ไข: ยืนยันสถานะ RAID, backup, application และติดตาม log ต่อเนื่องหลัง rebuild หรือเปลี่ยนอุปกรณ์
ข้อควรระวังก่อนรันคำสั่งหนัก
CHKDSK
อย่าเริ่มด้วยการซ่อมทันที
chkdsk /f แก้ metadata และมีการเขียน ส่วน chkdsk /r อ่านพื้นที่จำนวนมากและพยายามย้ายข้อมูล ควรสำรองหรือโคลนก่อนเมื่อสงสัยว่าดิสก์เสีย
Long Scan
การสแกนอาจเพิ่มภาระ
SMART long test, bad-block scan หรือ surface scan อ่านดิสก์เกือบทั้งหมด จึงไม่ควรรันก่อนช่วยข้อมูลสำคัญออกจากดิสก์ที่อาการหนัก
RAID Rebuild
ตรวจสมาชิกอื่นก่อน rebuild
การ rebuild บังคับให้อ่านดิสก์สมาชิกอย่างหนัก ควรตรวจ backup, health ของดิสก์ที่เหลือ, ลำดับสล็อต และนโยบายของ controller ก่อนเริ่ม
ลำดับที่แนะนำ: ปกป้องข้อมูล → เก็บ log → ตรวจสุขภาพและการเชื่อมต่อ → วางแผนเปลี่ยนดิสก์หรือ rebuild → จึงค่อยตรวจ filesystem เชิงลึก
ตัวอย่างข้อความแจ้งเตือนและการตีความ
| ข้อความตัวอย่าง |
ความหมายเบื้องต้น |
สิ่งที่ควรทำต่อ |
Uncorrectable read error |
คำสั่งอ่านข้อมูลตำแหน่งหนึ่งล้มเหลวและแก้ด้วย ECC ไม่ได้ |
สำรองข้อมูล ตรวจ SMART และค้นหา medium/error log พร้อม LBA หรือสล็อตที่เกี่ยวข้อง |
Medium Error |
อุปกรณ์รายงานปัญหาที่สื่อบันทึก มักมีน้ำหนักไปทางตัวดิสก์มากกว่าสาย |
ตรวจ trend, self-test และเตรียมเปลี่ยนดิสก์หากเกิดซ้ำหรือ controller แจ้ง predictive failure |
Current Pending Sector > 0 |
มี sector ที่อ่านไม่เสถียรและรอการยืนยันหรือ remap |
ปกป้องข้อมูลก่อน ติดตามว่าค่าเพิ่มขึ้นหรือไม่ และหลีกเลี่ยงการทดสอบหนักก่อน backup |
CRC error หรือ link reset |
มีความผิดพลาดระหว่างส่งข้อมูลหรือการเชื่อมต่อถูก reset |
ตรวจสาย พอร์ต backplane และไฟเลี้ยง แล้วดูว่า counter ยังเพิ่มหลังแก้ไขหรือไม่ |
RAID degraded |
Array สูญเสีย redundancy บางส่วนและมีความเสี่ยงสูงขึ้น |
ยืนยัน backup ระบุดิสก์ที่เสียตาม serial/slot และทำตามขั้นตอนของ controller โดยไม่ถอดผิดลูก |
สรุป
Uncorrected read เป็นสัญญาณว่าระบบอ่านข้อมูลบางตำแหน่งไม่สำเร็จ แต่สาเหตุอาจอยู่ที่ดิสก์ การเชื่อมต่อ controller
หรือไฟเลี้ยง การตัดสินใจจึงควรอาศัย SMART, RAID log และ OS log ร่วมกัน ไม่ควรสรุปจากข้อความเดียว
สิ่งสำคัญที่สุดคือปกป้องข้อมูลก่อนการทดสอบหรือซ่อมแซมที่สร้างภาระหนัก จากนั้นเก็บหลักฐาน แยกสาเหตุ
และเปลี่ยนดิสก์ตามระดับความเสี่ยง การทำตามลำดับนี้ช่วยลดโอกาสที่การตรวจสอบจะกลายเป็นสาเหตุให้ข้อมูลเสียหายเพิ่ม
ผู้เขียน: Mr. Praisit Charoenson
ตำแหน่ง: System Analyst
ประเภทเอกสาร: Knowledge Management Article