본문 바로가기
IT/Proxmox

[Proxmox] 커널 패닉 해결: 부팅 오류 트러블슈팅 완벽 가이드

by 수누다 2026. 4. 15.

Proxmox 업데이트 후 커널 패닉, 저도 당해봤습니다

주말 오전, 느긋하게 커피 한 잔 마시면서 Proxmox VE 업데이트를 돌렸습니다. 뭐, 늘 하던 거니까요. apt update && apt dist-upgrade 치고 재부팅 눌렀는데... 부팅 화면이 멈추더니 화면 가득 빨간 글씨가 쏟아졌습니다. Kernel Panic(커널 패닉)이었습니다.

그 순간 머릿속이 하얘지는 느낌, 혹시 경험해보셨나요? 홈랩이라 다행이었지만, 만약 업무 서버였다면 진짜 식은땀 날 뻔했습니다. 13년 동안 인프라 엔지니어로 일하면서 Proxmox 커널 패닉은 몇 번 봤지만, 업데이트 직후에 이런 일이 생긴 건 처음이었거든요.

이 글은 그날의 삽질 기록입니다. Proxmox 커널 패닉 발생 원인부터 실제 복구 과정까지, 제가 직접 해결한 방법을 순서대로 정리해 드릴게요. Proxmox 업데이트 오류Proxmox 부팅 문제로 지금 당장 막혀 계신 분들께 도움이 됐으면 좋겠습니다.

Proxmox 커널 패닉 부팅 오류 화면과 복구 흐름 개요 다이어그램

▲ Proxmox 업데이트 후 커널 패닉이 발생하는 상황과 복구 흐름을 나타낸 개요 다이어그램


커널 패닉(Kernel Panic)이 뭔지 먼저 짚고 넘어갈게요

쉽게 말해서, 커널 패닉은 리눅스 운영체제의 핵심인 커널이 더 이상 안전하게 실행될 수 없는 치명적인 오류를 만났을 때 스스로 멈춰버리는 현상입니다. Windows로 치면 블루스크린(BSOD)이랑 비슷하다고 보시면 돼요.

Proxmox 부팅 문제를 야기하는 커널 패닉의 원인은 크게 세 가지입니다.

  • 새 커널과 드라이버/모듈 충돌: 업데이트로 새 커널이 설치됐는데, 기존 ZFS나 GPU 드라이버 모듈이 새 커널 버전에 맞게 다시 빌드되지 않은 경우
  • initramfs(초기 램 파일시스템) 손상 또는 미갱신: 부팅에 필요한 초기 파일시스템이 새 커널에 맞게 업데이트되지 않은 경우
  • VFS(Virtual File System, 가상 파일시스템) 마운트 실패: 루트 파티션을 찾지 못하거나 마운트에 실패하는 경우 — 이게 바로 Proxmox VFS 에러의 주범입니다

제가 겪은 경우는 세 번째였어요. 화면에 VFS: Unable to mount root fs on unknown-block(0,0) 라는 메시지가 찍혔거든요. 이 메시지 보이면 initramfs 쪽 문제라고 거의 확신하셔도 됩니다.

자주 등장하는 Proxmox 커널 패닉 오류 메시지 정리

오류 메시지 의미 주요 원인
VFS: Unable to mount root fs 루트 파일시스템 마운트 실패 initramfs 손상, 잘못된 UUID
Kernel panic - not syncing: No working init found init 프로세스 실행 불가 루트 파티션 손상, 경로 오류
end Kernel panic - not syncing: Fatal exception 치명적 예외 발생 드라이버/모듈 비호환
ACPI Error 동반 패닉 ACPI 하드웨어 인터페이스 오류 커널 업데이트 후 ACPI 비호환

1단계: 일단 이전 커널로 부팅해서 숨부터 쉬기

패닉 상태에서 제일 먼저 해야 할 일은 이전 커널로 임시 부팅하는 겁니다. Proxmox는 기본적으로 업데이트해도 이전 커널을 지우지 않고 남겨두거든요. 이게 얼마나 다행인지 모릅니다.

GRUB 메뉴에서 이전 커널 선택하기

  1. 서버를 재부팅합니다.
  2. 부팅 시 GRUB 메뉴가 나타날 때까지 기다립니다. (안 보이면 재부팅 직후 Shift 키나 Esc 키를 연타하세요)
  3. "Advanced options for Proxmox VE GNU/Linux" 항목을 선택합니다.
  4. 현재 패닉을 일으키는 최신 커널 바로 아래 항목 (이전 버전 커널)을 선택합니다.
  5. 정상 부팅되는지 확인합니다.

이전 커널로 정상 부팅됐다면 절반은 해결된 겁니다. 이제 차분하게 원인을 찾아볼 수 있어요. 💡 팁: GRUB 메뉴 타임아웃이 너무 짧아서 못 잡겠다면, 일단 이전 커널로 부팅 후 /etc/default/grub에서 GRUB_TIMEOUT 값을 늘려두세요.

# /etc/default/grub 파일 편집
sudo nano /etc/default/grub

# 아래 값을 5 -> 10 정도로 변경
GRUB_TIMEOUT=10

