Warning: ksort() expects parameter 1 to be array, object given in /home/host4/public_html/blog/wp-content/plugins/bbpress/includes/core/template-functions.php on line 316
เหตุเกิดเมื่อ CentOs เจอ Kernal panic! หลังจากการทำ fsck | Host4thai.com
Image Image Image Image Image Image Image Image Image Image

Host4thai.com | September 25, 2018

Scroll to top

Top

No Comments

เหตุเกิดเมื่อ CentOs เจอ Kernal panic! หลังจากการทำ fsck

เหตุเกิดเมื่อ CentOs เจอ Kernal panic! หลังจากการทำ fsck
admin
  • On 30 November, 2013

เหตุการณ์นี้เกิดขึ้นเมื่อไม่กี่วันที่ผ่านมาครับ เล่นเอาหัวใจหล่นไปที่ตาตุ่ม เมื่ออยู่ๆวันนึงสั่งรันคำสั่งอะไร ก็รู้สึกว่าเครื่องช้าไปหมด พอรัน top ดูก็เห็นว่า %io ขึ้นมากกว่าปกติเฉลี่ยคือ 30% ตอนแรกรู้สึกแปลกใจ พอทิ้งไว้สักพักเครื่องก็ช้าลงๆ

ผมเลยตัดสินใจ reboot ซักหนึ่งครั้ง เพราะโดยปกติเครื่อง Linux เมื่อ reboot ใหม่จะทำการ auto check disk เองอัตโนมัติ แต่ครั้งนี้เหมือนจะปกติ ไม่มีการเช็คเจอ error แต่เมื่อรันคำสั่ง top ดู กว่าจะขึ้นหน้า process ก็ช้าเหมือนเดิม และ io ก็สูงกว่าปกติ ผมเลยคิดว่าสงสัย Harddisk จะไปซะแล้ว และยังคิดในใจว่าดีนะ เครื่องเราทำ Raid 5 ไว้ ไม่น่ามีปัญหาอะไร

คราวนี้ก็เลยตัดสินใจรัน fsck ตามปกติ แต่….. ปรากฎว่า!  มีข้อความทำนองว่า “bad system magic”
ลางสังเห่าทำงานทันที ขนลุกไปทั้งตัว เห็นอนาคตดับวูบรำไร เกิดอาการอึ้งไป 10 วิ พอตั้งสติได้ก็ ลอง reboot เอาน่ะ เผื่อสวรรค์มีตา แต่เจ้ากรรมอาฆาตแรงกว่า command ไม่รู้จักคำสั่ง shutdown ครานี้เจ้งแน่ๆ ของจริง!

ผมเลยต้องทำการ reboot ด้วยมือ และในใจคิดว่า ตายๆๆๆๆๆๆๆ แบคอัพก็อยู่ใน raid นี่ด้วย สงสัยจะเป็นคราวซวยแห่งปี (ขออภัยที่ใช้คำไม่สุภาพ แต่มันอารมณ์นี้จริงๆครับ) ผลที่ได้ ฮ่าๆๆๆ ตามคาด เจอเข้าเต็มๆตามที่ลางสังเห่าทำงาน “Kernal panic” ข้อความจากอดีตตามมาหลอกหลอน ณ บัดดล

จากประสบการณ์ที่สั่งสมมา เมื่อเจอข้อความนี้ สมองประมวลผลได้ว่า Format ลงใหม่ลูกเดียว ครานี้ถึงกับจะไข้ขึ้น สมองกำลังหยุดสั่งการ เสียงโทรศัพท์ก็ดังขึ้นตามสเตปครับ ลูกค้านับสิบๆราย ทั้ง Hosting, VPS มาครบทีม รับโทรศัพท์และยังไม่มีคำตอบว่า เครื่องจะกลับมาใช้งานได้เมื่อไหร่ ในที่สุดเสียงโทรศัพท์ก็หยุดดังชั่วคราว คราวนี้สมองหยุดทำงานหนักกว่าเดิม เลยต้องโทรหาเพื่อนๆ เมื่อปรึกษา และก็คำตอบตามที่หวังไว้คือ “ต้องลงใหม่ครับ” ความหวังดับวูบอีกครั้งเมื่อนึกถึงภาพในอนาคต สุดท้ายต้องกลับมาใช้ไม้ตายที่อาจไม่เหมือนใครคือ… นอนพักก่อนซัก 10 นาที

ผมตื่นขึ้นมาอีกครั้ง แม้ว่าจะนอนไม่ค่อยหลับ แต่ก็ทำให้สมองได้รับออกซิเจนพอควร และคิดว่ามันต้องมีทางซิ เลยไม่สนกับคำพูดของเพื่อน และค้นๆๆๆๆ ถามลูกพี่ goo ถามแล้วถามอีก ลูกพี่ก็แนะนำให้ลองอ่านที่นั่นที่นี่ดู อ่านไปอ่านมาเกือบ 30 เว็บก็ยังไร้วี่แววหนทาง มีแต่คำตอบว่า format อย่างเดียว

