Shift Toolkit을 사용하여 VMware ESXi에서 Proxmox VE로 VM 마이그레이션
Shift Toolkit을 사용하여 VM을 준비하고, 디스크 형식을 변환하고, 대상 환경을 구성하여 VMware ESXi에서 Proxmox VE로 VM을 마이그레이션합니다.
Shift Toolkit은 대상 환경에서 디스크 포맷 변환과 네트워크 재구성을 통해 가상화 플랫폼 간에 VM 마이그레이션을 가능하게 합니다.
시작하기 전에
마이그레이션을 시작하기 전에 다음 전제 조건이 충족되는지 확인하세요.
-
Proxmox VE 9.x 이상 및 ONTAP NFS 스토리지가 스토리지 풀로 추가된 쿼럼이 있는 3개 이상의 노드 클러스터 운영 최소 요구 사항.
-
클러스터의 관리자 수준 권한
-
Proxmox 릴리스는 >= 9.x입니다
-
Proxmox 노드는 네트워크에서 연결할 수 있습니다
-
적절한 볼륨 및 qtree로 구성된 NFSv3 스토리지 풀
-
네트워크(브리지)는 올바른 VLAN으로 구성되어야 합니다
-
-
VM VMDK가 NFSv3 볼륨에 배치되어 있는지 확인합니다(특정 VM에 대한 모든 VMDK는 동일한 볼륨의 일부여야 함).
-
성공적인 VM 준비를 위해 게스트 VM에서 VMware 도구가 실행 중이어야 합니다
-
마이그레이션할 VM이 준비를 위해 RUNNING 상태인지 확인하십시오
-
Shift 툴킷은 다음을 위해 스크립트를 삽입하여 VM 준비를 수행합니다.
-
VirtIO 드라이버 추가
-
VMware 도구 제거
-
백업 IP 주소, 경로 및 DNS 정보
-
|
|
마이그레이션을 트리거하기 전에 가상 머신의 전원을 꺼야 합니다 |
|
|
VMware Tools 제거는 VM이 전원이 켜진 후 대상 하이퍼바이저에서 수행됩니다. |
-
Windows VM을 준비하기 위해 Invoke-VMScript를 실행할 때는 로컬 관리자 계정을 사용하거나 로컬 Administrators 그룹에 속한 Active Directory 계정을 사용하십시오. Linux 시스템의 경우 암호 없이 명령을 실행할 수 있는 계정(예: 암호 없는 sudo)을 사용하십시오.
-
Windows VM의 경우 VirtIO ISO가 마운트되어 있는지 확인하십시오. 그렇지 않으면 준비 프로세스가 실패합니다. VirtIO ISO 드라이버는 여기에서 다운로드할 수 있습니다. 스크립트는 마운트된 드라이브를 감지하고 필요한 파일을 자동으로 복사합니다.
-
링크에 지정된 ISO가 사용되는지 확인하십시오. 준비 스크립트는 .msi 패키지를 사용하여 드라이버와 qemu-guest-agent를 설치합니다. 사전 요구 사항이 준비되면 Shift 툴킷 UI에 로그인하여 Proxmox VE를 대상 하이퍼바이저로 사용하는 사이트를 구성하십시오. 추가하려면 "새 사이트 추가"를 클릭하고 "대상"을 선택하십시오.
-
1단계: 대상 사이트(Proxmox VE) 추가
대상 Proxmox VE 환경을 Shift Toolkit에 추가합니다.
-
*새 사이트 추가*를 클릭하고 *대상*을 선택하세요.
예를 보여주세요

-
목적지 사이트 세부 정보를 입력하세요:
사이트 이름: 사이트 이름을 입력합니다 하이퍼바이저: 대상으로 Proxmox VE(PVE)를 선택합니다 사이트 위치: 기본 옵션을 선택합니다 커넥터: 기본 선택을 선택합니다
-
*계속*을 클릭하세요.
예를 보여주세요

-
대상 PVE 세부 정보를 입력합니다
엔드포인트: Proxmox 노드의 IP 주소 또는 FQDN 사용자 이름: 접속에 사용할 Linux 사용자 이름(형식: username) * 예: ntapshift. @pam은 입력할 필요가 없습니다. 비밀번호: 접속 비밀번호
-
*자체 서명된 인증서 수락*을 선택하고 *계속*을 클릭합니다.
예를 보여주세요

