728x90

원문출처 : https://svrforum.com/os/288013

 

Proxmox 에서 사용하고있는 disk 외부로 꺼내는방법.

안녕하세요. 달소입니다 펜타네스트 @펜타네스트 169382 님께서 질문해주신 내부에서 사용중인 VM을 disk 형태로 꺼내서 마이그레이션 하는방법입니다. 기본적으로 Proxmox에서 스냅샷을 사용하기위

svrforum.com

 

안녕하세요. 달소입니다

펜타네스트 님께서 질문해주신 내부에서 사용중인 VM을 disk 형태로 꺼내서 마이그레이션 하는방법입니다.


기본적으로 Proxmox에서 스냅샷을 사용하기위해서는 lvm(btrfs)이나 ZFS를 사용해야합니다.
이경우에 VM의 가상디스크는 자동으로 Data 볼륨에 마운트 되기때문에 실제로 그 파일의 경로를 찾을수는 없는데요.


아래 방법을 통해 디스크의 논리적 위치를 확인하고 qcow2 파일로 떨궈서 보관하는방법을 진행하겠습니다.
보관장소는 NAS의 NFS를 사용하거나 외장하드를 사용하거나 편하신대로 하시면 되며 저같은경우 예를들기위해 작성하는거라 기본 셋팅된 lvm-local에서 진행하겠습니다.

 

1. 사용하고있는 VM의 확인하기.

먼저 백업할 디스크가있는 VM의 설정 -> 하드웨어로 가서
하드디스크의 위치를 확인해줍니다.

여기서는 local-lvm:vm-103-disk-0 이 되겠네요.
 

2. qcow 파일로 변환하기.

그다음 Proxmox Host의 쉘로 접근한뒤에 백업을 할 디렉터리로 이동해주시고 아래명령어를 통해 해당 vm disk의 논리적 위치를 확인해줍니다.

 

pvesm path [VMdisk 경로]

 

 

경로는 /dev/pve/vm-103-disk-0이 되겠군요.

 

이제 백업할 디렉터리로 이동해주신뒤에 qemu-img 명령어를 통해 파일로 떨궈줍니다.


qemu-img convert -O qcow2 -f raw [VM-Disk경로] [output.qcow2]

 

명령어가 잘실행되면 아래처럼 파일이 잘떨어집니다.

 

 

3. 로컬로 내려받기 and 복구방법.

이제 winscp를 통해 로컬로 내려받으시거나 보관하시면되며 여기서는 간단히 복구 방법도 기술해보겠습니다.

 

 

복구 방법을 테스트하기전에 기존에 디스크를 먼저 삭제해보겠습니다.

삭제 전 확인.

 

 

디스크 삭제

하드웨어 -> 하드디스크 -> 떼어내기 후 제거

 

이제 디스크가 완전히 사라졌으니 백업해놓은 qcow2파일을 마운트해보겠습니다.

 

 

마운트명령어는 아래와같습니다.

qm importdisk [vm번호] [import 파일위치] [스토리지위치]

 

ex) qm importdisk 103 /root/vm_bak/Ubuntu22_bak.qcow2 local-lvm

디스크 마운트가 잘되면 다시 VM의 하드웨어로 가서 확인 해줍니다.

 

편집을 누르고 디스크 순서에 맞게 넣어주고 추가.

 

 

디스크를 뺐다가 꼈기때문에 옵션 -> 부트 순서 에서도 디스크를 활성화 시켜주고 순서도 올려주셔야합니다.

 

 

VM 실행시 잘 접속되며 아까 백업 후에 만든 파일은 당연히(?) 없는것을 보실수있습니다.

 

 

 

참 힘든여정이였지만.. 안되는건 없습니다 ㅎㅎ

Proxmox의 백업/복구 기능을 이용하면 훨씬간단하니.. 가급적이면 그쪽으로 ㅎㅎ
ex) 백업 헤놀에 NFS를 켜고 Proxmox에서는 PBS 서버를 Guest로 구동 후 NFS를 붙이고 거기다 데이터를 보관하시는걸 추천드립니다.

 

끝-!

+ Recent posts