완두콩 (211.♡.12.92)
2025년 11월 27일 PM 10:05
이 글은 챗지피티가 조금(많이) 도와줬습니다.
Proxmox가 설치된 제 작은 미니PC 서버에는 자동 백업용으로 사용하는 하드디스크가 한 개 달려 있습니다.
이 디스크의 파일 시스템을 예전에 ZFS로 설정해 사용하고 있었는데, 다시 생각해보니 굳이 ZFS를 유지할 이유가 없더군요.
단일 디스크인데다 백업용으로만 쓰기 때문에 캐싱이나 스냅샷 같은 ZFS의 장점이 크게 필요하지 않았습니다.
게다가 유휴 상태에서도 ZFS 특유의 잔잔한 읽기·쓰기가 있는지, 하드디스크 스핀다운도 잘 되지 않는 문제가 있었습니다.(새벽에 수십 분 정도 백업할 때만 쓰는데, 항상 돌아가는 것은 수명에 좋지 않아 보여서요.)
그래서 결국 ext4로 포맷을 바꾸기로 결정했습니다.
하지만 문제가 조금 있었습니다.
디스크를 다시 포맷하면 당연히 모든 데이터는 사라지기 때문에, 먼저 백업 데이터를 다른 곳으로 옮겨야 했습니다.
문제는... 제가 외장하드 같은 별도의 저장장치를 가지고 있지 않다는 점이었고, 사용할 수 있는 드라이브라고는 데스크탑에 달린 하드디스크뿐이었습니다.
그래서 우선 서버에 달린 ZFS 하드디스크의 백업 데이터를 데스크탑 PC에 장착된 하드디스크로 임시 대피시키기로 했습니다.
이 하드디스크는 용량이 충분했고, 네트워크를 통해 공유만 할 수 있다면 임시 백업용으로 활용하기에 딱 맞았습니다.
먼저 데스크탑 하드디스크에 폴더를 만들어 Samba로 공유한 뒤, Proxmox 호스트에서 CIFS로 마운트했습니다.
그 다음 PBS(Proxmox Backup Server)에서 이 경로를 데이터스토어로 등록하고, 기존 서버 ZFS 하드디스크의 백업 데이터를 동기화 기능으로 전부 복제했습니다.
465GB 정도 되는 데이터를 옮겨야 했고, 서버의 ZFS 디스크가 평범한 2.5인치 하드디스크라 속도가 느린 편이라 꽤 긴 시간이 걸렸습니다.
모든 데이터를 데스크탑으로 옮긴 후, Proxmox GUI에서 기존 디스크 스토리지를 삭제하고 새로운 ‘디렉터리’ 스토리지를 생성하면서 해당 디스크를 ext4로 다시 포맷했습니다.
ZFS 풀을 지우고 ext4로 다시 준비하는 과정은 의외로 간단했지만, 문제는 그 다음이었습니다.
이제 다시 데스크탑 → 서버로 데이터를 가져와야 했기 때문입니다.
이번에도 PBS에서 데스크탑 하드디스크 데이터스토어를 서버의 새로운 ext4 데이터스토어로 동기화해 복제했습니다.
겉으로 보기엔 단순한 백업 → 포맷 → 복원의 과정이었지만, PBS가 LXC 컨테이너로 동작한다는 점 때문에 권한 문제가 발생했습니다.
LXC 컨테이너는 호스트 파일 시스템을 그대로 쓰지 않고, 매핑된 UID/GID 범위를 사용합니다.
그래서 PBS가 외부 스토리지를 정상적으로 인식하려면 호스트의 해당 디렉터리 소유권을 PBS 컨테이너가 사용하는 UID/GID로 변경해줘야 합니다.
이 작업을 하지 않으면 PBS는 "EPERM: Operation not permitted" 오류를 내며 데이터스토어를 읽지 못합니다.
데이터는 모두 복사해둔 상태인데 PBS에서 보이지 않으니 꽤 당황스러웠습니다...
다행히 권한을 올바르게 조정하니 PBS에서 데이터스토어가 바로 정상 인식되었고, 기존 백업 목록도 문제없이 그대로 나타났습니다.
이제는 단일 디스크에서 굳이 ZFS를 사용하지 않아도 된다는 점, 스핀다운도 깔끔하게 되는 점 등을 생각하면 ext4로 바꾸길 잘한 선택인 것 같습니다.
{emo:onion-021.gif:150}
댓글 (0)
- 아직 댓글이 없습니다. 첫 댓글을 작성해보세요!
댓글을 작성하려면 이 필요합니다.