-
*사이트 만들기*를 클릭하세요.
예를 보여주세요
디스크 포맷 변환은 볼륨 수준에서 동일한 볼륨 내에서 이루어지므로 소스 볼륨과 대상 볼륨은 동일합니다.
2단계: 리소스 그룹 만들기
부팅 순서와 부팅 지연 구성을 보존하기 위해 VM을 리소스 그룹으로 구성합니다.
-
리소스 그룹을 만들기 전에 Qtree가 프로비저닝되었는지 확인하세요(필수 조건 섹션에 언급된 대로).
-
*리소스 그룹*으로 이동하여 *새 리소스 그룹 만들기*를 클릭합니다.
-
드롭다운에서 *소스 사이트*를 선택하고 *만들기*를 클릭합니다.
-
리소스 그룹 세부 정보를 제공하고 워크플로를 선택합니다.
-
복제 기반 마이그레이션: 소스 하이퍼바이저에서 대상 하이퍼바이저로 종단 간 마이그레이션을 수행합니다.
-
클론 기반 변환: 디스크 형식을 선택한 하이퍼바이저 유형으로 변환합니다.
예를 보여주세요
-
-
*계속*을 클릭하세요.
-
검색 옵션을 사용하여 VM을 선택합니다(기본 필터는 "데이터 저장소"입니다).
변환하기 전에 새로 생성된 ONTAP SVM의 지정된 데이터 저장소로 변환하거나 마이그레이션할 VM을 이동합니다. 이를 통해 프로덕션 NFS 데이터 저장소를 격리하고 지정된 데이터 저장소를 사용하여 가상 머신을 스테이징할 수 있습니다. 데이터 저장소 드롭다운에는 NFSv3 데이터 저장소만 표시됩니다. NFSv4 데이터 저장소는 표시되지 않습니다. 예를 보여주세요
-
마이그레이션 세부 정보 업데이트:
-
목적지 선택
-
대상 Proxmox 항목 선택
-
Datastore에서 Qtree로의 매핑 구성
예를 보여주세요
ESXi에서 Proxmox VE로 VM을 변환할 때 대상 경로(변환된 VM이 저장되는 위치)를 qtree로 설정해야 합니다. 변환된 VM 디스크를 저장하기 위해 여러 개의 qtree를 생성하여 사용할 수 있습니다.
여러 개의 qtree를 생성하여 변환된 VM 디스크를 적절히 저장하는 데 사용할 수 있습니다. -
-
선택한 모든 VM에 대한 부팅 순서와 부팅 지연을 구성합니다.
-
1: 전원을 켜는 첫 번째 VM
-
3: 기본값
-
5: 마지막으로 전원이 켜진 VM
-
-
*리소스 그룹 만들기*를 클릭합니다.
예를 보여주세요
리소스 그룹이 생성되어 블루프린트 구성을 위한 준비가 되었습니다.
3단계: 마이그레이션 청사진 만들기
플랫폼 매핑, 네트워크 구성, VM 설정을 포함하여 마이그레이션 계획을 정의하는 청사진을 만듭니다.
-
*청사진*으로 이동하여 *새 청사진 만들기*를 클릭합니다.
-
청사진의 이름을 제공하고 호스트 매핑을 구성합니다.
-
소스 사이트 및 관련 vCenter 선택
-
대상 사이트 및 관련 Proxmox VE 타겟을 선택합니다
-
클러스터 및 호스트 매핑 구성
예를 보여주세요
예를 보여주세요
-
-
리소스 그룹 세부 정보를 선택하고 *계속*을 클릭합니다.
예를 보여주세요
-
여러 그룹이 있는 경우 리소스 그룹에 대한 실행 순서를 설정합니다.
-
적절한 가상 스위치에 대한 네트워크 매핑을 구성합니다.
테스트 마이그레이션의 경우 "네트워크 구성 안 함"이 기본 선택 사항이며 Shift 툴킷은 IP 주소 할당을 수행하지 않습니다. 디스크가 변환되고 PVE 측에서 가상 머신이 시작되면 프로덕션 네트워크와의 충돌을 방지하기 위해 버블 논리 네트워크를 수동으로 할당합니다. 예를 보여주세요
-
스토리지 매핑을 검토합니다(VM 선택에 따라 자동으로 선택됨).
사전에 qtree가 프로비저닝되어 있고 필요한 권한이 할당되어 SMB 공유에서 가상 머신을 만들고 전원을 켤 수 있는지 확인하세요. -
VM 세부 정보에서 구성 세부 정보를 선택하고 각 OS 유형에 대한 서비스 계정 자격 증명을 제공합니다.
-
Windows: 로컬 관리자 권한이 있는 사용자를 사용하세요(도메인 자격 증명도 사용할 수 있지만 변환하기 전에 VM에 사용자 프로필이 있는지 확인하세요)
-
Linux: 암호 프롬프트 없이 sudo 명령을 실행할 수 있는 사용자를 사용합니다(사용자는 sudoers 목록에 있거나 추가되어야 함).
/etc/sudoers.d/접는 사람)예를 보여주세요
예를 보여주세요
구성 선택을 통해 디스크 이미지 형식을 선택하고 prepareVM 재정의를 건너뛸 수 있습니다. 디스크 이미지 형식의 경우 워크플로는 기본적으로 QCOW2를 사용하지만 RAW 형식이 필요한 경우 선택할 수 있습니다. prepareVM 재정의를 사용하면 VM 준비를 건너뛸 수 있으므로 관리자가 자체 스크립트를 실행하여 VM을 마이그레이션할 수 있도록 준비할 수 있습니다. 선택한 경우 Shift 툴킷은 스크립트를 삽입하거나 VirtIO 드라이버를 추가하지 않습니다.
-
-
IP 설정 구성:
-
구성하지 마세요: 기본 옵션
-
IP 유지: 소스 시스템의 동일한 IP 유지
-
DHCP: 대상 VM에 DHCP를 할당합니다.
prepareVM 단계에서 VM의 전원이 켜져 있는지, VMware Tools가 설치되어 있는지, 준비 스크립트가 적절한 권한으로 실행되는지 확인하세요.
-
-
VM 설정 구성:
-
CPU/RAM 매개변수 크기 조정(선택 사항)
-
부팅 순서 및 부팅 지연 수정
-
전원 켜기: 마이그레이션 후 VM 전원을 켜도록 선택합니다(기본값: 켜짐)
-
VMware Tools 제거: 변환 후 VMware Tools 제거(기본값: 선택됨)
-
VM 펌웨어: Gen1 > BIOS 및 Gen2 > EFI(자동)
-
MAC 유지: 라이선스 요구 사항을 위해 MAC 주소를 유지합니다.
-
서비스 계정 재정의: 필요한 경우 별도의 서비스 계정을 지정하세요.
-
VLAN 재정의: 대상 하이퍼바이저가 다른 VLAN 이름을 사용하는 경우 올바른 태그가 지정된 VLAN 이름을 선택합니다.
예를 보여주세요
-
-
*계속*을 클릭하세요.
-
날짜와 시간을 선택하여 마이그레이션을 예약하세요.
VM 준비 시간을 확보하기 위해 최소 30분 전에 마이그레이션 일정을 예약하세요. -
*청사진 만들기*를 클릭하세요.
Shift Toolkit은 소스 VM에서 스크립트를 실행하여 마이그레이션을 준비하는 prepareVM 작업을 시작합니다.
예를 보여주세요
준비 과정:
-
드라이버(RHEL/CentOS, Alma Linux)를 추가하고 VMware 도구를 제거하고 IP/경로/DNS 정보를 백업하기 위한 스크립트를 삽입합니다.
-
invoke-VMScript를 사용하여 게스트 VM에 연결하고 준비 작업을 실행합니다.
-
Windows VM의 경우: 스크립트를 저장합니다.
C:\NetApp -
Linux VM의 경우: 스크립트를 저장합니다.
/NetApp그리고/opt
예를 보여주세요
prepareVM이 성공적으로 완료되면 블루프린트 상태가 "활성"으로 업데이트됩니다. 이제 예약된 시간에 마이그레이션이 진행되거나 마이그레이션 옵션을 클릭하여 수동으로 시작할 수 있습니다.
4단계: 마이그레이션 실행
VMware ESXi에서 Proxmox VE로 VM을 변환하는 마이그레이션 워크플로를 트리거합니다.
-
모든 VM은 계획된 유지 관리 일정에 따라 정상적으로 전원이 꺼집니다.
-
Shift VM이 도메인의 일부인지 확인하세요.
-
CIFS 공유가 적절한 권한으로 구성되었는지 확인하세요.
-
마이그레이션 또는 변환에 사용되는 qtree에는 올바른 보안 스타일이 있습니다.
-
청사진에서 *마이그레이션*을 클릭합니다.
-
Shift Toolkit은 다음과 같은 작업을 수행합니다.
-
블루프린트의 모든 VM에 대한 기존 스냅샷을 삭제합니다.
-
Blueprint용 VM 스냅샷 트리거 – 소스에서
-
디스크 변환 전 볼륨 스냅샷 트리거
-
더미 디스크가 연결된 VM을 생성합니다
-
모든 VM에 대해 VMDK를 QCOW2 또는 RAW 형식으로 변환하고 더미 디스크를 재정의합니다
-
대상에서 리소스 그룹의 VM 전원 켜기
-
각 VM에 네트워크를 등록합니다.
-
VMware Tools를 제거하고 OS 유형에 따라 트리거 스크립트 또는 cron 작업을 사용하여 IP 주소를 할당합니다
-
변환은 몇 초 만에 완료되므로 가장 빠른 마이그레이션 방식이며 VM 가동 중지 시간도 줄어듭니다.
작업이 완료되면 청사진 상태가 "마이그레이션 완료"로 변경됩니다.
예를 보여주세요
예를 보여주세요
Shift 툴킷 워크플로우
아래 섹션에서는 VMDK를 변환하고 Proxmox VE 측에서 VM을 생성하기 위해 Shift 툴킷에 의해 트리거되는 단계를 다룹니다.
Shift 툴킷은 기본 부팅 디스크를 포함하여 각 VM과 연결된 VMDK 파일을 자동으로 찾습니다.
|
|
VMDK 파일이 여러 개 있는 경우 각 VMDK가 변환됩니다. |
가상 머신 디스크 이미지가 qcow2 또는 RAW 형식으로 변환되면 Shift 툴킷은 해당 파일을 적절한 스토리지 풀에 배치하고 각 디스크를 해당 VM ID 폴더 내에 추가합니다.
Shift 툴킷은 OS에 따라 각 VM을 생성하기 위해 REST API 호출을 수행합니다.
|
|
VM은 각각의 Proxmox 노드 아래에 생성됩니다. |
가상 머신 OS에 따라 Shift 툴킷은 스토리지 컨트롤러 인터페이스와 함께 VM 부팅 옵션을 자동으로 할당합니다. Linux 배포판의 경우 VirtIO 또는 VirtIO scsi가 사용됩니다. Windows의 경우 VM은 SATA 인터페이스로 전원이 켜진 후 예약된 스크립트가 VirtIO 드라이버를 자동으로 설치하고 인터페이스를 VirtIO로 변경합니다. 네트워크는 선택 항목에 따라 할당됩니다.
Proxmox VE에서 VM을 마이그레이션하고 생성하기 위한 최소 권한
이 섹션에서는 VM 마이그레이션을 수행하는 데 필요한 최소 권한을 가진 전용 사용자 계정을 생성하는 데 필요한 단계를 설명합니다.
-
Linux 사용자 생성
-
useradd -m -s /bin/bash ntapshift
-
passwd ntapshift
-
-
Proxmox에 사용자 추가
-
pveum useradd ntapshift@pam
-
-
마이그레이션 역할을 생성합니다
-
pveum roleadd ntapshift-migrator -privs "Datastore.AllocateSpace, Datastore.AllocateTemplate, Datastore.Audit, SDN.Audit,SDN.Use, Sys.AccessNetwork, Sys.Audit, Sys.Modify, VM.Allocate, VM.Audit, VM.Config.CDROM, VM.Config.CPU, VM.Config.Cloudinit, VM.Config.Disk, VM.Config.HWType, VM.Config.Memory, VM.Config.Network, VM.Config.Options, VM.Console, VM.Migrate, VM.PowerMgmt"
-
-
클러스터 루트에 역할을 할당합니다
-
pveum aclmod / -user ntapshift@pam -role ntapshift-migrator
-
-
특정 노드에 역할을 할당합니다
-
pveum aclmod /nodes/<node-name> -user ntapshift@pam -role ntapshift-migrator
-
|
|
( `<node-name>`을 각 실제 Proxmox 노드 이름으로 교체) |