เครื่องยังเปิดติด แต่ดิสก์มีสัญญาณอะไรให้ดูบ้าง

บริการใน Homelab ที่เปิดใช้งานได้ตามปกติอาจทำให้เราไม่ได้กลับไปดูดิสก์บ่อยนัก เพราะตราบใดที่เว็บยังเข้าได้และฐานข้อมูลยังตอบ ก็เหมือนทุกส่วนยังทำหน้าที่ของมันอยู่
แต่การทำงานได้ในตอนนี้กับการไม่มีสัญญาณผิดปกติเป็นคนละเรื่องครับ ดิสก์อาจมีข้อมูลที่รายงานไว้ให้ตรวจ ขณะที่อาการของแอปยังไม่ชัด หรืออาการที่เห็นอาจมาจากเส้นทางเชื่อมต่อกับระบบไฟล์มากกว่าตัวสื่อเก็บข้อมูลเอง
SMART จึงเป็นข้อมูลอีกชั้นที่ควรอ่านร่วมกับเหตุการณ์ของระบบ ไม่ใช่เครื่องมือทำนายว่าวันใดดิสก์จะหยุดแน่นอน ลองเริ่มจากรู้ว่ากำลังอ่านจากตัวไหนและค่าที่เห็นหมายถึงอะไร ก่อนตั้งการแจ้งเตือนตามตัวเลขที่ยังไม่รู้หน่วย
ตามตัวตนดิสก์ให้ถูกก่อนอ่านสุขภาพ
ในเครื่องที่มีหลายลูก ควรเก็บ model, serial, firmware และเส้นทางที่ระบบใช้เข้าถึงไว้ด้วย ชื่ออุปกรณ์ในระบบปฏิบัติการอาจเปลี่ยนได้ตามการตรวจพบ จึงไม่ควรใช้ชื่อสั้นเพียงอย่างเดียวเป็นประวัติระยะยาวของดิสก์
หากผ่าน USB enclosure หรือ controller บางชนิด ข้อมูลที่เครื่องมืออ่านได้อาจมีขอบเขตหรือวิธีเข้าถึงต่างจากการต่อโดยตรง จึงต้องดูการรองรับของตัวกลางและเครื่องมือ ไม่สรุปว่าไม่มีข้อมูล SMART แปลว่าดิสก์ไม่มีสัญญาณให้ตรวจทั้งหมด

เครื่องมืออย่าง smartctl ใช้ดูข้อมูลและผลทดสอบที่อุปกรณ์รองรับได้ แต่ควรแยกคำสั่งอ่านข้อมูลออกจากคำสั่งเริ่มทดสอบหรือเปลี่ยนการตั้งค่า ตามคู่มือรุ่นที่ใช้อยู่จริง ไม่คัด option ที่มีผลต่ออุปกรณ์ไปใช้เพียงเพราะอยู่ในตัวอย่างบรรทัดเดียวกัน
ถ้ามีระบบรวมดิสก์หรือ RAID ก็ควรรู้ว่าข้อมูลที่เปิดดูเป็นของ logical device หรือดิสก์จริงตัวใด เพราะสถานะของชั้นรวมกับสถานะของสมาชิกเป็นข้อมูลคนละระดับ และอาจต้องใช้เส้นทางตรวจตาม controller นั้น
ตัวเลขจากคนละรุ่นอาจแปลเหมือนกันไม่ได้
SMART ของอุปกรณ์แต่ละกลุ่มมีรูปแบบต่างกัน โดยเฉพาะ attribute ของ ATA/SATA ที่มีส่วนซึ่งผู้ผลิตกำหนดความหมายเอง ตัวเลข raw กับค่าที่ normalize แล้วจึงไม่ควรถูกอ่านเป็นหน่วยเดียวกันโดยอัตโนมัติ
หากเห็นตัวเลขมากผิดจากดิสก์อีกยี่ห้อ ให้ตรวจเอกสารกับฐานข้อมูลการแปลของเครื่องมือก่อน ไม่รีบใช้ threshold จากบทความของคนละรุ่นมาตัดสินว่าตัวเองมีปัญหาแบบเดียวกัน เพราะบางค่ารวมข้อมูลหลายส่วนหรือใช้รูปแบบเฉพาะ
ข้อมูล NVMe อย่าง Percentage Used ก็เป็นการประมาณการใช้งานตามความหมายที่ผู้ผลิตกับมาตรฐานกำหนด ไม่ใช่จำนวนวันที่เหลือ และไม่ควรถูกเปลี่ยนชื่อเป็นเปอร์เซ็นต์สุขภาพแบบเดียวกับตัวชี้วัดทุกตัวโดยไม่มีคำอธิบาย

