전자기기,PC,노트북,공유기등 하드웨어 정보 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

라즈베리 파이4를 이용한 Proxmox Backup Server (PBS) 구축하기!

꾀지남편 꾀지남편 969

3

13

image.png.jpg

여러분도 알고계시겠지만, 본래 proxmox의 vm들을 백업하는 서버인 PBS는 ARM용 빌드를 제공하고 있지 않습니다.

일반적인 X86에서나 설치 및 구동이 가능하지만 역시나 우리의 외국 선배님들은 준비가 철저합니다.

무려 ARM64 버전의 설치 방법이 존재합니다.

 

 

 

IMG_2112.JPG

최근 놀고 있는 파이에게 알리발 할인특가로 12만원에 구매했던 Argon40 EON 케이스입니다. 

주력 파일서버로 점찍었지만.. 어째선지 흡기 또는 배기로 설치해도 팬 소음이 너무 지나쳐서 SSD 한장으로 간이서버로 쓰고 있었는데 드디어 쓸모가 생겼군요.

 

 

 

IMG_2109 (1).JPG

참고로 3.5 인치 하드를 장착시 발열로 인해 팬이 그야말로 미친듯이 돌기 때문에 별도의 USB 팬을 붙이지 않는 이상 사용하기 어렵습니다.

녹투아로의 교체를 고려하고 있는데 일단 놀고있던 WD 2테라 하드 추가하고 작업을 진행합니다.

 

 

 

IMG_1789.JPG

어떤 의미로 잔잔한 3인방이 되어버린 책상 위의 친구들..

 

 

 

위 레포에서 제공하는 파일을 이용해 설치를 진행해보았습니다.

아마 보통은 라즈비안에서 실행하게 되겠지만 저는 우분투를 선호하기 때문에 우분투 64비트 환경에서 설치를 진행했습니다.

적당한 위치로 이동해서 파일을 준비해봅니다.

 

 

 

1. 루트 계정으로 진입

 

image.png.jpg

 

sudo -s

작업간 편의를 위해 root로 진행하겠습니다.

 

2. 설치를 위한 소스 다운로드

 

image.png.jpg

 

git clone https://github.com/wofferl/proxmox-backup-arm64.git

깃허브 레포의 소스를 적당한 위치에 다운로드 받아줍니다.

저는 기본 유저인 ubuntu 의 홈폴더 (/home/ubuntu) 에서 진행했습니다.

다운로드가 완료되면 `proxmox-backup-arm64` 폴더가 생성됩니다.

 

참고로 라즈베리파이에 우분투64 서버가 설치된 제 경우엔 설치 간에 SSL 문제가 있어서 당황했는데 이는 아래처럼 수동으로 설치가 가능합니다.

 

# libssl 다운로드
wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_arm64.deb

# libssl 설치
dpkg -i libssl1.1_1.1.1f-1ubuntu2.19_arm64.deb

# libssl-dev 다운로드
wget http://ports.ubuntu.com/pool/main/o/openssl/libssl-dev_1.1.1f-1ubuntu2.19_arm64.deb

# libssl-dev 설치
dpkg -i libssl-dev_1.1.1f-1ubuntu2.19_arm64.deb

 

libssl과 libssl-dev 패키지만 wget으로 받아다가 직접 설치해주었습니다.

 

 

3. 작업에 필요한 디펜던시 설치

 

sudo apt-get install -y --no-install-recommends \
build-essential curl ca-certificates sudo git lintian fakeroot \
pkg-config libudev-dev libssl-dev libapt-pkg-dev libclang-dev \
libpam0g-dev

작업에 필요한 다른 패키지들도 모두 한번에 설치하도록 하겠습니다.

 

 

4. rustup 설치

 

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s
source ~/.cargo/env

설치하는 중에 러스트가 필요한가 봅니다만 용도는 잘 모르겠습니다.

cargo 때문인가 싶은데 어쨌든 환경 변수도 적용합니다.

 

주의!!!!

sudo fallocate -l 4G /var/swap
sudo mkswap /var/swap
sudo swapon /var/swap

만약 라즈베리파이가 2G 모델인 경우 빌드간에 램 부족으로 문제가 발생합니다.

이런 경우라면 빌드 전에 깃헙 안내처럼 4G정도 스왑을 꼭 만들고 진행하시길 바랍니다.

 

 

5. 빌드 스크립트의 실행

 

image.png.jpg

 

./build.sh

소스폴더에서 위 명령어로 빌드를 진행해줍니다.

이렇게 빌드를 직접하다 보니 8기가 파이 기준으로 약 1시간 반정도 소요됩니다.

 

빌드 과정 자체는 위처럼 진행하시면 되고 공식 페이지의 도커 기반 빌드를 추천하지 않습니다.

