Proxmox VE HOWTO의 # Advanced Migration Techniques to Proxmox VE를Google Translate로 기계번역하고, 살짝 교정했습니다.
https://pve.proxmox.com/wiki/Advanced_Migration_Techniques_to_Proxmox_VE
소개
기존 서버를 Proxmox VE로 마이그레이션하는 방법은 다양합니다. 두 가지 범주로 나눌 수 있습니다.
P2V(Physical to Virtual)
물리적 서버를 Proxmox VE로 마이그레이션
V2V(Virtual to Virtual)
다른 하이퍼바이저에서 Proxmox VE로 가상 머신 및 컨테이너 마이그레이션
P2V(Physical to Virtual)
P2V 마이그레이션을 위한 다음 방법에 따라 물리적 머신을 Proxmox VE 호스팅 가상 머신으로 전환하세요.
Clonezilla Live CD
이 방법은 라이브 CD를 사용하므로 빠르고 안정적이며 OS 독립적입니다.
- Clonezilla와 같은 라이브 Linux CD를 받으세요.
- 소스 호스트를 준비하고 표준 IDE 드라이버가 활성화되어 있는지 확인하세요(WinXP/Win2003의 경우 mergeide.reg(파일:Mergeide.zip) 사용). W2k의 경우 다음 링크를 따랐습니다(솔루션 2가 저에게 효과적이었습니다): [1]
- 이제 Clonezilla로 물리적 호스트를 부팅하고 초보자 모드로 이동하여 장치를 선택한 다음 원격을 선택하고 마법사를 따르세요.
- Proxmox VE 호스트에서 KVM 게스트를 준비하고 충분히 큰 IDE 디스크가 할당되었는지 확인하고(안전을 위해 1GB 추가) Clonezilla 라이브 CD로 이 KVM 게스트를 부팅하고 셸을 실행합니다.
- 루트가 되어 fdisk(예: fdisk /dev/sda)를 실행하여 sda가 여기에 있는지 확인하고, w를 입력하고 Enter를 눌러 fdisk를 종료합니다. 이는 필수입니다.
- 이제 소스 서버의 마법사가 네트워크를 구성하고 디스크 복사를 시작하도록 지시하는 모든 명령을 입력하십시오.
- 복제 작업이 성공하면 VM을 중지하고 VM “옵션” 패널에서 부팅 장치를 하드 디스크로 변경한 다음 VM을 다시 시작합니다. Windows는 필요한 모든 드라이버를 자동으로 설치해야 하며 e1000용 Intel NIC 드라이버만 ISO에서 로드해야 합니다.
VMware Converter
VMware vCenter Converter Standalone Client(V5)를 사용하여 물리적(실행 중인) Windows 서버를 Proxmox VE(KVM)로
HP ProLiant ML350 G5 및 G6에서 테스트됨
Windows 준비
VMware vCenter Converter 독립형 클라이언트
- 여기에서 다운로드하세요(버전 5.x는 무료 소프트웨어이며 무료이지만 다운로드하기 전에 계정을 만들고 로그인해야 합니다): https://my.vmware.com/web/vmware/info/slug/infrastructure_operations_management/vmware_vcenter_converter_standalone/5_0
Mergeide.reg
- mergeide.reg 실행(파일:Mergeide.zip): https://pve.proxmox.com/wiki/File:Mergeide.zip
로컬 이미지를 저장할 위치 준비
본 가이드는 외장 USB 하드 드라이브를 사용하고 있습니다. 매핑된 네트워크 공유에 저장할 수도 있습니다.
참고: 최종 이미지의 크기는 서버의 실제 데이터 양과 거의 동일하지만 Windows 디스크를 축소할 계획이 없다면 Proxmox VE 서버에는 서버의 전체 실제 디스크에 맞을 만큼 충분한 여유 공간이 있어야 합니다. 일단 Proxmox VE로 마이그레이션되었습니다.
VMware vCenter 설정
VMware vCenter를 시작하고 다음 설정을 사용하십시오.
- 소스 유형: 전원이 켜진 머신
- 전원이 켜진 머신 지정: 이 로컬 머신
- 대상 유형 선택: VMware Workstation 또는 기타 VMware 가상 머신
- VMware 제품 선택: VMware Workstation 8.0.x
- 이름: 원하는 이미지 이름을 입력하세요.
- 가상 머신 위치 선택: 이미지가 저장될 USB 또는 네트워크 드라이브를 찾습니다.
- 다음 화면에는 가상 머신에 대한 설정이 표시됩니다.
“Advanced options”을 클릭하고 변환 후 탭을 선택한 다음 ‘대상 가상 머신에 VMware 도구 설치’가 선택되어 있지 않은지 확인하세요. VMware 도구를 설치하고 싶지 않습니다.
다음을 클릭한 후 “Finish”을 클릭하세요.
이제 실제 머신을 .vmdk 파일로 변환합니다.
참고: 하드웨어에 따라 파일을 Proxmox VE 서버로 이동하기 전에 VMware Workstation 또는 Player를 사용하여 .vmdk 파일을 부팅해야 할 수도 있습니다. 이를 통해 Windows는 디스크 컨트롤러용 추가 드라이버를 설치할 수 있습니다. 디스크를 Workstation 9.x 호환성으로 변환하도록 승격되면 예라고 말합니다. 마지막 단계에서 Windows VM을 시작할 때까지는 이 단계가 필요한지 알 수 없습니다. 부팅하는 동안 블루 스크린이 나타나면 이 단계를 시도해야 합니다.
Proxmox VE에서 VM 준비
새 KVM 가상 머신을 생성합니다. 물리적 시스템과 유사한 CPU 및 메모리를 사용하는 것이 좋습니다. 하드 디스크 메뉴에서 모든 항목을 기본값으로 둡니다. Proxmox VE에서 생성된 디스크는 사용하지 않습니다. VM 만들기를 완료합니다. VMID를 기록해 두십시오. 이 가이드에서는 100을 예로 사용하겠습니다.
VMware 변환기가 완료되면 물리적 서버의 모든 네트워크 어댑터를 비활성화하고 종료합니다. 새 가상 서버를 실행한 후 Windows에서 물리적 서버를 다시 시작하는 경우 네트워크 어댑터를 비활성화하면 잠재적인 IP 충돌을 피할 수 있습니다.
이미지를 Proxmox VE 서버로 이동
USB 하드 드라이브를 서버에 연결
Proxmox VE 명령줄에서:
mkdir /mnt/usb
mount /dev/sdc1 /mnt/usb/
ls /mnt/usb
USB 드라이브의 내용을 확인해야 합니다. 제 경우에는 vmdk 파일이 /mnt/usb/windows-server/에 있었습니다.
qcow2로 변환 중
.vmdk 이미지 파일을 qcow2로 변환하려고 합니다. 이렇게 하려면 다음 명령을 사용하십시오.
qemu-img convert -f vmdk /mnt/usb/windows-server/windows-server.vmdk -O qcow2 /var/lib/vz/images/100/windows-server.qcow2
파일 크기와 시스템 속도에 따라 시간이 걸릴 수 있습니다.
최종 단계
변환이 완료되면 VM의 구성 파일을 편집해야 합니다.
nano /etc/pve/local/qemu-server/100.conf
ide0 라인에서: vm-100-disk-1.raw,size=32G를 windows-server.qcow2로 변경하려고 합니다.
VM을 생성할 때 Proxmox VE에서 생성된 빈 디스크를 삭제할 수 있습니다.
rm /var/lib/vz/images/100/vm-100-disk-1.raw
VM을 시작하고 콘솔을 엽니다. Windows가 정상적으로 부팅됩니다. 하드웨어 변경 사항을 감지하는 데 몇 분 정도 걸립니다. Windows 시스템에 고정 IP 주소가 있는 경우 설정을 재구성해야 합니다.
대체 방법
Debian이 아닌(DAB가 있음) 템플릿을 생성하기 위한 OpenVZ 템플릿 생성기.
V2V(Virtual to Virtual)
V2V 마이그레이션 방법을 따라 VM(가상 머신)을 다른 하이퍼바이저에서 Proxmox VE의 VM으로 이동하세요.
VMware
이는 VMware ESXi 6.7 하이퍼바이저에서 Proxmox VE 6.1로의 마이그레이션을 설명합니다. 다음 운영 체제를 사용하는 게스트를 대상으로 테스트되었습니다.
- 데비안 10
- 윈도우 10 프로
- 윈도우 서버 2016 기준
내보내기
GUI
VMware ESXi의 왼쪽 트리에서 가상 머신으로 이동합니다. 작업->내보내기를 선택합니다. 이렇게 하면 가상 머신에 대한 디스크 이미지와 정보가 브라우저에 .ovf 형식으로 다운로드됩니다. 해당 파일을 Proxmox VE 호스트에서 액세스할 수 있는 저장소로 이동하세요.
CLI
Proxmox VE 호스트에 VMware의 ovftool을 설치합니다. ovftool 버전 4.4는 ESXi 버전 6.5 및 6.7에서 작동하는 것으로 보고되었습니다. 다른 버전(예: 6.0)은 도움이 되지 않는 오류 메시지와 함께 충돌이 발생할 수 있습니다.
ESXi VM에서 연결된 디스크나 ISO를 제거하고 실행합니다.
ovftool vi://root@<ip-of-esxi>/<name-of-a-virtual-machine> .
ESXi에서 가상 머신을 현재 디렉토리로 직접 내보냅니다.
.을 다른 경로(예: “/mnt/pve/”)로 바꿀 수 있습니다. 이렇게 하면 Proxmox VE에서 생성한 저장소로 직접 내보낼 수 있습니다.
참고: .ova 아카이브를 추출해야 합니다.
일부 구성에서는 모든 .vmdk 디스크 이미지와 작은 XML 설명 .ovf 파일이 포함된 단일(.ova) 아카이브 파일을 얻습니다. 이 경우 qm importovf를 계속하기 전에 추출해야 합니다.
Windows 게스트를 마이그레이션하는 경우 다음 명령을 추가로 실행해야 합니다. 이 예에서는 가져온 가상 머신의 ID가 130이라고 가정합니다.
가상 머신에 BIOS 대신 UEFI를 사용하십시오.
qm set 130 --bios ovmf
Windows에서는 SCSI를 사용하려면 추가 드라이버가 필요합니다. 따라서 일시적으로 SATA를 대신 사용해야 합니다. 다음 명령에서 ‘scsi0’은 Windows 부팅에 사용되는 드라이브로 교체되어야 합니다.
sed -i 's/scsi0:/sata0:/' /etc/pve/qemu-server/130.conf
그러면 초기 작업 버전이 제공됩니다. 그런 다음 Windows 10 게스트 모범 사례에 설명된 대로 추가 드라이버를 설치하여 경험을 개선하고 나머지 SCSI 드라이브에 액세스할 수 있습니다.
서버 자체 마이그레이션
가상 디스크를 포함하여 각 VM을 별도로 내보낼 필요 없이 마이그레이션하는 것도 가능합니다.
이 방법을 사용하면 두 번째 서버 없이 서버를 vSphere에서 Proxmox VE로 변환할 수 있습니다.
이 프로세스를 위해 vSphere는 VMFS6을 사용해야 하며 하나 이상의 빈 HDD가 필요합니다.
- ovftool을 사용하여 디스크 없이 VM 정보를 내보냅니다(여전히 각 VM에 대한 네트워크 구성을 구성해야 함).
ovftool --noDisks vi://root@<ip-of-esxi>/<name-of-a-virtual-machine> .
- 중요한 데이터가 포함되지 않은 일부 디스크에 Proxmox VE를 설치하십시오. 이 시점에서는 더 이상 vSphere가 필요하지 않습니다. vSphere만 있는 OS 디스크가 있는 경우 이제 Proxmox VE로 덮어쓸 수 있습니다.
경고: VMFS로 포맷된 다른 기존 드라이브를 사용하거나 만지지 마십시오.
- 위에서 언급한 예비 HDD에 디렉터리를 만듭니다.
- vSphere 가상 디스크를 사용하여 VMFS 포맷 드라이브를 마운트(준비 전용)하는 데 필요한 vmfs6-tools를 설치합니다.
apt install vmfs6-tools -y
- 사용 가능한 모든 드라이브를 나열하여 VMFS 형식의 드라이브를 식별합니다.
fdisk -l
- VMFS 디스크 파티션을 마운트합니다(읽기 전용임).
vmfs6-tool /dev/<device><partition>
- vSphere 디스크를 Proxmox VE에 적합한 형식으로 변환합니다.
qemu-img convert -f vmdk <path to your vmdk file>.vmdk -O <raw/qcow2> <path to your empty directory>.raw/qcow2 -p
- 변환이 진행되는 동안 ovf에서 첫 번째 VM을 생성할 수 있습니다.
qm importovf 200 /tmp/exported-vm.ovf
- 변환이 완료되자마자 새로운 Proxmox VE 디스크 이미지를 VM에 마운트할 수 있습니다.
qm rescan
모든 VM 이미지가 VMFS6 디스크에서 이동된 경우 이를 포맷하여 Proxmox VE에서 사용할 수 있습니다.
Hyper-V
이는 Windows 10 하이퍼바이저의 Hyper-V에서 Proxmox VE 6.1로의 마이그레이션을 설명합니다. Proxmox VE 6.1 게스트로 테스트되었습니다.
Proxmox VE는 qemu-img를 사용하여 디스크를 가져옵니다. 내 테스트에서는 일부 소스에서 .vhdx를 지원되는 형식으로 명시적으로 나열하지 않더라도 .vhdx를 지원했습니다. 더 이상 작동하지 않는 경우 추가 옵션이 있습니다.
- Convert-VHD는 Windows에 기본 제공되며 .vhdx를 .vhd로 변환하는 명령줄 도구입니다. 이 형식은 qemu-img에서 지원됩니다.
- StarWind V2V 변환기는 Hyper-V 게스트에서 .qcow2 디스크를 생성할 수 있는 그래픽 도구입니다.
Hyper-V-Manager에서 오른쪽에 있는 “Export…”를 선택한 다음 대상을 선택합니다. 많은 파일(예: 스냅샷)을 내보내지만 우리는 .vhdx 파일에만 관심이 있습니다. 해당 파일을 Proxmox VE 호스트에서 액세스할 수 있는 저장소로 이동하세요. 가상 머신 설정을 직접 다시 생성해야 합니다.
Proxmox VE의 GUI로 이동하여 새 가상 머신을 생성하십시오. 가상 머신 생성 마법사가 생성한 하드 디스크는 필요하지 않습니다. 가상 머신의 하드웨어 옵션에서 삭제하세요.
이제 Proxmox VE의 명령줄 인터페이스로 이동합니다. .vhdx 가상 하드 디스크를 가져오려면 “qm importdisk” 명령을 사용하십시오. 매뉴얼 페이지에서 이 명령을 사용하는 방법에 대한 구문과 예를 찾을 수 있습니다.
Xen
XEN은 또한 qemu 디스크 형식을 사용하므로 “VMware에서 Proxmox VE로”에 설명된 것과 동일한 방식으로 작동해야 합니다.
xenmigration을 사용하여 이를 수행할 수 있습니다. : https://pve.proxmox.com/wiki/Xenmigrate
FreeNAS
이는 Ubuntu Bionic VM을 FreeNAS 11.2에서 Proxmox VE 6.2-1로 마이그레이션하는 데 필요한 단계입니다. FreeNAS의 VM은 다음 매개변수를 사용하여 생성되었습니다.
- 부트 로더 유형: UEFI
- 게스트 OS: Ubuntu Bionic
- 디스크
- 디스크 모드: AHCI
- Zvol: 테스트/ubuntu-1xmtpt
가상 머신 → VM 옵션 ⋮→ 장치 → 디스크 옵션 ⋮ → 편집 → Zvol로 이동하여 zvol의 이름을 확인하세요.
FreeNAS에서의 준비
- Sharing → Unix(NFS) Shares에서 /mnt/test 경로로 공유 디렉터리를 생성합니다.
- 서비스에서 SSH를 활성화하고 루트에 대한 비밀번호 로그인을 허용하도록 SSH 서비스(작업)를 편집합니다.
- zvol을 공유 디렉터리에 복사합니다.
- SSH를 통해 FreeNAS에 로그인
ssh root@ip.of.your.freenas
2. zvol을 공유 디렉터리에 복사합니다.
dd if=/dev/zvol/test/ubuntu-1xmtpt of=/mnt/test/ubuntu.raw bs=1m
Proxmox VE로 가져오기
- Proxmox VE에서 가상 머신(여기서 vmid는 103)을 생성합니다. BIOS를 OVMF(UEFI)로 설정했는지 확인하세요.
- 1단계에서 생성된 디스크를 삭제합니다.
- mkdir /home/user/freenas 디렉토리 생성
- FreeNAS에서 공유 디렉터리를 마운트합니다.
sudo mount -t nfs 192.168.31.241:/mnt/test /home/user/freenas
- FreeNAS VM의 이미지를 Proxmox VE VM에 사용되지 않은 디스크(vmid 103, 스토리지 로컬)로 가져옵니다.
qm importdisk 103 /home/user/freenas/ubuntu.raw local --format qcow2
- Proxmox VE의 GUI에서:
- 새 가상 머신의 하드웨어 보기로 이동
- 디스플레이를 특별하게 설정하세요
- 사용하지 않은 디스크를 두 번 클릭하여 연결하고 Virtio를 버스로 선택합니다.
- 새 가상 머신의 옵션 보기로 이동
- 새 virtio 디스크를 부트디스크로 선택하세요
RHEV
RHEV(Red Hat Enterprise Virtualization)의 마지막 릴리스 버전은 2022년 8월[1] 이후 전체 지원이 중단되었으므로 EOL 날짜 이전에 지원되는 Proxmox VE 릴리스로 마이그레이션하는 것이 좋습니다.
기존 VM을 이동하려면 이를 OVA(보관된 문서)로 내보내야 합니다. 가상 머신을 선택하고 추가 작업 메뉴를 사용한 다음 OVA로 내보내기를 클릭하고 PVE가 직접 액세스하거나 나중에 쉽게 이동할 수 있는 디렉터리 또는 공유를 사용하면 됩니다.
Proxmox VE 측에서는 OVA를 추출할 수 있습니다. 예를 들어 보다 일반적인 tar 형식의 경우 tar xf exported-vm.ova를 사용합니다(또는 zip 아카이브로 압축된 경우 압축 해제).
그런 다음 qm importovf VMID /path/to/extracted.ovf 및 qm importdisk VMID PATH/TO/DISK.img STORAGE-ID를 사용할 수 있습니다.
QEMU/KVM
- Proxmox VE에서 새 VM 생성
- 기존 디스크 이미지를 새 VM에 추가
- 네트워크, USB, PCIE 등의 장치를 원래 VM의 위치대로 추가합니다.
- 부팅 순서 설정 및 기타 옵션 조정
- VM 시작
기본 예, 단계별:
먼저 VM을 생성해야 합니다. 이를 위해서는 사용되지 않은 VMID를 선택해야 합니다(예: pvecm nextid 사용).
qm create 120
다음 단계에서 some-image.img는 가져오려는 디스크 이미지를 참조하고 some-storage는 pvesm 상태에 나열된 대상 스토리지의 이름을 참조합니다. 해당 값에 맞게 조정하십시오.
qm disk import 120 some-image.img some-storage
qm importdisk는 이미지를 사용되지 않은 디스크로 가상 머신에 추가하며 웹 인터페이스를 통해 VM에 다시 연결할 수 있습니다.
또한 이를 부팅 디스크로 표시해야 합니다. 이 작업은 qm set 120 –boot order=scsi0을 사용하여 수행할 수 있습니다.
qm set 120 --scsi0 some-storage:vm-120-disk-0
기본 예: 올인원:
Proxmox VE 7.2부터 qm create 명령을 사용하여 모든 단계를 한 번에 완료할 수 있습니다.
qm create VMID --scsi0 STORAGE:0,import-from=/PATH/TO/DISK.IMG --boot order=scsi0
대문자 부분을 해당 값으로 교체하십시오. 그런 다음 웹 인터페이스를 통해 나머지 기본 사항(메모리, vCPU 코어 수, vNIC 등)을 조정할 수 있습니다.
추가 정보
귀하의 사용 사례가 이 기사에서 다루어지지 않으면 위키에서 Proxmox VE로 마이그레이션하는 추가 방법을 확인해야 합니다. 여기에 설명된 것만큼 일반적이지는 않지만 때로는 다소 오래된 경우에 대한 수년간의 지식을 수집합니다.
참고 자료
- Proxmox VE로 마이그레이션 : https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE
- VM 및 해당 디스크 이미지 가져오기에 대한 참조 문서입니다. : https://pve.proxmox.com/pve-docs/chapter-qm.html#_importing_virtual_machines_and_disk_images