본문 바로가기

가상 머신/Proxmox

[ Proxmox ] 가상 머신으로 파일 copy 하기

반응형

 

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