# 저장 후 grub 업데이트
sudo update-grub

2단계: 문제 커널의 initramfs 재생성하기

이전 커널로 부팅에 성공했다면, 이제 문제가 된 새 커널의 initramfs(초기 램 파일시스템)를 다시 만들어줄 차례입니다. 이게 핵심이에요.

Proxmox initramfs 재생성 및 커널 복구 과정 흐름도

▲ initramfs 재생성 및 커널 모듈 재빌드를 통한 Proxmox 부팅 복구 과정 흐름도

현재 설치된 커널 버전 확인

# 설치된 모든 커널 목록 확인
dpkg --list | grep linux-image

# 또는
ls /boot/vmlinuz*

출력 예시를 보면 이런 식으로 나옵니다:

/boot/vmlinuz-6.2.16-20-pve   ← 이전 커널 (지금 부팅된 것)
/boot/vmlinuz-6.5.13-5-pve    ← 새 커널 (패닉 유발)

문제 커널용 initramfs 강제 재생성

# 문제가 된 새 커널 버전으로 initramfs 재생성
# 버전은 위에서 확인한 새 커널 버전으로 교체하세요
sudo update-initramfs -u -k 6.5.13-5-pve

# 모든 커널에 대해 한꺼번에 재생성하려면
sudo update-initramfs -u -k all

명령어 실행 후 에러 없이 완료되면 GRUB도 한 번 갱신해줍니다.

sudo update-grub

그리고 재부팅해서 새 커널로 정상 부팅되는지 확인해보세요. 저는 이 단계에서 해결됐습니다. 🎉

그래도 안 된다면? ZFS 모듈 재빌드

Proxmox의 기본 스토리지인 ZFS(제트파일시스템)를 사용 중이라면, 새 커널에 맞게 ZFS DKMS(동적 커널 모듈 지원) 모듈이 재빌드되지 않아서 Proxmox 부팅 문제가 생길 수 있어요. 이럴 때는 이렇게 해보세요.

# DKMS 모듈 상태 확인
dkms status

# ZFS 모듈 강제 재빌드 (버전은 환경에 맞게)
sudo dkms autoinstall -k 6.5.13-5-pve

# 또는 ZFS 패키지 재설치
sudo apt install --reinstall zfs-dkms

# 재빌드 후 initramfs 다시 생성
sudo update-initramfs -u -k all
sudo update-grub

3단계: 그래도 해결 안 될 때 — Proxmox 복구 모드 진입

이전 커널로도 부팅이 안 되는 최악의 상황이라면 Proxmox 복구 모드를 써야 합니다. 사실 저도 처음엔 이 방법을 잘 몰라서 당황했었는데요, 알고 나면 별거 아니에요.

Proxmox ISO로 Live 복구 환경 만들기

  1. Proxmox VE 공식 사이트에서 설치 ISO를 다운로드합니다.
  2. USB 부팅 디스크를 만듭니다. (Rufus, Balena Etcher 등 활용)
  3. 서버를 USB로 부팅합니다.
  4. 설치 화면에서 "Advanced Options" → "Rescue Boot"를 선택합니다.

복구 환경에서 chroot로 시스템 접근하기

Rescue Boot 환경에 들어오면 실제 디스크에 마운트해서 작업해야 합니다. chroot(체인지루트)는 특정 디렉터리를 루트(/)로 바꿔서 그 환경 안에서 명령어를 실행하게 해주는 기능이에요.

# 루트 파티션 확인 (장치명은 환경마다 다름)
lsblk
fdisk -l

# 루트 파티션 마운트 (예: /dev/sda3 또는 ZFS의 경우 다름)
sudo mount /dev/sda3 /mnt

# ZFS 루트풀 사용 시
sudo zpool import -f rpool
sudo mount -t zfs rpool/ROOT/pve-1 /mnt

# 필수 가상 파일시스템 바인드 마운트
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

# chroot 진입
sudo chroot /mnt

# 이제 실제 Proxmox 환경처럼 명령어 실행 가능
update-initramfs -u -k all
update-grub

# 작업 완료 후 chroot 탈출 및 재부팅
exit
reboot

⚠️ 주의: ZFS 루트풀을 사용하는 경우 마운트 방식이 일반 ext4와 다릅니다. zpool import 전에 zpool status로 풀 이름을 먼저 확인하세요.


4단계: 근본 원인 파악 — 로그로 정확히 짚어내기

복구 후에는 왜 이런 일이 생겼는지 꼭 확인해둬야 합니다. 다음에 또 같은 일이 생겼을 때 빠르게 대처할 수 있거든요.

Proxmox 커널 패닉 로그 분석 및 오류 원인 진단 화면

▲ Proxmox 시스템 로그와 커널 패닉 원인 분석 화면 예시

부팅 로그 확인

# 커널 로그 확인 (부팅 관련 메시지)
journalctl -k --boot=-1

# 또는 dmesg로 확인
dmesg | grep -i "error\|fail\|panic"

# 패키지 업그레이드 로그 확인
cat /var/log/dpkg.log | grep "linux-image"

# apt 히스토리 확인
cat /var/log/apt/history.log | tail -50

