이제부터 PBS가 4.0 버전으로 업데이트되면서 다양한 기능이 추가되었다.
특히 공식적으로 S3 호환 객체 스토리지에 백업할 수 있다.
이 기능을 활용하면 Offsite Backup을 편하고 저렴하게 구축할 수 있다.
이번에 업데이트하게 된 가장 큰 이유다.
PBS는 우리의 지갑을 지키기 위해서 성능 향상 및 비용 절감을 위해 로컬 캐시를 활용하고 자주 사용되는 백업 메타데이터와 데이터 청크를 내부적으로 유지함으로써 S3 백엔드에 대한 API 호출을 최소화한다.
1. Prerequisites
- SSH, 물리적 콘솔, iKVM/IPMI와 같은 원격 관리 콘솔을 통해 작업을 수행
- SSH만 사용하는 경우, 터미널 멀티플렉서(
tmux또는screen)를 활용해 SSH 연결이 끊겨도 업그레이드가 중단되지 않도록 설정. - PBS 3.4 업그레이드
가. Proxmox Backup Server 3.4.X
4.0 버전으로 업그레이드하기 위해선 3.4.2 또는 더 높은 버전이 필요하다.
| 저장소 이름 | 대상 사용자 | 특징 | 안정성 |
| pbs-enterprise | 유료 구독 고객 | – 기업 운영환경에 최적화 | 상 |
| pbs-no-subscription | 구독 없는 일반 사용자 | – 무료 사용 가능 | 중 |
| pbs-test | 개발/테스트 사용자 | – 새로운 기능 테스트용 | 하 |
Proxmox는 크게 세 가지 저장소가 있다.
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" | tee /etc/apt/sources.list.d/proxmox-backup-server.list
Code language: PHP (php)
개인들이 일반적으로 많이 사용하는 pbs-no-subscription을 먼저 추가한다.
sudo sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pbs-enterprise.list
Code language: PHP (php)
혹시 기존에 pbs-enterprise 저장소가 남아 있다면 주석 처리(또는 삭제)한다.
apt update && apt dist-upgrade
Debian Bookworm 저장소가 설정된 상태에서 아래 명령어로 업그레이드한다.
proxmox-backup-manager versions
3.4.2 또는 더 높은 버전이 출력되면 된다.
나. 백업 생성
tar czf "pbs3-etc-backup-$(date -I).tar.gz" -C "/etc" "proxmox-backup"
Code language: JavaScript (javascript)
최악의 경우를 대비해 PBS의 설정파일이 담긴 /etc/proxmox-backup 디렉토리를 백업한다.
다. 디스크 공간 확인
df -h /
루트 마운트 포인트에 최소 10GB의 여유 공간이 있는지 확인한다.
2. PBS 4.0 업데이트
가. 체크리스트
pbs3to4 --full # 모든 검사 활성화
Code language: PHP (php)
최신 PBS 3.4 패키지에 포함된 체크리스트 도구로 업그레이드 전 잠재적 문제점을 점검할 수 있다.
WARNINGS과 FAILURES가 없으면 된다.
나. 유지보수 모드 활성화
선택 사항이긴 하지만 업그레이드 중 신규 백업 생성 차단하고 데이터스토어 I/O 부하 감소시기키 위해서 유지보수 모드를 활성화한다.
proxmox-backup-manager datastore list
Code language: PHP (php)

여기서 name 컬럼이 DATASTORE-ID다.
proxmox-backup-manager datastore update PBS_Backup_SMB --maintenance-mode read-only
proxmox-backup-manager datastore show PBS_Backup_SMB

업데이트를 마무리하고 해제해야 한다.
다. APT 저장소 업데이트
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
Code language: PHP (php)
Debian 저장소 bookworm에서 Trixie로 변경한다.
/etc/apt/sources.list.d/ 내 모든 파일에서 Bookworm 관련 라인을 주석 처리하거나 제거.
cat > /etc/apt/sources.list.d/pbs-enterprise.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
Code language: JavaScript (javascript)
pbs-no-subscription 저장소 추가.
apt update && apt policy
실행한다.
라. 주의사항
Proxmox Backup Server 업그레이드 중 변경되는 주요 설정 파일 3가지에 대한 설명.
1) /etc/issue 파일
로그인 콘솔(터미널)에 표시되는 시스템 이름/환영 메시지 설정 파일임.
PBS 4.x 업그레이드 시 자동으로 내용이 갱신됨.
앞서 사용자가 수동으로 수정한 적 없다면 기본값 유지 ("No" 선택)를 선택하면 된다.
이 파일은 시각적 효과만 있을 뿐 시스템 기능에는 영향을 주지 않으므로 중요하지 않음.
2) /etc/ssh/sshd_config 파일
SSH 서버의 보안 및 인증 방식을 설정하는 파일.
ChallengeResponseAuthentication no → KbdInteractiveAuthentication no로 대체된다.
주석(#)이나 관련 없는 부분에 약간의 변경이 있을 수 있다.
사용자가 수동으로 수정하지 않은 경우는 두 옵션 모두 기능상 동일하므로 패키지 관리자 버전(Yes)을 선택해 기존 설정을 덮었으라고 한다.
(ChallengeResponseAuthentication은 더 이상 사용되지 않는 폐기된 옵션)
사용자가 수동으로 수정한 경우 변경 내용을 꼼꼼히 비교하고 유지할지 결정하면 된다.

일단 Yes을 선택해 기존 설정을 덮어쓰라고 하고 보안상 위험한 PasswordAuthentication과 ****PermitRootLogin 옵션만 껐다.
3. /etc/default/grub 파일
부팅 시 커널에 전달되는 명령어 라인 옵션을 설정합니다.
따로 수정한 적 없기 때문에 기본값 유지 ("No")를 선택했다.
마. 시스템 업그레이드
apt update && apt dist-upgrade
systemctl reboot
재부팅.
3. 업데이트 후 작업
systemctl status proxmox-backup-proxy.service proxmox-backup.service
Code language: CSS (css)
메인 서비스 상태가 active (running)인지 확인한다.
proxmox-backup-manager datastore update PBS_Backup_SMB --delete maintenance-mode
Code language: JavaScript (javascript)

유지보수 모드 해제한다.
몇 가지 테스트를 실행해 보고 최종적으로 불필요한 백업 파일(. bak)을 삭제하면 마무리된다.