Proxmox XPEnology 외장 SSD 백업 구축 및 시행착오 정리
Proxmox XPEnology 외장 SSD 백업 구축 및 시행착오 정리
1TB 외장 SSD를 활용해 정품 시놀로지 하드웨어 복원 및 PC 파일 추출까지 호환되는 백업 환경을 구축하기까지 겪었던 시행착오와 최종 해결 과정을 정리한 기록입니다.
1. 겪었던 시행착오 및 원인 분석
- 1차 시도: Proxmox의 'USB 디바이스 패스스루' 연결 후 Hyper Backup
- 현상: 백업 진행 중 약 35분 만에
disk I/O error발생하며 중단. - 원인: USB 2.0 포트의 전력 한계(500mA) 및 QEMU의 가상 USB 드라이버 계층이 대용량 연속 I/O 부하를 감당하지 못해 링크가 리셋됨.
- 현상: 백업 진행 중 약 35분 만에
- 2차 시도: 외장 드라이브를 SCSI 디스크로 직결 매핑 (
qm set 100 -scsi3 ...)- 현상: 헤놀로지 볼륨 2(스토리지 풀 2)로 등록하여 백업을 돌리던 중, 약 173GB 부근에서 드라이브 충돌 발생(
중대, 읽기 전용 잠김). - 원인: 가상화 계층은 안정화되었으나, 하단의 외장 케이스 칩셋(JMicron)이 리눅스 커널의 고속 대용량 쓰기(UASP 프로토콜) 신호를 버티지 못해 튕김. 헤놀로지가 단 한 번의 타임아웃을 감지해 스토리지 풀을 보호 모드로 강제 차단.
- 현상: 헤놀로지 볼륨 2(스토리지 풀 2)로 등록하여 백업을 돌리던 중, 약 173GB 부근에서 드라이브 충돌 발생(
- 분리(탈착)의 제약:
- 헤놀로지 내부 볼륨으로 묶어둘 경우, 케이블을 뽑으면 DSM 전체에 스토리지 풀 깨짐 경고가 발생해 '필요할 때만 꽂아 쓰는 콜드 백업'이 불가능한 구조적 한계 확인.
- 헤놀로지 내부 볼륨으로 묶어둘 경우, 케이블을 뽑으면 DSM 전체에 스토리지 풀 깨짐 경고가 발생해 '필요할 때만 꽂아 쓰는 콜드 백업'이 불가능한 구조적 한계 확인.
2. 최종 해결 아키텍처: Proxmox 호스트 마운트 + rsync 경유 백업
외장 드라이브를 가상머신(헤놀로지)에 직접 주지 않고, Proxmox 호스트 자체에서 관리하며 헤놀로지와는 네트워크(rsync)로 통신하도록 구조를 전환했습니다.
- 안정성: 호스트에서 JMicron 칩셋의 불안정한 UASP를 비활성화(
usb-storage quirks)하여 하드웨어 튕김 원천 차단. - 무결성: 헤놀로지에는 물리 하드로 물리지 않으므로, 외장 SSD를 뽑아도 DSM 스토리지 풀이 깨지지 않음.
- 호환성: 백업 포맷은 여전히 시놀로지 순정 규격인
.hbk로 외장 드라이브에 저장되어 정품 시놀로지 및 PC(Hyper Backup Explorer) 복원 100% 보장.
3. 최종 구축 단계 요약
- 드라이브 안정화 설정 (PVE Shell):
- 외장 드라이브 포맷 및 마운트:
- Proxmox rsync 수신 데몬 구축:
/etc/rsyncd.conf에[synology_backup]모듈 정의(경로:/mnt/backup_ssd).- 인증 계정 및 비밀번호 파일(
/etc/rsyncd.secrets) 생성 후 서비스 구동(systemctl enable --now rsync).
- 헤놀로지 Hyper Backup 작업 생성:
- 작업 유형:
rsync 사본(여러 버전) - 서버: Proxmox 호스트 IP / 포트: 873 / 모듈:
synology_backup - 백업 순환: Smart Recycle (최대 10개 버전) 적용하여 첫 백업 안정적 구동.
- 작업 유형:
GPT 파티션 1개 생성 후 ext4로 포맷:
Bash
echo -e "g\nn\n1\n\n\nw" | fdisk /dev/sda
mkfs.ext4 -F /dev/sda1
mkdir -p /mnt/backup_ssd
mount /dev/sda1 /mnt/backup_ssd
JMicron 컨트롤러의 UASP 차단 및 표준 스토리지 드라이버 바인딩:
Bash
echo "options usb-storage quirks=152d:0576:u" > /etc/modprobe.d/jmicron.conf
update-initramfs -u
4. 일상 탈착(콜드 백업) 운용 가이드
다시 연결해서 백업할 때:케이블을 후면 USB 3.0 포트에 꽂은 뒤 마운트 후 DSM에서 백업 실행:
Bash
mount /dev/sda1 /mnt/backup_ssd
백업 완료 후 분리 보관할 때:PVE 쉘에서 버퍼 플러시 및 마운트 해제 후 케이블 분리:
Bash
sync && umount /mnt/backup_ssd