DEV/Homelab

Proxmox 8.x to 9 롤링 업그레이드

오리야호 2026. 6. 2. 22:32
반응형

 

0. 사전 검증 및 필수 백업 (Pre-flight Checklist)

작업 시작 전, 전체 클러스터의 무결성을 확인하고 복구 지점을 확보합니다.

  • ceph -s: 상태가 HEALTH_OK 인지 확인
  • pvecm status: 클러스터 쿼럼(Quorum) 정상 참여 확인
  • ha-manager status: HA 리소스 상태가 모두 정상(OK)인지 확인
  • pve8to9 --full: 업그레이드 차단 요인(FAIL) 사전 점검 (이 단계에서 systemd-boot 경고 시 추후 제거)
  • 주요 설정 백업: 네트워크 변경 대비 및 망분리 환경 내 APT 레포 롤백을 위한 백업 수행
cp -a /etc/apt /root/apt-backup
cp -a /etc/network/interfaces /root/interfaces.bak
cp -a /etc/pve /root/pve-backup

1. [Phase 1] Ceph 18.2(Reef) → 19.2(Squid) 업그레이드

⚠️ 순서 준수: Proxmox VE 9.0 업그레이드 전 반드시 완료되어야 합니다. 순서 위반 시 데몬 버전 불일치로 인한 클러스터 장애 및 서비스 다운타임이 발생할 수 있습니다. ceph로 구성되어 있지 않으면 스킵 가능

Step 1. 저장소 주소 변경 및 패키지 업데이트 (전체 노드 공통)

sed -i 's/ceph-reef/ceph-squid/g' /etc/apt/sources.list.d/ceph.list
apt update
apt dist-upgrade -y

Step 2. Ceph 데몬 순차 재시작 및 상태 검증 (노드 1대씩 진행)

한 노드에서 아래 데몬들을 재시작한 후, 반드시 정상 상태를 확인하고 다음 노드로 넘어갑니다.

systemctl restart ceph-mon.target
systemctl restart ceph-mgr.target
systemctl restart ceph-osd.target

🔎 검증 명령어 (필수 수행):

  • ceph versions: 전체 데몬이 squid(19.2) 버전으로 정상 구동 중인지 확인
  • ceph quorum_status: 모니터(MON) 쿼럼이 정상적으로 형성되어 있는지 확인
  • ceph health detail: 현재 상태의 상세 경고/에러 로그 확인
  • ceph osd tree: 재시작한 OSD가 모두 UP/IN 상태인지 계층 구조 확인
  • ceph -s: 최종적으로 HEALTH_OK 상태로 복귀했는지 종합 상태 점검

클러스터 노드 수 만큼 Proxmox VE 8 최신버전 + Ceph 19 버전으로 맞추기

2. [Phase 2] Proxmox VE 8.4 → 9.2 메이저 업그레이드

Step 1. 시스템 종속성 사전 조치 (해당 시)

# 0. 업그레이드 검사
pve8to9 --full

# 1. pve8to9 --full 검사 결과 systemd-boot 충돌 FAIL 발생 시에만 제거
apt remove -y systemd-boot

# 2. CPU 마이크로코드 설치 (Intel 또는 AMD 아키텍처에 맞게 선택)
apt install -y intel-microcode # Intel CPU인 경우
apt install -y amd64-microcode # AMD CPU인 경우

# 패키지 없는 경우 아래 저장소 추소 추가
nano /etc/apt/sources.list

# === Stable Release (Bookworm) ===
deb <http://deb.debian.org/debian> bookworm main contrib non-free non-free-firmware
deb-src <http://deb.debian.org/debian> bookworm main contrib non-free non-free-firmware

# Stable Point Release Updates
deb <http://deb.debian.org/debian> bookworm-updates main contrib non-free non-free-firmware
deb-src <http://deb.debian.org/debian> bookworm-updates main contrib non-free non-free-firmware

Step 2. 롤링 마이그레이션 및 Ceph 리밸런싱 차단 (Node 1 기준)

  1. 대상 노드의 VM/CT를 타 노드로 라이브 마이그레이션합니다.
  2. 클러스터 재부팅 시 불필요한 데이터 동기화를 막기 위해 OSD 플래그를 설정합니다. (1회 실행)
ceph osd set noout
ceph osd set norebalance

Step 3. Trixie (Debian 13) 저장소 설정

기존 설정은 /root/apt-backup 에 보관되었으므로, 충돌 방지를 위해 구형 파일을 삭제하고 공식 권장 deb822 포맷으로 생성합니다.

sed -i 's/bookworm/trixie/g' /etc/apt/sources.list

rm -f \\
/etc/apt/sources.list.d/pve-install-repo.list \\
/etc/apt/sources.list.d/pve-enterprise.list \\
/etc/apt/sources.list.d/ceph.list

# Proxmox 9 No-Subscription 저장소 생성 (망분리 환경의 경우 URI를 내부 미러 주소로 변경)
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: <http://download.proxmox.com/debian/pve>
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

# Ceph Squid 저장소 생성
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: <http://download.proxmox.com/debian/ceph-squid>
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

Step 4. OS 판올림 실행

apt update
apt dist-upgrade -y

💡 ※ 설정 파일 덮어쓰기 프롬프트 발생 시: N (Keep your currently-installed version) 선택 권장.

Step 5. 재부팅 및 네트워크/클러스터 사후 검증

reboot
  • ⚠️ 네트워크 인터페이스(NIC) 이름 변경 주의: 커널 6.14 업데이트로 인해 간혹 eno1이 enp3s0 등으로 변경될 수 있습니다. 부팅 후 Ping이 나가지 않는다면 물리 콘솔로 접속하여 ip link 확인 후 /etc/network/interfaces를 수정하십시오.
  • 부팅 완료 후 pveversion (9.x 확인) 및 pvecm status를 점검합니다.

Step 6. Ceph 플래그 원복 (중요) 및 다음 노드 이행

노드가 클러스터에 정상 합류했다면, 반드시 아래 명령어로 Ceph 락을 해제해야 합니다.

ceph osd unset noout
ceph osd unset norebalance

이후 ceph health detail로 최종 이상 유무를 파악한 뒤, Node 2, Node 3 순서로 동일하게 반복합니다.

반응형