บทนำ
บทความนี้อธิบายวิธีแก้ไขปัญหา Linux VM ที่เข้า Emergency Mode หลังจาก Migrate มาที่ Sangfor HCI หรือหลังจากติดตั้ง vmTools สาเหตุเกิดจากชื่อ Disk Device เปลี่ยนจาก /dev/sdX เป็น /dev/vdX (VirtIO Disk) ทำให้ไฟล์ /etc/fstab อ้างอิง Disk ผิด
ข้อกำหนดเบื้องต้น
- สิทธิ์ Root หรือ Sudo ใน Linux VM
- ความรู้พื้นฐานเกี่ยวกับการแก้ไขไฟล์ /etc/fstab
อาการของปัญหา
หลังจาก Migrate VM จากที่อื่นมาที่ HCI หรือหลังจากติดตั้ง vmTools แล้ว พบว่า Linux VM ไม่สามารถ Boot ได้ และเข้าหน้า Emergency Mode
ขั้นตอนการดำเนินการ
ขั้นตอนที่ 1: ตรวจสอบชื่อ Disk ปัจจุบัน
เข้า Command Line ของ Linux (ผ่าน Emergency Mode) แล้วใช้คำสั่ง lsblk เพื่อดูชื่อ Disk Device ปัจจุบัน
ขั้นตอนที่ 2: ตรวจสอบไฟล์ /etc/fstab
ใช้คำสั่ง cat /etc/fstab เพื่อเปรียบเทียบว่าไฟล์ fstab อ้างอิง Disk Device ชื่อตรงกับชื่อจริงหรือไม่ จะพบว่าชื่อไม่ตรงกัน
สาเหตุ: ก่อนหน้านี้ชื่อ Disk บน Linux เป็น /dev/sda หรือ /dev/sdb ตามลำดับ แต่เมื่อติดตั้ง vmTools แล้ว Disk จะเปลี่ยนเป็น VirtIO Disk และเปลี่ยนชื่อเป็น /dev/vda หรือ /dev/vdb ตามลำดับ
ขั้นตอนที่ 3: แก้ไขไฟล์ /etc/fstab
ใช้คำสั่ง vi /etc/fstab (หรือ Text Editor อื่น ๆ ที่สะดวก) เพื่อแก้ไขชื่อ Disk Device ให้ถูกต้อง เช่น แก้ /dev/sdb1 เป็น /dev/vdb1
ขั้นตอนที่ 4: Reboot VM
หลังจากแก้ไขไฟล์ fstab แล้ว ให้ทำการ Reboot VM
การตรวจสอบผลลัพธ์
ตรวจสอบว่า Linux VM สามารถ Boot เข้า OS ได้ปกติโดยไม่เข้า Emergency Mode อีก และ Disk ทั้งหมดถูก Mount อย่างถูกต้อง
หมายเหตุ
- ปัญหานี้เกิดจากการเปลี่ยน Disk Driver จาก IDE/SCSI เป็น VirtIO ทำให้ชื่อ Device เปลี่ยนจาก sdX เป็น vdX
- แนะนำให้ใช้ UUID แทนชื่อ Device ใน /etc/fstab เพื่อป้องกันปัญหานี้ในอนาคต
- ต้องแก้ไขชื่อ Disk ทุก Entry ใน fstab ที่อ้างอิงแบบ /dev/sdX ให้เป็น /dev/vdX
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น