11 November 2014

fsck ใช้ผิด คิดจนตัวตาย

เป็นเรื่องปกติที่ Linux server ที่ Online กันหน้าสลอนแบบใช้ Hard-disk ระบบเดิมๆ เริ่มจะทยอยอำลาโลกไปบ้างแล้ว โดยมูฃเหตุของข้อผิดพลาดที่ทำให้ระบบ File system ของ Linux มีปัญหาก็มาจากปัญหาด้าน Hardware เป็นส่วนใหญ่ บ้งก็เกิดจากระบบ Shutdown เพราะ Power supply เสีย, อีกกรณีหนึ่งก็มักจะมาจาก Memory เกิดมีปัญหาระหว่างทำงาน ทำให้ Linux เขียนข้อมูลผิดๆลงไปใน Disk

Maintenance root password prompt when file system has more error
ส่วน Server เจ้าปัญหาของผมนั้นเริ่มจาก SMTP ธรรมดา แต่สาย SATA เจ้ากรรมดันเก่าและหลุดจาก Disk ในระหว่างเครื่องทำงานอยู่ ส่งผลให้ไฟล์ที่เขียนเสียโดยทันที และระบบก็ Boot ไม่ผ่านแม้จะแก้ไขแล้ว

ซึ่งเป็นธรรมดาถ้าระบบ File System ของ Linux เสียหายหรืออ่าน Superblock ไม่ได้ ระบบจะหยุด boot และเข้า Recovery โดยทางผู้ใช้ต้องใส่รหัส Admin เอง

ข้อความด้านล่างต่อไปนี้ ให้ข้อสรุปสั้นๆเลย ห้ามตอบ Yes

[root@sites ~]# fsck -v /dev/mapper/VolGroup00-LogVol00
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
/dev/mapper/VolGroup00-LogVol00 is mounted.

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)?

เพราะผลที่ได้คือ File system เสียหายไปจากเดิมมาก เพราะในระหว่างที่ System ทำงานอยู่ ก็มีการเขียน Disk จาก Process อื่นอยู่ด้วย

ข้อควรจำ
  • หากจำเป็นต้องทำ fsck ควรใช้แผ่น Boot หรือ Live CD ในการ boot เพื่อซ่อม Disk เสมอ เป็นภาคบังคับ
  • หากต้องการตรวจสอบความเสียหาย ควรใช้ parameter -n ตามหลัง (ตัวอย่าง fsck -n /dev/fs0) เพื่อดึงเอา Error มาพิจารณาก่อน
เขียนไว้เตือนตัวเองและท่านอื่น อย่าทำประวัติศาสตร์ซ้ำรอยอีกน่ะ

Written by Tiwakorn Laophulsuk

No comments:

Post a Comment

Give a comment ...