Profile picture

[Proxmox] PBS(Proxmox Backup Server)를 설치하고 시놀로지 NFS와 연동하기

JaehyoJJAng2024년 02월 05일

개요

홈서버에서 Proxmox를 운영하게 되면서, VM들에 대한 백업을 어떻게 할 것인가에 대해서 고민해봤다.

찾아보니 Proxmox의 VM들을 백업하는 여러 가지 방법들이 존재했다.


1. Proxmox 내장 백업 기능 (Vzdump)

Proxmox는 기본적으로 vzdump 라는 백업 유틸리티를 제공한다. 이를 통해 VM이나 CT를 백업할 수 있다고 한다.

백업 방식으로는 스냅샷 방식정지된 상태에서 백업 하는 두 가지 방식이 있고,

Proxmox 인터페이스에서 직접 백업 일정을 설정할 수도 있다.


2. NFS/CIFS에 백업

NAS와 같은 네트워크 스토리지를 Proxmox에 마운트한 후, VM을 해당 스토리지에 주기적으로 백업할 수 있다.


3. Proxmox Backup Server

Proxmox에서 제공하는 PBS 라는 별도의 백업 솔루션을 이용하여 백업하는 방식이다.

이 방법의 경우 VM의 증분 백업을 지원하고, 장기간 데이터를 효율적으로 저장하고 복구도 할 수 있는 백업 솔루션이라고 한다.



나에게는 변경 사항에 대해서 실시간으로 백업이 진행되는 것을 원했기에 증분 백업이 가능한 PBS를 백업 방식으로 채택하였다.

Proxmox Backup Server

PBS는 VM, 컨테이너 및 물리적 호스트를 백업 및 복구하기 위한 백업 솔루션이다.

중복이 제거된 증분 백업을 지원함으로써 PBS는 네트워크 부하를 줄이고, 저장 공간을 절약할 수 있다고 한다.

또한 강력한 암호화와 데이터 무결성을 보장하는 방법을 사용하여 신뢰할 수 없는 대상에 대해서도 데이터를 안전하게 백업할 수 있다.


1. PBS 설치하기

설치 방법은 어렵지 않다.

기존에 VM을 생성해 올리는 것처럼 PBS도 동일하게 진행해주면 된다.

아래 작업들을 순서대로 따라해보자.


1-1. PBS ISO 다운로드

Proxmox Backup Server ISO 파일을 아래 링크에서 다운로드 받자.
https://www.proxmox.com/en/downloads
image


ISO를 다운로드 받았다면 Proxmox 시스템에 업로드 해주자.
image


1-2. VM 생성

생성할 노드를 선택하고 방금 업로드한 PBS ISO를 선택해준다.

PBS 자체의 데이터는 시놀로지의 NFS로 저장할 것이기 때문에 기본 스토리지는 적당하게만 설정해주자.


"일반" image


"OS"
image


"시스템"
image


"디스크"
image


1-3. 설치

설치 과정은 Proxmox 설치 과정과 거의 비슷하다.

또한, PBS에서도 Raid나 ZFS 사용이 가능하다.


image
image
image
image
image
image
image
마지막으로 설정 값 확인 후, Install 클릭하면 설치가 진행된다.


설치가 완료되면 자동으로 재부팅되며, 다음과 같이 Web UI 주소가 출력된다.
image


출력된 IP와 포트로 접근하게 되면 아래처럼 관리 UI가 나올 것이다.
image


2. 데이터 스토어 추가

이제 앞서 설치한 PBS에서 데이터스토어로 시놀로지의 NFS를 사용해보자.


2-1. 시놀로지에서 NFS 저장소 만들기

먼저 사용중인 시놀로지에서 NFS 저장소를 생성해주자.


아래와 같이 파일 서비스 -> NFS 에서 NFS를 활성화 시켜주자.


PBS에서 마운트할 공유 폴더를 만들어보자.
image


생성한 공유 폴더에 편집 -> NFS 권한 -> PBS 서버의 IP 를 입력해주고 확인을 누르자.
image


그리고 아래의 NFS 마운트 경로를 까먹지 말고 확인해두자.
image


2-2. PBS에서 NFS 마운트

이제 PBS에서 위에서 생성한 시놀로지의 공유 폴더로 마운트해보자.


먼저 PBS의 shell로 이동한 뒤, 기본 패키지를 설치해주자.

apt install -y nfs-common

기본적으로 패키지가 설치 되어있지만, 기왕이면 최신 버전으로 만들어주자.


그리고 아래 과정을 수행하여 마운트할 디렉토리를 만들고 시놀로지의 /volume1/Proxmox_PBS로 마운트 해주자.

mkdir -p /data/pbs_nfs
chown backup:backup /data/pbs_nfs
chmod 755 /data/pbs_nfs
mount <시놀로지IP>:<시놀로지 공유폴더 경로> /data/pbs_nfs
df -h | grep '/volume1'
touch /data/pbs_nfs/test.txt

image


시놀로지에서 Proxmox_PBS 공유 폴더를 들어가 확인해보면 다음과 같이 test.txt 파일이 생성된 것을 볼 수 있다.
image


이제 PBS가 재부팅 되더라도 NFS가 자동으로 마운트 되도록 아래 명령어를 실행하여 /etc/fstab에 추가 설정을 진행해주자.

echo "<시놀로지IP>:<시놀로지 공유폴더 경로> /data/pbs_nfs nfs defaults 0 0" >> /etc/fstab

image


2-3. PBS에 NFS 데이터 저장소 추가

PBS 메인 UI에서 데이터스토어 -> 데이터스토어 추가 를 클릭 후 아래처럼 내용을 작성해주자.
image

  • Backing Path: PBS의 마운트 경로를 입력

2-3-1. Permission Denied

아래와 같이 Permission denied가 발생한다면 chmod 755로 NFS쪽 권한 부여를 추가로 진행해주면 된다.
image

chmod 755 /data/pbs_nfs/.chunks

2-4. 사용자 계정 생성 및 권한 부여

사용자 계정을 만든 후 권한 부여를 진행하도록 하겠다.


환경설정 -> 접근 제어 -> 사용자 관리 -> 추가 -> 계정 추가
image


계정을 생성했으니 권한을 부여해주자.

데이터스토어 -> PBS_NFS -> 권한 -> 추가 -> 사용자 권한
image


2-4. Proxmox VE에 PBS 서버 추가

이제 마지막으로 Proxmox Backup Server를 Proxmox VE에 추가할 수 있도록 설정해보자.


먼저 PBS 서버의 쉘에서 아래 명령어를 실행해 인증서의 Fingerprint 값을 미리 복사해주자.

$ proxmox-backup-manager cert info | grep Fingerprint

Fingerprint (sha256): 9d:af:52:28:0e:07:b9:bc:77:4e:0d:ad:9d:49:10:db:3a:93:40:d0:2a:fd:ef:88:11:27:4f:d0:e5:a0:72:a7

그리고 Proxmox VE의 웹 UI로 이동하자.

그리고 데이터센터 -> 스토리지 -> 추가 -> Proxmox Backup Server 를 클릭하자.
image

  • ID: 생성할 PBS 이름
  • 서버: PBS 서버 IP
  • 사용자 이름: PBS에서 생성했던 사용자 이름@pbs
  • 패스워드: PBS에서 생성했던 사용자의 패스워드
  • DataStore: PBS에서 생성했던 데이터스토어 명
  • 지문: PBS 서버의 쉘에서 실행했던 fingerprint

아래와 같이 정상적으로 보인다면 성공이다.
image


VM 백업의 경우 VM에서 데이터스토어를 지정해주면 된다.
image


Loading script...