Proxmox 업데이트 전 안전하게 하는 방법

이번 사고를 겪고 나서 저는 업데이트 루틴을 좀 바꿨습니다. 혹시 도움이 될까 해서 공유해요.

  • 업데이트 전 스냅샷 필수: VM이나 컨테이너는 물론, 가능하면 Proxmox 호스트 자체도 ZFS 스냅샷 찍어두기
  • 커널 업데이트 시 이전 커널 보존 확인: dpkg --list | grep linux-image로 이전 커널이 남아있는지 확인
  • 업데이트 후 즉시 재부팅 전 DKMS 상태 확인: dkms status로 모든 모듈이 정상 빌드됐는지 체크
  • Proxmox 공식 엔터프라이즈 저장소 vs 무료 저장소 구분: 무료 저장소(pve-no-subscription) 사용 시 업데이트 전 커뮤니티 이슈 트래커 확인
  • ⚠️ 커널 자동 업데이트 주의: unattended-upgrades 설정이 있다면 커널 업데이트는 수동으로 제어하는 걸 권장합니다
# 업데이트 전 ZFS 스냅샷 예시
sudo zfs snapshot rpool/ROOT/pve-1@before-update-$(date +%Y%m%d)

# 스냅샷 목록 확인
zfs list -t snapshot

트러블슈팅 요약: 상황별 빠른 대처법

상황 해결 방법 핵심 명령어
이전 커널로 부팅 가능 initramfs 재생성 update-initramfs -u -k [버전]
ZFS 모듈 오류 동반 ZFS DKMS 재빌드 dkms autoinstall -k [버전]
이전 커널로도 부팅 불가 ISO Rescue Boot + chroot chroot /mnt
VFS 마운트 실패 오류 initramfs 재생성 + UUID 확인 blkid, cat /etc/fstab
드라이버 모듈 비호환 해당 모듈 패키지 재설치 apt install --reinstall [패키지명]
Proxmox 커널 패닉 복구 후 정상 부팅 및 웹 관리 콘솔 정상 작동 화면

▲ Proxmox 커널 패닉 복구 완료 후 정상 부팅 및 웹 관리 콘솔 접속 성공 화면


자주 묻는 질문 (FAQ)

Q. Proxmox 커널 패닉 후 VM 데이터는 괜찮을까요?

네, 안심하셔도 됩니다. 커널 패닉은 Proxmox 호스트 OS의 문제고, VM/컨테이너 데이터는 별도 스토리지(ZFS 풀, LVM 등)에 저장되기 때문에 영향받지 않습니다. 다만 비정상 종료로 인한 파일시스템 체크는 해보시는 게 좋아요.

Q. 업데이트 후 항상 Proxmox 부팅 문제가 생기나요?

아니요, 대부분의 경우엔 아무 문제 없이 업데이트됩니다. 특히 ZFS DKMS나 서드파티 드라이버(GPU 패스스루 등)를 사용하는 환경에서 발생 빈도가 좀 더 높은 편이에요.

Q. 특정 커널 버전으로 고정하고 싶어요.

가능합니다. apt-mark hold로 특정 패키지를 업데이트 대상에서 제외할 수 있어요.

# 특정 커널 버전 고정 (업데이트 제외)
sudo apt-mark hold proxmox-kernel-6.2.16-20-pve

# 고정 해제
sudo apt-mark unhold proxmox-kernel-6.2.16-20-pve

# 고정된 패키지 목록 확인
apt-mark showhold

Q. GRUB 메뉴가 아예 안 보여요.

기본 설정에서 GRUB 타임아웃이 0이거나 숨겨져 있을 수 있습니다. 재부팅 직후 Shift 키(BIOS 모드) 또는 Esc 키(UEFI 모드)를 빠르게 연타해보세요. 그래도 안 되면 위에서 설명한 ISO 복구 방법을 사용하셔야 합니다.


마무리: 이번 삽질에서 배운 것들

솔직히 말하면, 13년 경력에 이런 기본적인 것(initramfs 재생성)으로 한 시간 넘게 삽질한 게 좀 창피하기도 했습니다. 근데 또 이런 경험이 쌓여서 나중에 훨씬 빠르게 대처할 수 있게 되는 거더라고요.

Proxmox 커널 패닉 해결의 핵심을 정리하면 이렇습니다.

  • 💡 Proxmox 커널 패닉의 70% 이상은 initramfs 재생성으로 해결됩니다
  • 💡 이전 커널이 남아있는 한, GRUB에서 롤백이 가능합니다
  • 💡 ZFS 환경이라면 DKMS 모듈 재빌드도 함께 확인하세요
  • 💡 Proxmox 업데이트 전 스냅샷은 선택이 아니라 필수입니다

다음 글에서는 Proxmox에서 ZFS 스냅샷을 자동화하는 방법을 다룰 예정입니다. 이번처럼 업데이트 전 백업을 까먹지 않으려면 자동화가 답이거든요. 기대해주세요!

혹시 이 글에서 해결 안 된 케이스가 있으시면 댓글로 남겨주세요. 제가 아는 범위에서 최대한 도움 드리겠습니다. 🙂