아마도 제 실수겠지만 어째선지 1회차에 도커 빌드로 실패하고 (Proxmox Backup Proxy 가 동작하지 않음...)

깃허브에 있는 ./build.sh 명령어를 이용하는 것으로 2회차에 설치 성공했습니다. 

 

 

6. 생성된 패키지의 설치

 

image.png.jpg

빌드가 완료되면 빌드했던 폴더에 packages 라는 하위 폴더가 생기고 위와 같은 파일들이 생성되었다면 성공입니다.

일부만 생성되는 경우 빌드가 잘못된 것일테니 실수가 없는지 꼭 확인하셔요~!

 

sudo apt install \
  ./libjs-extjs_*_all.deb \
  ./libjs-qrcodejs_*_all.deb \
  ./libproxmox-acme-plugins_*_all.deb \
  ./pbs-i18n_*_all.deb \
  ./proxmox-backup-docs_*_all.deb \
  ./proxmox-backup-server_*_arm64.deb \
  ./proxmox-mini-journalreader_*_arm64.deb \
  ./proxmox-widget-toolkit_*_all.deb \
  ./pve-xtermjs_*_arm64.deb

위 명령어를 실행해서 필요한 PBS 서버용 패키지들을 설치해줍니다. 

 

 

image.png.jpg

제 경우 8007 포트로 웹서비스가 안올라오는 바람에 1회차에 실패했습니다.

그런데 트러블 슈팅한답시고 이틀간 삽질이 계속되어버렸는데 원인이 기존에 잘못 설치된 파일들이었습니다.

 

sudo apt purge proxmox-backup-server

실수가 있었다면 위 명령어로 설치된 패키지를 삭제하고 다시 재설치를 시도합니다.

 

 

image.png.jpg

설치가 완료되면 마지막에 위 사진처럼 권한에러가 발생해서 바짝 긴장하게 만들지만 구동에는 문제가 없었습니다.

백업 서버의 버전이 다소 낮은 Backup Server 2.4-3이다 보니 아쉬운 마음도 있습니다.

요즘 버전인 3.X대가 아닌건 아쉽지만 그래도 라즈베리파이에서라면 감사할 따름입니다.

당연하게도 ARM64니 굳이 라즈베리가 아니어도 설치가 가능할 것입니다.

 

 

7. 기존 Proxmox 서버와의 연동

 

이제 VM을 백업하기 위해 Proxmox와 연동하는 방법에 대해 알아보아야겠습니다.

위 링크를 참고하셔서 백업서버에서 백업을 위한 계정을 새로 만들어주시고 본디 운영하는 Proxmox 서버에 추가만 해주시면됩니다.

워낙 내용이 잘 정리되어 있어 이부분은 완료된 스샷만 살짝 첨부하겠습니다.

 

image.png.jpg

구축한 백업서버를 본 Proxmox 서버에 아이피와 계정, 핑거프린트를 이용해 연동하면 위처럼 새로운 스토리지인 pbs가 만들어집니다.

 

 

image.png.jpg

제 경우 초기화할 셈으로 운용하던거라 VM 갯수가 얼마안되기에 전체를 몽땅 선택하고 백업을 진행해보겠습니다.

백업은 스케줄로 매일 또는 특정일마다 특정 요일마다 등으로 다양하게 자동화가 가능합니다.

백업 갯수나 용량에 따른 삭제 정책도 기존 Proxmox 백업과 동일하게 설정하실 수 있습니다.

 

 

image.png.jpg

백업이 진행되며 용량에 따라 시간이 좀 걸리실겁니다.

 

 

image.png.jpg

다행히도 안전히 백업이 모두 완료되었습니다.

 

 

image.png.jpg

사용량의 경우 굳이 백업서버로 로그인 하지 않아도 본 서버의 스토리지 항목에서 Summary 에서 바로 볼 수 있어 편리합니다.

 

 

image.png.jpg

연동된 본 서버에서 마찬가지로 백업 파일들을 그대로 볼 수 있습니다.

 

Docker 버전이 있어 나스에 연동하면 어떨까 싶은데 권한 문제 때문인지 도커는 매끄럽게 사용하긴 어려웠습니다.

다만 요즘 파이 가격이 금값이라 이게 가성비 백업서버는 아닐거라 NUC 스타일의 N100쯤이 어떨까 싶습니다.

 

그러나 기존에 라즈베리파이를 놀리고 계신 분들이라면 상당히 유용합니다.!

굳이 비싼 케이스 안쓰고도 충분히 사용이 가능할테니 저전력 서브로 백업 서버를 돌리시기에 좋겠습니다.

저는 실직한 나노파이 M4가 한대 더 있어서 놀고 있던 SataHat 붙여다가 테스트로 하나 더 올려보아야겠습니다.

 

 

