Boot Problem on CentOS(and other Linux) After migrate Server, it shown error about UUID does not exist
Boot Problem on CentOS(and other Linux) After migrate Server, it shown error about UUID does not exist
การแก้ไขในกรณีที่ทำการ migrate server ไม่ว่าจาก Physical Server มาขึ้นเป็น VM บน Cloud หรือ ข้าม Technology แล้วไม่สามารถ Boot ใช้งานได้และแสดง error
Warning: /dev/disk/by-id/md-uuid-[long string of numbers and letters] does not exist
หรือ error อื่นๆที่เกี่ยวข้องกับ UUID
ขั้นตอนการแก้ไขมีดังนี้:
1. Boot จากไฟล์ ISO และเข้า Rescue mode โดยเลือก 3 เพื่อออกไปที่ shell
ในกรณีที่เลือก 1 การเปลี่ยนตำแหน่ง directory ให้ใช้ "cd /boot" แทน "cd /mnt/boot"
และ "cd /" แทน "cd /mnt/root" เป็นต้น
2. ตรวจสอบ disk และโครงสร้าง disk ด้วยคำสั่ง "fdisk -l" และ "lsblk"
โดยที่
/dev/sda1 /boot
/dev/sda2 /
/dev/sda3 /tmp
/dev/sda5 swap
/dev/sda6 /var
3. mount disk partition ที่เป็น root ขึ้นมา
# mkdir /mnt/root
# mount /dev/sda2 /mnt/root
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
3. ตรวจสอบค่า UUID ของ disk ด้วยคำสั่ง "blkid" ตัวอย่างเช่น
# blkid /dev/sda2 /dev/sda2: UUID="1f3785ea-8daf-42e1-8665-bc8a0fcac0f6f" TYPE="xfs"
หรือถ้าต้องการดูทั้งหมด
# blkid
4. แก้ไขไฟล์ /etc/fstab โดยใช้ค่า UUID ที่ได้จาก "lsblk" และ "blkid"
# cd /mnt/root/etc
# vi fstab
หรือ
# nano fstab
ดำเนินการแก้ไขค่า UUID ในกรณีที่ใช้ filesystem type "ext4", "xfs" รวมถึง swap
UUID=1f3785ea-8daf-42e1-8665-bc8a0fcac0f6f / xfs defaults 0 0 UUID=f0efa4e8-8f54-47a6-a841-d271bde620c4 /boot xfs defaults 0 0 UUID=9456ce38-15a7-4ad3-9f83-30a67a326e67 swap swap defaults 0 0 UUID=d44d622e-0d3d-4a0d-8489-4eff50c1e661 /tmp xfs defaults 0 0 UUID=22bd8b4e-dc70-4139-81bc-f4ee076d7eff /var xfs defaults 0 0
5. แก้ไขไฟล์ /etc/default/grub
# cd /mnt/root/etc/default
# vi grub
ไปยังบรรทัดที่มี GRUB_CMDLINE_LINUX อยู่ และดำเนินการเปลี่ยนค่าแรกสำหรับ UUID ของ root และอีกค่าสำหรับ UUID ของ swap
6. ทุกครั้งที่ดำเนินการเปลี่ยน /etc/default/grub จะต้อง update ข้อมูลในไฟล์ /boot/grub2/grub.cfg ทุกครั้ง (ห้ามแก้ไขไฟล์นี้โดยตรง)
# cd /mnt/boot/grub2
# cp -p grub.cfg grub.cfg-ddmmyyyy
# grub2-mkconfig > grub.cfg
7. ตรวจสอบความถูกต้องของค่า UUID ในไฟล์ /boot/grub2/grub.cfg
# more grub.cfg
8. umount boot and root
# cd /
# umount /mnt/boot
# umount /mnt/root
9. Reboot Server เพื่อใช้งาน
# Shutdown -r now
หรือ
# reboot

No comments: