XEN 기반 Rocky Linux 8 업데이트 후 부팅 이슈 점검

Prev Next

Xen 기반 Rocky Linux 8 VM에서 dnf(yum) update로 패키지를 전체 업데이트한 뒤, 재부팅 시 부팅되지 않고 GRUB 프롬프트로 진입하는 현상이 발생합니다.

참고

이 문제는 XEN 기반의 Rocky Linux 8 환경에서만 발생하며, 특히 8.10 버전의 최신 grub2 패키지가 설치된 경우에 나타납니다.

주의

네이버 클라우드 플랫폼에서는 OS 전체 패키지의 업데이트 수행을 권고하지 않습니다.
커널 패치나 패키지 업데이트를 진행하기 전에는 반드시 내 서버 이미지를 생성하여 충분히 검증한 후, 실제 서비스에 적용해 주시기 바랍니다.
OS 업데이트로 인해 발생하는 문제는 고객의 책임 영역이며, 이로 인해 발생한 이슈에 대해서는 기술 지원이 제공되지 않습니다.
본 가이드는 기술 지원을 위한 목적이 아니며, 고객이 스스로 문제를 해결하기 위한 참고용 가이드입니다.

문제 현상 재현 방법

  1. 서버에 원격으로 접속합니다.

  2. OS 전체 패키지를 업데이트합니다.

    참고

    Rocky Linux 8에서 dnf update는 Ubuntu OS의 apt update와 완전히 다른 명령어입니다.
    Ubuntu에서 사용하는 apt update는 OS Package Repository의 Meta 정보를 최신 상태로 갱신하는 명령어로, apt 관련 명령어를 실행하기 전에 매번 수행해야 합니다.
    dnf(또는 yum) update는 Rocky Linux OS의 전체 패키지를 최신으로 업데이트하는 명령어로, 해당 명령어를 실행하면 이전 버전으로 원복(롤백)이 어렵기 때문에, 반드시 신중하게 실행해야 합니다.

    [root@xen-rockylinux810 ~]# dnf update
    Rocky Linux 8 - AppStream                                                                                                                                          97 MB/s |  18 MB     00:00
    Rocky Linux 8 - BaseOS                                                                                                                                             80 MB/s |  24 MB     00:00
    Rocky Linux 8 - Extras                                                                                                                                            1.6 MB/s |  15 kB     00:00
    Dependencies resolved.
    ==================================================================================================================================================================================================
     Package                                               Architecture                    Version                                                           Repository                          Size
    ==================================================================================================================================================================================================
    Installing:
     kernel                                                x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              10 M
     kernel-core                                           x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              43 M
     kernel-devel                                          x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              24 M
     kernel-modules                                        x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              36 M
     kernel-modules-extra                                  x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              11 M
    Upgrading:
    ... 생략 ...
     grub2-common                                          noarch                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             897 k
     grub2-pc                                              x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                              47 k
     grub2-pc-modules                                      noarch                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             929 k
     grub2-tools                                           x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             2.0 M
     grub2-tools-extra                                     x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             1.1 M
     grub2-tools-minimal                                   x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             215 k
    
    ... 이하 생략 ...
    
  3. 업데이트 완료 후에 VM을 재부팅합니다.

    [root@xen-rockylinux810 ~]# sync;reboot
    
  4. 서버가 정상적으로 부팅되지 않는 경우, MC 콘솔에서 서버 접속 콘솔을 확인합니다.
    xen_rockylinux8_01

    xen_rockylinux8_02

grub으로 빠지는 현상을 완화하는 방법

  1. OS 전체 패키지를 업데이트(dnf update)하는 명령어를 수행하지 않습니다.
  2. 만약 grub2 패키지가 재설치되었다면, grub2-install 명령어로 GRUB을 재설치합니다.
    [root@xen-rockylinux810 ~]# grub2-install /dev/xvda
    

이미 grub으로 빠진 상태에서 OS를 부팅시키는 방법

  1. 파일 시스템이 정상 상태인지 확인합니다.
    xen_rockylinux8_03
  2. 부팅할 커널 버전 및 관련 파일을 점검합니다.
    xen_rockylinux8_04
  3. 아래의 GRUB 명령어를 입력하여 부팅을 시도합니다.
    참고

    아래 예시에서 사용할 커널은 4.18.0-553.53.1.el8_10.x86_64입니다.
    부팅이 가능한 커널이라면 해당 버전 대신 다른 버전을 선택해도 무방합니다.

    grub> set root=(hd0,msdos1)
    grub> linux /vmlinuz-4.18.0-553.53.1.el8_10.x86_64 root=/dev/xvda2 ro
    grub> initrd /initramfs-4.18.0-553.53.1.el8_10.x86_64.img
    grub> boot
    
  4. 부팅이 정상적으로 완료되면, 서버에 로그인하여 GRUB 파일을 재설치합니다.
    # grub2-install /dev/xvda
    
    MC 콘솔에서 강제 정지 버튼을 클릭하여 VM을 종료한 뒤, 다시 시작해야 운영중 상태로 전환됩니다.
  5. 위 방법으로도 부팅되지 않는 경우, 해당 VM의 스냅샷을 생성한 후, 다른 VM에 스냅샷을 마운트하여 데이터를 복사합니다.
    서버 복구 불가 시, 스냅샷을 통한 데이터 복구 방법 가이드를 참조해 주십시오.