8. No Subscription 구독안내 메세지 제거

 

image.png.jpg

 

cd /usr/share/javascript/proxmox-widget-toolkit

로그인시 매번 나타나는 불필요한 구독 메세지의 제거를 위해서는 proxmox-backup-server 의 js 수정이 필요합니다.

 

 

image.png.jpg

 

vim proxmoxlib.js

각자 사용하시는 proxmoxlib.js 파일을 열어서 "No v" 로 검색하면 위와 같은 소스가 나타납니다.

저는 vim을 선호합니다만, nano든 vi든 관계 없습니다.

 

 

image.png.jpg

위처럼 if 문 조건절을 아예 동작하지 않도록 바꾸겠습니다. 

파일을 저장하고 나가줍니다.

 

 

systemctl restart proxmox-backup-server

이후 백업 서버의 서비스를 다시 시작하시면 더이상 구독안내 메세지가 나타나지 않습니다.

구조나 경로 자체는 Proxmox 서버와 유사한데 서비스 재시작 명령어만 살짝 다릅니다.

 

바보같이 매번 모든 VM을 날리고 다시 생성하는 등 미디어 자료 외엔 이관할 때 마다 세팅을 전부 처음부터 다시했습니다.

이번엔 안전하게 이관하려고 궁금한 부분이 많았는데 댓글로 도움주신분 모든분께 감사합니다.

 

신고공유스크랩
13
profile image
꾀지남편 글쓴이 2023.07.20. 14:14
동도리군
우분투 사용중이시라면 한번 중간에 libssl1.1_1.1.1f-1ubuntu2.19_arm64.deb, libssl-dev_1.1.1f-1ubuntu2.19_arm64.deb 먼저 설치하고 진행하셔요!
저는 이게 없어서 설치에 문제가 되버렸기 때문에 헤멘 것 같습니다.
profile image 3등
댕대루 2023.07.20. 18:12
좋은 글 감사합니다!
RP4에 저런 케이스도 있었군요.. 장난감으로 갖고 놀기 좋을 것 같습니다ㅎ
profile image
꾀지남편 글쓴이 2023.07.21. 14:19
댕대루
정말 장난감으로는 최고인듯 합니다.
남는 SSD 를 설치하는 간이 서버로 쓰려고했는데 어쩌다보니 하드가 들어가버렸네요.
빌드 퀄리티나 사용성은 다 좋은데 팬이 2핀짜리라 pwm 설정이 있는데도 이게 동작을 하는건지 모르겠습니다.
30%로 돌아라! 라고 설정해도 동작 자체를 안하는 것 같고 돌거나 혹은 쉬거나만 반복합니다. ㅠㅠ
profile image
댕대루 2023.07.21. 15:43
꾀지남편
그럴 때는 아두이노로 팬속 조절을! 저는 해본 적 없지만 능력자분들은 그럴 때 아두이노 달아서 잘 쓰시더라고요ㅋㅋ
profile image
꾀지남편 글쓴이 2023.07.21. 17:43
댕대루

IMG_1768.jpeg.jpg

이녀석이 신기하게도 내부에 USB 포트가 있어서 활용해볼까 하고 있었는데 이두이노라니 생각도 못했군요!!

정보 감사해요 -! 찾아보겠습니다. 

추가로 argon 스크립트에서 22.04 버전에서의 이슈도있어 알아보고있네요!

profile image
댕대루 2023.07.21. 19:41
꾀지남편
아두이노로 성공하시면 녹투아도 달아버리죠ㅋㅋ 꼭 성공하시길!
이슈는 어떤 건가요?
profile image
꾀지남편 글쓴이 2023.07.21. 19:46
댕대루
2핀 팬앞에 이미 팬컨트롤러가 달려있으나 정상적으로 동작하지 않았던것 같습니다.
공식 스크립트는 우분투 서버 20.X버전까지 지원하는데 제 경우 22.04를 설치해서 문제가 된 것 같아요!
다행히 호환버전을 누가 만들어 놓아서 교체하고 재부팅시켜놨네요.
집에가면 소음 체크해보아야겠습니다 :)
profile image
달소 2023.07.20. 19:35
오,,,케이스가 엄청 예쁘네요 ㅎ
라즈베리파이로 PBS라니,,, 신박합니다,, 가이드 공지로,,,!!!
profile image
꾀지남편 글쓴이 2023.07.20. 20:46
달소

그렇다면! 내용을 좀더 보완해보았습니다.

여담이지만 서버포럼의 에디터가 장문의 글을 작성하기에 상하단이 짧아 굉장히 곤란했습니다.

(코드블럭에 줄내림이 되는 것은 어째서인지 모르겠군요!!)

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story