[홈서버] PBS 4.0 Update

이제부터 PBS가 4.0 버전으로 업데이트되면서 다양한 기능이 추가되었다.

특히 공식적으로 S3 호환 객체 스토리지에 백업할 수 있다.

이 기능을 활용하면 Offsite Backup을 편하고 저렴하게 구축할 수 있다.

이번에 업데이트하게 된 가장 큰 이유다.

PBS는 우리의 지갑을 지키기 위해서 성능 향상 및 비용 절감을 위해 로컬 캐시를 활용하고 자주 사용되는 백업 메타데이터와 데이터 청크를 내부적으로 유지함으로써 S3 백엔드에 대한 API 호출을 최소화한다.


1. Prerequisites

Upgrade from 3 to 4 – Proxmox Backup Server

  • 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 패키지에 포함된 체크리스트 도구로 업그레이드 전 잠재적 문제점을 점검할 수 있다.

WARNINGSFAILURES가 없으면 된다.


나. 유지보수 모드 활성화

선택 사항이긴 하지만 업그레이드 중 신규 백업 생성 차단하고 데이터스토어 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 noKbdInteractiveAuthentication 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)을 삭제하면 마무리된다.


댓글 남기기