Proxmox에서 로컬 데이터를 LXC 컨테이너로 복사하는 방법
Proxmox VE는 매우 강력한 오픈소스 가상화 플랫폼으로, 가상 머신(KVM)뿐만 아니라 컨테이너(LXC)도 쉽게 관리할 수 있게 해줍니다. 종종 로컬 호스트(Proxmox 노드)의 데이터를 특정 LXC 컨테이너로 옮겨야 할 때가 있는데요, 이번 포스트에서는 이 작업을 어떻게 효율적으로 수행하는지 알아보겠습니다.
1. 전제 조건
- Proxmox VE 설치 완료
- 컨테이너(LXC) 생성 완료 (예: CT ID 100)
- 복사할 파일 또는 디렉터리가 Proxmox 호스트에 존재
2. 방법
- 방법 1: pct push 명령어 사용하기 (가장 간단)
Proxmox는 LXC 컨테이너와 파일을 주고받을 수 있는 pct 명령어를 제공합니다. 이걸 사용하면 로컬 파일을 간단하게 컨테이너 내부로 넣을 수 있습니다.
pct push 100 /root/data.zip /root/data.zip
- 100 → 컨테이너 ID
- /root/data.zip → 호스트에 있는 파일 경로
- 두 번째 /root/data.zip → 컨테이너 내부의 경로
✅ 이 방법은 텍스트 파일이나 간단한 데이터 전송 시 아주 유용합니다.
- 방법 2: rsync 또는 scp 사용하기
컨테이너가 SSH를 지원하는 환경이라면, rsync 또는 scp를 이용할 수도 있습니다. 다만, 기본적으로 LXC 컨테이너는 SSH가 비활성화되어 있으므로, SSH 설치 및 설정이 필요할 수 있습니다.
rsync -avz /root/mydata/ root@CT_IP:/home/user/
또는
scp -r /root/mydata/ root@CT_IP:/home/user/
SSH가 작동하려면, 컨테이너 내에 openssh-server가 설치되어 있고, 네트워크가 연결되어 있어야 합니다.
- 방법 3: 컨테이너의 마운트 경로를 이용한 직접 복사
Proxmox에서 LXC 컨테이너는 실제로 /var/lib/lxc/CTID/rootfs 경로에 루트 파일 시스템이 마운트되어 있습니다. 이 경로로 바로 접근하면 파일을 직접 넣을 수 있습니다.
cp /root/mydata.txt /var/lib/lxc/100/rootfs/root/
또는 전체 디렉터리 복사:
cp -r /root/mydata /var/lib/lxc/100/rootfs/root/
이 방법은 빠르지만, 컨테이너가 실행 중일 경우 충돌이나 퍼미션 문제가 발생할 수 있으니 주의하세요.
- 방법 4: 마운트 디렉토리를 공유하여 지속적 공유
컨테이너 설정 파일을 수정해 호스트 디렉토리를 컨테이너에 마운트할 수도 있습니다.
nano /etc/pve/lxc/100.conf
다음 라인을 추가합니다:
mp0: /data/share,mp=/mnt/share
- /data/share → Proxmox 호스트 디렉터리
- /mnt/share → 컨테이너 내에서 보이는 위치
이제 컨테이너에서 /mnt/share 디렉토리를 통해 호스트 데이터를 직접 접근할 수 있습니다.
컨테이너를 재시작해야 적용됩니다.
3. 마무리
Proxmox에서 LXC 컨테이너로 데이터를 복사하는 방법은 여러 가지가 있으며, 사용 목적과 환경에 따라 적절한 방식을 선택할 수 있습니다.
단순 파일 전송은 pct push, 대용량/반복 작업은 마운트 방식, 혹은 rsync를 활용해보세요.
혹시 실제 사용 예시를 코드와 함께 다뤄주는 튜토리얼 형식도 원하시나요? 원하신다면 이어서 더 구체적으로 작성해드릴게요 :)
'가상 머신 > Proxmox' 카테고리의 다른 글
[ Proxmox ] Container와 VM의 차이점은? (0) | 2024.12.10 |
---|---|
[ Proxmox ] Proxmox 설치하기 (1) | 2024.10.04 |