แต่เหมือนเจ้ากรรมจะยอมอโหสิให้ ในที่สุดก็ได้มาเจอเว็บนึง แนะนำว่าบางครั้งอาการ Kernal panic ก็แก้ไขได้ ผมก็เลยตามอ่านไปเรื่อยๆ และก็พบว่า บางทีสาเหตุเกิดจาก File system มีปัญหา ซึ่งมันมีการสะสมมานาน เพราะเครื่องนี้เปิดมาเกือบ 3 ปีไม่เคย reboot เลยแม้แต่ครั้งเดียว และก็ได้ความรู้เพิ่มเติมว่าเมื่อ File system มีปัญหาก็จะทำให้ ค่าต่างๆที่อยู่ใน /etc/fstab นั้นไม่สามารถอ่านได้ เลยทำให้มองไม่เห็นว่า Device ให้เป็น Partition อะไร และเมื่อเข้าใจว่าปัญหาเกิดจากอะไรแล้ว ก็เลยตั้งสติในการจัดการแก้ไข เพราะหากทำอะไรผิดไปอาจทำให้ ไม่สามารถกู้ข้อมูลกลับมาได้อีกเลย แบบว่าเสียวจริงๆ

ขั้นตอนในการแก้ไขของผมคือ

  1. ใส่แผ่น Install Linux หรือหากไม่มีก็ใช้แผ่น Live CD แทนก็ได้
  2. เข้าสู่โหมด rescue (โดยปกติหาก file system ไม่มีปัญหาเมื่อบูตเสร็จระบบจะแมพไปที่ /mnt/sysimage)
  3. โชคไม่เข้าข้างเพราะ File system เสียเลยแมพไม่ได้ แต่ไม่เป็นไรลอง mount ดู
  4. mount ไปที่ sda1, sda2 ได้ แต่ sda3 ที่เป็น partition ใหญ่สุดคือ 1.5TB เพราะออกแบบไว้สำหรับเก็บข้อมูล เช่น home และ etc ก็อยู่ในนี้ด้วยเช่นกัน แต่ไม่สามารถ mount ได้
  5. เหมือนโดนสับขาหลอก เพราะเมื่อรันคำสั่ง mount แล้วแต่มี error ว่า “invalid argument” โดยหากอ่านดูผ่านๆ จะเข้าใจว่า เราใช้คำสั่งและพารามิเตอร์ผิด แต่เอ ทำไม sda1 กับ sda2 ได้ล่ะ
  6. กลับไปอ่านข้อความจากที่พี่ goo แนะนำต่อ ได้ใจความว่า partition นั้นอาจเสียให้ลองรันคำสั่ง fsck ดูอีกที
  7. ชักไม่แน่ใจว่า วิธีการนี้จะถูกต้อง เพราะก่อนหน้านี้ รันคำสั่งนี้ ก็เลยเป็นแบบนี้ คราวนี้ก็เลยกลัวไปใหญ่ ไม่กล้าทำอะไรต่อ
  8. โทรไปสอบถามเพื่อนดูอีกทีเพื่อความแน่ใจ เมื่อได้คำตอบเกี่ยวกับคำสั่ง fsck แล้วก็ถึงเวลาสำคัญที่จะต้องตัดสินใจ ลุยเลยดีกว่า เพราะไม่มีอะไรจะเสียแล้ว
  9. ผลที่ได้….. ลุ้นๆๆๆ และก็เริ่มมีความหวัง ผลการรันพบปัญหาที่ inode และต้องทำการ fixed โดยการกดปุ่ม Enter
  10. กดไปเรื่อยๆ เรื่อยๆ แล้วก็เรื่อยๆ แบบว่า 1.5TB นี่เยอะจริงๆ กดจนต้องกดค้าง ซักพักก็ยังไม่เสร็จ…. สุดท้าย ใช้เทปกาวแปะติดซะเลย
  11. ผ่านไปเกือบ 3 ชม. เรื่องจริงครับ ระบบยัง fixed ไม่เสร็จเลย แต่ก็มีความหวังอยู่ ที่เหลือคือความอดทด
  12. สุดท้าย ก็สามารถ fixed และ clear จนเสร็จ และเมื่อเสร็จแล้ว เพื่อความแน่ใจ ผมเลยรัน fsck อีกครั้ง แต่ความนี้ตรวจเจอ error ที่ partition อื่นคือ boot และ tmp แล้วก็ fixed อีกครั้ง เสร็จแล้วขอก็ ขออีกซักที รัน fsck แต่คราวนี้ผ่านฉลุย ไม่พบปัญหาแล้ว
  13. reboot เครื่องแล้วมาลุันกัน
  14. ผลที่ได้คือ ทุกอย่างกลับมาเป็นปกติเหมือนเดิม Kernal panic หายไป และเมื่อบูทเสร็จและก็สามารถล๊อกอินได้ตามปกติ ผมเลยลอง top ดู ปรากฎว่า io เหลือ 0.2% จาก 30%


บทเรียนที่ได้รับในครั้งนี้

  • หากคิดอะไรไม่ออก ให้พักผ่อนให้เพียงพอเช่นการนอนซักพัก
  • สอบถามเพื่อนๆผู้รู้ แต่อย่าปักใจเชื่อทุกอย่าง ควรนำมาเป็นแนวทางในการแก้ปัญหา
  • ถามพี่ goo ได้เลย เพราะปัญหาที่เราเพิ่งเจอ แต่คนอื่นเจอมาก่อนเราทั้งสิ้น
  • ที่สำคัญสำหรับผู้ดูแล ภาษาอังกฤษ เป็นสิ่งสำคัญครับ เพราะหลายๆคนที่เคยมาถามผม เมื่อแนะนำไปก็มีคำถามกลับมาว่า ไม่มีเว็บที่สอนเป็นภาษาไทยเหรอครับ
  • สุดท้าย ทุกปัญหามีทางแก้ แต่ต้องมีสตินะครับ

หวังว่าคงเป็นประโยชน์ไม่มากก็น้อยนะครับ 🙂

Submit a Comment