개요
Proxmox VE는 평소 VM만 들여다보고 하이퍼바이저 자체는 거의 신경 쓰지 않는 편이었다. 오랜만에 웹 콘솔에 접속하니 다음과 같은 공지가 떠 있었다.
Proxmox VE 8이 2026년 08월에 종료됩니다.
PVE 8 EOL 공지였다. 운영 중인 서버를 PVE 8.3에서 최신 패치까지 올린 뒤 PVE 9로 메이저 업그레이드를 진행하기로 했다.
단순한 버전 업그레이드로 끝날 줄 알았지만, 업데이트 도중 웹 UI와 SSH 접속이 동시에 끊기는 장애가 발생했다. 원인을 추적하다 보니 기존에 인지하지 못했던 ext4 파일시스템 손상이 뿌리였다. fsck로 복구한 뒤에야 PVE 9까지 무사히 올릴 수 있었다.
기존 환경
- Proxmox VE 8.3, Standalone Node
- Community Repository(pve-no-subscription)
- NVMe SSD 1TB
- VM 다수 운영
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
곧이어
- 웹 UI 접속 불가
- SSH 연결 Reset
- PVE Proxy 응답 없음
상태가 이어졌다. 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)로 접속을 기본값으로 삼아야 한다는 것.