temperature หรือประวัติการปิดไม่สมบูรณ์ก็ต้องดูขอบเขตของค่าเช่นกัน บางค่าบอกสถานะปัจจุบัน บางค่ารวมสะสม การรู้ชนิดของข้อมูลช่วยให้ตั้งคำถามได้ถูกว่ากำลังดูอาการใหม่หรือประวัติที่เกิดมานานแล้ว
ดูการเปลี่ยนแปลงร่วมกับเหตุการณ์ของเครื่อง
การเก็บค่าฐานตอนเริ่มติดตามทำให้รู้ว่ารอบถัดไปมีอะไรเปลี่ยน ไม่ต้องเปิดดูตัวเลขสะสมแล้วเดาว่าทั้งหมดเพิ่งเกิดเมื่อคืน ควรเก็บเวลาและตัวตนอุปกรณ์คู่กัน เพื่อให้เทียบต่อเนื่องได้แม้ย้ายช่องหรือเปลี่ยนสาย
เมื่อมีค่าผิดปกติ ให้ดู log การอ่านเขียน ระบบไฟล์ และเหตุการณ์ที่เกี่ยวข้องตามขอบเขตที่มี เช่น มีการหลุดของอุปกรณ์หรือไฟดับร่วมด้วยหรือไม่ ข้อมูลเหล่านี้ช่วยแยกสิ่งที่ควรตรวจต่อ ไม่ใช่ใช้ลำดับเวลาอย่างเดียวรับรองว่าสิ่งหนึ่งเป็นสาเหตุของอีกสิ่งทันที
สัญญาณจากการสื่อสารบางแบบอาจเกี่ยวกับสายหรือตัวกลาง ขณะที่ข้อผิดพลาดของสื่อก็เป็นอีกเรื่อง ต้องอ่านตามรหัสและข้อมูลรุ่น การมีหลายชั้นให้เทียบทำให้เราไม่ต้องเลือกโทษดิสก์หรือสายจากความรู้สึกเพียงอย่างเดียว
ส่วนผล self-test ที่อุปกรณ์รองรับควรถูกอ่านตามชนิดและเวลาที่เกิด ไม่เอาคำว่าผ่านจากการทดสอบหนึ่งแบบไปแทนทุกมุม และไม่คิดว่าการทดสอบที่ยังไม่จบหรือถูกขัดจังหวะเท่ากับผลผ่าน
แจ้งเตือนให้รู้ว่าควรทำอะไรต่อ
เกณฑ์แจ้งเตือนควรเริ่มจากความหมายของค่าที่รุ่นนั้นรายงานและความสำคัญของข้อมูล แล้วกำหนดระดับกับวิธีติดตามต่อ ไม่ใช้ตัวเลขเดียวกับดิสก์ทุกประเภทเพียงเพราะระบบเก็บ metric ชื่อคล้ายกันได้
ควรแจ้งกรณีเก็บข้อมูลไม่ได้ด้วย เพราะ metric ที่หายไปไม่ควรถูกตีความเป็นศูนย์หรือสถานะปกติ หากเครื่องมือเข้าถึงดิสก์ไม่ได้หลังเปลี่ยน controller เราต้องรู้ว่าช่วงนั้นไม่มีหลักฐานใหม่ ไม่ให้ Dashboard ยังแสดงสีเดิมเหมือนเพิ่งตรวจผ่าน
ข้อความแจ้งควรมีตัวตนดิสก์ ค่าและช่วงที่เปลี่ยน รวมถึงลิงก์หรือขั้นตรวจที่เหมาะกับระบบ ไม่ส่งเพียงคำว่าดิสก์ไม่ดีโดยไม่มีข้อมูลให้ตาม และควรมีทางดูว่าปัญหายังอยู่หรือเป็นข้อความเก่าที่ถูกส่งซ้ำ
เมื่อมีอาการจริง ให้รักษาข้อมูลก่อนทดสอบเพิ่ม
ถ้าระบบเริ่มอ่านไม่ได้หรือมีสัญญาณผิดปกติที่เกี่ยวกับข้อมูล ควรกลับไปดูสำเนาที่มีและแผนรับมือก่อนสร้างภาระทดสอบยาวๆ บนเครื่องนั้น เพราะการต้องการหาคำตอบเรื่องสุขภาพไม่ควรทำให้ลืมเป้าหมายว่าข้อมูลใดต้องรักษาไว้
การทดสอบแบบใดเหมาะขึ้นกับสภาพอุปกรณ์และความสำคัญของข้อมูล ไม่ควรใช้บททั่วไปตัดสินว่าต้องสแกนเต็มหรือบังคับซ่อมทันทีทุกครั้ง หากข้อมูลยังไม่มีสำเนาและอุปกรณ์มีอาการหนัก ขอบเขตการดำเนินการก็ต้องถูกเลือกอย่างระมัดระวังตามสถานการณ์นั้น
RAID หรือการมีดิสก์หลายลูกอาจช่วยรับมือความเสียหายบางแบบ แต่ยังไม่ได้แทน backup ของการลบผิดหรือข้อมูลที่เปลี่ยนเสียตามกัน การดู SMART จึงควรเป็นส่วนหนึ่งของการดูแล ไม่ใช่เหตุให้ลดการทดสอบกู้เพราะเห็นว่าสถานะดิสก์ยังดูดี
เก็บข้อจำกัดไว้กับข้อมูลที่รายงาน
ถ้าจะเล่าผลสุขภาพของเครื่องจริง ควรเก็บรายงานต้นฉบับ รุ่นเครื่องมือ และวิธีเชื่อมต่อไว้ด้วย โดยระวังข้อมูลระบุตัวเครื่องที่ไม่จำเป็นต้องเผยแพร่ การมีเพียงภาพเปอร์เซ็นต์หนึ่งช่องอาจทำให้คนอื่นตีความเกินขอบเขตที่ตัวเลขยืนยัน
ไม่มีชุดค่าทดสอบหรือกราฟจากดิสก์จริงในบทนี้ ภาพใช้จัดลำดับสิ่งที่ต้องดู เพื่อให้เราไปเก็บข้อมูลที่ตรงกับเครื่องตัวเองต่อได้โดยไม่ต้องยืมผลของดิสก์คนละรุ่นมาตัดสินแทน
สรุป
SMART ช่วยให้เห็นข้อมูลที่ดิสก์กับเครื่องมือรายงาน แต่ต้องอ่านคู่กับตัวตน รุ่น ความหมายของค่า และเหตุการณ์ของระบบ เมื่อเก็บแนวโน้มกับขอบเขตที่ตรวจได้ไว้ชัด เราจะตั้งการแจ้งเตือนและเลือกขั้นต่อไปได้มีเหตุผลขึ้น พร้อมยังรักษา backup เป็นทางรับมือข้อมูลที่ต้องมีแยกจากการประเมินสุขภาพดิสก์ครับ


