Skip to content
신선한 자몽 농장
Go back

Proxmox VE 8 → 9 업그레이드와 안일했던 과거의 나

개요

Proxmox VE는 평소 VM만 들여다보고 하이퍼바이저 자체는 거의 신경 쓰지 않는 편이었다. 오랜만에 웹 콘솔에 접속하니 다음과 같은 공지가 떠 있었다.

Proxmox VE 8이 2026년 08월에 종료됩니다.

PVE 8 EOL 공지였다. 운영 중인 서버를 PVE 8.3에서 최신 패치까지 올린 뒤 PVE 9로 메이저 업그레이드를 진행하기로 했다.

단순한 버전 업그레이드로 끝날 줄 알았지만, 업데이트 도중 웹 UI와 SSH 접속이 동시에 끊기는 장애가 발생했다. 원인을 추적하다 보니 기존에 인지하지 못했던 ext4 파일시스템 손상이 뿌리였다. fsck로 복구한 뒤에야 PVE 9까지 무사히 올릴 수 있었다.


기존 환경

pve-manager/8.3.3
Kernel 6.8.12-4-pve

Repository부터 막혔다

apt update
The repository no longer has a Release file

IPv6로 기존 Repository에 접근하면서 Release 파일을 찾지 못하는 문제였다. Community Repository를 다시 등록하니 해결됐고, 이후 apt update 결과 200개 이상의 패키지가 업데이트 대상으로 잡혔다.


업데이트 도중 접속이 끊겼다

패키지 업데이트 중 다음 오류가 발생했다.

Input/output error
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

곧이어

상태가 이어졌다. ICMP(Ping)만 정상 응답하고 있었다. 처음에는 nginx, pveproxy, 웹 Shell 쪽을 의심했지만 전부 근본 원인은 아니었다.


원인: ext4 파일시스템 손상

콘솔로 직접 붙어보니 다음 메시지가 출력되고 있었다.

UNEXPECTED INCONSISTENCY
RUN fsck MANUALLY

ext4 메타데이터가 손상되어 Root Filesystem이 Mount조차 되지 않는 상태였다. fsck를 수행하자 orphan inode, bitmap 오류, directory entry 오류가 다수 발견됐고 모두 복구했다. 복구 후 Root Filesystem이 정상 Mount되며 부팅에 성공했다.


SSD 불량은 아니었다

NVMe SSD 불량을 먼저 의심했지만 SMART 결과는 문제가 없었다.

SMART overall-health: PASSED
Critical Warning: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Percentage Used: 1%

물리적 결함은 아니라는 뜻이었다. 이번 손상은 SSD 문제라기보다, 이전부터 잠재해 있던 ext4 메타데이터 손상이 업데이트 과정에서 겉으로 드러난 것으로 보였다.


깨진 패키지 복구

파일시스템 복구 후에도 pve-firmware 패키지가 half-installed 상태로 남아 있었다.

dpkg --configure -a
apt -f install
apt install --reinstall pve-firmware

이후 dpkg --audit 결과가 정상으로 돌아왔다.


PVE 9 업그레이드 준비

공식 체크 도구를 먼저 돌렸다.

pve8to9

systemd-boot, Bootloader, Repository 관련 경고가 여럿 나왔다. 하나씩 수정한 뒤 다시 실행하니 FAILURES: 0으로 준비가 끝났다.


Debian Trixie로 저장소 전환

메이저 업그레이드를 위해 Debian 저장소를 Bookworm에서 Trixie로, Proxmox Repository도 trixie 브랜치로 바꿨다.

apt update
apt policy

Debian, Debian Security, Proxmox 모두 Trixie 저장소를 쓰는 것을 확인했다.


업그레이드 실행

apt full-upgrade

systemd, libc, qemu, pve-manager, kernel 등 수백 개 패키지가 교체됐다. 설정 파일 충돌은 대부분 기존 설정 유지로 선택했다. 마지막에 Setting up proxmox-ve (9.2.0) 메시지가 뜨며 설치가 끝났다.

재부팅 직후 콘솔 커서가 잠깐 멈춰 있어 불안했지만, 잠시 후 GRUB 메뉴가 정상 출력되고 새 커널로 부팅됐다.


결과 확인

pveversion
pve-manager/9.2.4

uname -r
7.0.14-3-pve

systemctl --failed
0 loaded units listed

모든 서비스가 정상 기동 중이었다.


추가로 처리한 것

AMD Microcode를 함께 설치했다.

apt install amd64-microcode

Windows VM에서는 다음 경고가 떴다.

EFI disk without 'ms-cert=2023k'

PVE 9부터 Microsoft Secure Boot 2023 인증서를 권장하기 때문이다. BitLocker를 쓰지 않는다면 Hardware → EFI Disk → Disk Action → Enroll Updated Certificates로 해결된다.


핵심 요약

문제원인해결
Release file 없음IPv6로 Repository 접근 실패Community Repository 재등록
웹 UI/SSH 전체 다운ext4 메타데이터 손상fsck 복구
pve-firmware half-installed파일시스템 손상 여파재설치 + dpkg --configure -a
pve8to9 경고Bootloader/Repository 설정하나씩 수정 후 재검사
EFI 경고(Windows VM)Secure Boot 인증서 미갱신Enroll Updated Certificates

단순 버전 업그레이드인 줄 알았는데, 막상 열어보니 오래전부터 곪아있던 파일시스템 손상까지 같이 처리하게 됐다. SMART는 멀쩡했으니 디스크 탓은 아니고, 언젠가 터질 문제가 이번 업그레이드를 계기로 먼저 드러난 셈이다.

이번 일로 확실히 배운 건 하나다. 메이저 업그레이드 전에는 VM 백업, pve8to9 경고 전부 해소, 웹 Shell 대신 SSH(+tmux)로 접속을 기본값으로 삼아야 한다는 것.



Next Post
여러 환경에서 공통된 Skill 사용을 위한 MCP 구성