Proxmox VE HOWTO : Migrate to Proxmox VE

Proxmox VE HOWTO의 Migrate to ProxmoxVE를Google Translate로 기계번역하고, 살짝 교정했습니다.
https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE

이 문서는 사용자가 Proxmox 가상 환경으로 전환하는 데 도움을 주기 위한 것입니다. 첫 번째 부분에서는 Proxmox VE의 핵심 개념을 설명하고, 두 번째 부분에서는 VM을 Proxmox VE로 마이그레이션하는 몇 가지 방법을 간략하게 설명합니다. VMware를 소스로 염두에 두고 작성되었지만 대부분의 섹션은 다른 소스 하이퍼바이저에도 적용되어야 합니다.

개념

아키텍처

Proxmox VE는 Debian GNU/Linux를 기반으로 하며 Ubuntu 커널을 기반으로 한 맞춤형 Linux 커널을 사용합니다. Proxmox VE 특정 소프트웨어 패키지는 Proxmox Server Solutions에서 제공됩니다.

/etc/network/interfaces에 있는 네트워크 구성과 같은 표준 구성 파일 및 메커니즘은 가능할 때마다 사용됩니다.

Proxmox VE는 노드 관리를 위한 다양한 옵션을 제공합니다. 중앙 웹 기반 그래픽 사용자 인터페이스(GUI), 명령줄 인터페이스(CLI) 도구 및 REST API를 사용하면 노드 리소스, 가상 머신, 컨테이너, 스토리지 액세스, 디스크 관리, 소프트웨어 정의 네트워킹(SDN), 방화벽 및 더.

Proxmox VE 관련 구성 파일(스토리지, 게스트 구성, 클러스터 등)은 /etc/pve 디렉터리에 있습니다. 이는 클러스터의 모든 노드에서 내용을 동기화하는 Proxmox 클러스터 파일 시스템(pmxcfs)에 의해 지원됩니다.

VM(가상 머신) 또는 LXC 컨테이너와 같은 가상 게스트는 VMID라는 고유한 숫자 ID로 식별됩니다. 이 ID는 구성 파일 이름이나 디스크 이미지 이름 등 여러 위치에서 사용됩니다. VMID의 하한 및 상한은 Proxmox VE 클러스터의 데이터 센터 -> 옵션 -> 다음 무료 VMID 범위에서 정의할 수 있습니다. 새 VM이 생성될 때 이러한 제한을 벗어나 VMID를 수동으로 할당할 수도 있습니다.

라이센스

Proxmox VE 소스 코드는 무료로 제공되며 GNU Affero General Public License, v3(GNU AGPLv3)에 따라 출시됩니다. Proxmox VE에 대한 다른 라이센스 유형은 사용할 수 없습니다. 예를 들어 OEM 라이센스는 선택 사항이 아닙니다. 그러나 AGPLv3의 조건을 엄격히 준수하는 한 Proxmox VE를 다른 소프트웨어 패키지와 함께 번들로 묶을 수 있습니다.

구독

Proxmox VE 프로젝트를 주도하는 회사인 Proxmox Server Solutions는 구독을 통해 사용할 수 있는 추가 서비스를 제공합니다. Proxmox VE 솔루션은 완전히 free/libre open-source software(FLOSS)이고 모든 기능을 무료로 액세스할 수 있지만 구독을 통해 엔터프라이즈급 서비스에 액세스할 수 있습니다.

구독하면 Proxmox VE에 대한 기본적이고 안정적이며 권장되는 저장소인 Enterprise 저장소에 대한 액세스가 제공됩니다. 이 특별한 저장소에는 광범위한 테스트를 거쳐 안정적인 것으로 간주되는 업데이트만 포함되어 있어 최적의 시스템 성능과 안정성을 보장합니다. 프로덕션 환경에 권장됩니다.

구독 수준 Basic, Standard 또는 Premium에는 엔터프라이즈급 기술 지원이 포함됩니다. 기술 지원은 Proxmox VE를 개발하는 엔지니어와 직접 소통할 수 있는 Proxmox 고객 포털을 통해 제공됩니다.

Proxmox VE 클러스터에서 각 노드에는 자체 구독이 필요하며 모든 노드는 동일한 구독 수준을 가져야 합니다.

자세한 내용은 Proxmox 서버 솔루션 웹사이트를 참조하세요.

클러스터

Proxmox VE 클러스터는 쿼럼(과반수 투표)을 통해 작동하는 다중 마스터 클러스터입니다. 각 노드는 클러스터에 한 표씩 기여합니다. 안정적인 클러스터에는 최소 3표가 필요합니다. 즉, Proxmox VE 클러스터는 최소 3개 노드로 구성하는 것이 좋습니다. 2노드 클러스터의 경우 QDevice 메커니즘을 사용하여 추가 투표를 제공할 수 있습니다.

각 노드는 웹 GUI 및 CLI 도구를 제공하므로 클러스터 노드 중 하나에 연결하여 클러스터 관리를 수행할 수 있습니다.

Proxmox VE 클러스터 통신은 Corosync 프로토콜을 사용합니다. 이 프로토콜은 최대 8개의 네트워크를 지원할 수 있으며 네트워크를 사용할 수 없게 되면 자동으로 네트워크 간에 전환됩니다.

참고: Proxmox VE 클러스터 네트워크(Corosync)의 경우 대기 시간이 짧은 안정적이고 안정적인 연결을 유지하는 것이 중요합니다. 다른 서비스의 정체를 방지하려면 Corosync 전용 물리적 네트워크를 설정하는 것이 모범 사례로 간주됩니다. 전용 네트워크에 문제가 발생할 경우 연결을 보장하기 위해 추가 중복 Corosync 네트워크를 구성해야 합니다.

네트워크

Proxmox VE는 Linux 네트워크 스택을 활용합니다. vmbr{X} 인터페이스는 노드의 가상 스위치입니다. 이러한 인터페이스는 기술적으로 Linux 브리지이며 VLAN을 처리할 수 있습니다.

참고: SDN(소프트웨어 정의 네트워킹)을 사용하는 경우 가상 스위치의 이름을 매우 자유롭게 정의할 수 있습니다.

LAG(링크 집계)를 네트워크 본드(bond)라고 합니다.

다양한 네트워크 계층을 쌓을 수 있습니다. 예를 들어 두 개의 물리적 인터페이스를 하나의 본드로 결합한 다음 vmbr의 브리지 포트로 사용할 수 있습니다.

VLAN은 여러 가지 방법으로 구성할 수 있습니다.

  • 게스트당 NIC
  • 네트워크 스택의 모든 계층에서 점 표기법을 사용합니다. 예를 들어 vmbr의 브리지 포트는 bond0.20이 되어 bond0에서 VLAN 20을 사용할 수 있습니다.
  • 전용 VLAN 인터페이스(vmbr 인터페이스의 브리지 포트로 사용할 수 있음)
  • 클러스터 전체, SDN VLAN 영역 사용
  • 보다 복잡한 네트워크 설정은 소프트웨어 정의 네트워킹(SDN)을 참조하세요.

참고: OVS(Open vSwitch)를 사용할 수 있지만 꼭 필요한 경우는 거의 없습니다. 역사적으로 Linux 브리지에는 일부 기능이 부족했지만 대부분의 영역에서 OVS를 따라잡았으므로 OVS를 사용할 필요가 거의 없습니다.

스토리지

Proxmox VE는 스토리지 플러그인을 활용합니다. 스토리지 플러그인은 Proxmox VE와 더 높은 수준에서 상호 작용하고(예: 디스크 이미지 생성 및 삭제, 스냅샷 찍기 등) 개별 스토리지 유형에 대한 하위 수준 구현을 처리합니다. Proxmox VE에는 다양한 기본 스토리지 플러그인이 함께 제공됩니다. 또한 제3자가 Proxmox VE와 통합할 플러그인을 제공할 수도 있습니다.

스토리지는 클러스터 수준에서 정의됩니다. 콘텐츠 유형은 스토리지를 어떤 용도로 사용할 수 있는지 정의합니다. 설명서에 자세한 내용이 있습니다.

파일 또는 블록 수준 스토리지

스토리지는 대략 파일 수준 스토리지와 블록 수준 스토리지라는 두 가지 범주로 분류됩니다.

  • 파일 수준 저장소에서 Proxmox VE는 특정 디렉터리 구조를 예상하고 존재하지 않는 경우 이를 생성합니다. 디스크 이미지는 파일에 저장되며 VM 디스크에 대해 다양한 파일 형식을 선택할 수 있지만 전체 기능을 위해서는 qcow2가 선호됩니다. 파일 수준 스토리지는 ISO 이미지, 컨테이너 템플릿 또는 백업과 같은 추가 콘텐츠 유형을 저장할 수도 있습니다. 예: 로컬 디렉터리, NFS, CIFS, …
  • 블록 수준 스토리지에서 기본 스토리지 계층은 디스크 이미지에 사용되는 블록 장치(실제 디스크와 유사)를 제공합니다. 스냅샷과 같은 기능은 스토리지 계층 자체에서 제공됩니다. 예: ZFS, Ceph RBD, 씬 LVM, …

로컬 저장소

로컬 스토리지는 모든 노드에서 사용 가능한 것으로 간주되지만 각 노드에서 물리적으로 다릅니다. 이는 로컬 저장소가 각 노드에서 서로 다른 콘텐츠를 가질 수 있음을 의미합니다. 일부 노드에 로컬 스토리지가 없는 경우 스토리지 구성의 노드 목록을 사용하여 스토리지가 존재하는 노드로 제한합니다.

로컬 저장소 유형의 예로는 ZFS, Directory, LVM, BTRFS가 있습니다.

참고: 디렉터리 및 LVM(비씬)은 일반적으로 로컬이지만 일부 상황에서는 공유될 수 있습니다.

공유 스토리지

공유 스토리지는 모든 노드에서 동일한 콘텐츠를 사용할 수 있는 것으로 간주됩니다. 일부 스토리지 유형(예: 네트워크 공유 또는 Ceph RBD)은 기본적으로 공유됩니다.

일부 저장소 유형은 기본적으로 로컬이지만 공유로 표시될 수 있습니다. 공유 플래그는 외부 메커니즘이 모든 노드가 동일한 데이터에 액세스하도록 보장한다는 것을 Proxmox VE 클러스터에 알려줍니다.

기본 스토리지 플러그인에서 지원하지 않는 네트워크 공유 또는 클러스터 파일 시스템을 사용하려는 경우 필요한 패키지를 수동으로 설치하고(Proxmox VE는 Debian 기반) 일부 마운트 경로에서 파일 시스템을 사용할 수 있도록 설정할 수 있습니다. 그런 다음 Proxmox VE의 마운트 경로에 대한 디렉터리 저장소를 추가하고 공유로 표시할 수 있습니다.

참고: Proxmox VE가 지정된 경로에 마운트된 파일 시스템을 감지한 후에만 사용할 수 있도록 해당 디렉토리 저장소에 is_mountpoint 플래그를 추가하십시오. pvesm set {storage} –is_mountpoint 1. 플래그가 없으면 Proxmox VE는 마운트를 사용할 수 없는 경우 호스트 OS의 파일 시스템입니다.

또 다른 일반적인 사용 사례는 클러스터의 모든 노드에서 액세스해야 하는 iSCSI 또는 FC(파이버 채널) LUN을 갖는 것입니다. 현재 기본적으로 지원되는 두 가지 옵션이 있습니다.

  • 디스크 이미지당 하나의 LUN을 생성합니다.
    • 새 VM 및 다수의 LUN을 생성할 때 높은 관리 오버헤드
    • iSCSI 대상에서 스냅샷을 수행해야 합니다.
  • 하나의 대형 LUN 위에 LVM을 설정합니다.
    • 디스크 이미지 생성이 Proxmox VE 단독으로 처리되므로 관리가 더 쉬워집니다.
    • 스냅샷 없음

iSCSI 대상 또는 FC LUN에 대한 중복 연결이 여러 개 있는 경우가 많습니다. 이 경우 다중 경로도 구성해야 합니다. 일반 튜토리얼은 ISCSI_Multipath를 참조하세요. 다중 경로 구성에 대한 자세한 내용은 저장소 상자 공급업체의 설명서를 참조하세요. 이상적으로는 스토리지 박스 공급업체가 스토리지 플러그인을 제공하는 것입니다.

고가용성

HA 개요

Proxmox VE 클러스터에서 HA(고가용성)가 작동하는 방식은 다음과 같습니다.

HA 게스트를 실행하는 모든 노드는 10초마다 클러스터에 자신의 존재를 보고합니다.

노드가 실패하거나 네트워크 연결이 끊어지면 클러스터의 나머지 부분은 노드가 다시 돌아올 때까지(예: 네트워크 문제가 빠르게 해결되는 경우) 일정 시간(~2분) 동안 기다립니다.

노드가 다시 돌아오지 않으면 실패한 노드에서 실행 중이던 HA 게스트가 나머지 클러스터에서 복구(시작)됩니다. 이를 위해서는 게스트에 대한 모든 리소스를 사용할 수 있어야 합니다. 이는 주로 디스크 이미지를 공유 저장소에서 사용할 수 있어야 함을 의미합니다. 복구가 작동하려면 통과 장치도 고려해야 합니다.

HA 게스트가 노드에서 실행되면(Datacenter -> HA가 노드를 “active”으로 표시함) 안정적인 Corosync 연결이 중요합니다! 따라서 Corosync 전용 네트워크를 하나 이상 보유하는 것이 가장 좋습니다. 노드는 Corosync 네트워크를 사용하여 Proxmox VE 클러스터와 통신하고 해당 클러스터의 존재를 보고합니다. 클러스터 생성 중이나 이후에 추가 Corosync 링크를 구성할 수 있습니다. Corosync는 여러 네트워크 간에 전환할 수 있으며 네트워크 중 하나를 사용할 수 없게 되면 전환됩니다.

노드가 실행 중이지만 클러스터의 할당량(과반수) 부분에 대한 Corosync 연결이 끊어진 경우 다시 연결할 수 있는지 확인하기 위해 약 1분 동안 기다립니다. 가능하다면 모든 것이 괜찮습니다. 그렇지 않은 경우 노드는 자체적으로 울타리를 칩니다. 이는 기본적으로 기기의 재설정 버튼을 누르는 것과 같습니다. 이는 해당 노드의 HA 게스트 전원이 확실히 꺼지고 클러스터의 나머지 부분이 이를 복구할 때 데이터 손상 위험이 없는지 확인하는 데 필요합니다.

Corosync는 네트워크가 완전히 다운되거나 대기 시간이 너무 길면 네트워크를 사용할 수 없는 것으로 간주합니다. 물리적 링크를 정체시키는 다른 서비스로 인해 지연 시간이 너무 길어질 수 있습니다. 예를 들어, 스토리지 또는 백업과 관련된 모든 것은 네트워크 링크를 포화시킬 가능성이 높습니다. 예를 들어 동일한 물리적 링크를 사용하여 디스크 이미지에 액세스하고 데이터를 백업 대상에 쓰는 경우 이러한 두 가지 요소를 결합할 수도 있습니다.

클러스터의 모든 노드 또는 대부분의 노드에서 동일한 Corosync 연결 문제가 발생하고 자체적으로 차단되는 경우 클러스터가 갑자기 재부팅된 것처럼 보입니다.

현재(2024년 기준) 서로 다른 노드에 있는 두 개의 VM이 잠금 단계로 실행되는 경우 사용할 수 있는 내결함성은 없습니다. 이 기능은 QEMU/KVM에서는 COLO라고 하며 현재 개발 중입니다.

구성

HA를 사용하려면 노드에서 게스트 디스크 이미지를 사용할 수 있어야 합니다. 일반적으로 이는 공유 저장소에 저장해야 함을 의미합니다. 소규모 클러스터에서는 ZFS와 복제가 대안이 될 수 있지만 비동기식이므로 마지막으로 성공한 복제가 발생한 시기에 따라 일부 데이터 손실이 발생할 수 있다는 주의 사항이 있습니다.

HA 환경에서 통과된 장치의 경우 리소스 매핑을 사용하여 할당을 단순화할 수 있습니다.

HA 그룹이 항상 필요한 것은 아니지만 HA 기능의 동작을 제어하는 데 도움이 될 수 있습니다. 이는 특정 게스트를 노드의 하위 집합에서만 복구할 수 있는 경우, 예를 들어 특정 저장소 또는 통과 장치를 모든 노드에서 사용할 수 없는 경우 유용할 수 있습니다. HA가 애플리케이션 계층(게스트 내)에서 처리되는 경우 HA 그룹을 활용하여 VM이 동일한 노드에서 실행되지 않도록 할 수 있습니다.

백업

Proxmox VE에는 아카이브 기반 Proxmox vzdump 도구 또는 Proxmox 백업 서버를 사용하여 백업 통합 기능이 있습니다. 두 솔루션 모두 전체 백업을 생성합니다.

Proxmox Backup Server는 파일 시스템과 관계없이 중복 제거 기능을 제공합니다. 또한 실행 중인 VM을 백업할 때 마지막 백업 이후의 증분 변경 사항만 전송됩니다. 그 결과 VM을 빠르게 백업하고 Proxmox 백업 서버에서 스토리지 사용량을 최소화할 수 있습니다. 또한 Proxmox Backup Server는 VM의 실시간 복원을 지원합니다. 즉, 복원이 계속 진행되는 동안 VM을 즉시 시작할 수 있습니다.

Proxmox VE와 통합되는 다른 타사 백업 소프트웨어가 있을 수 있습니다.

이주

가상 머신을 마이그레이션하는 방법에는 전체 VM을 수동으로 가져오는 방법과 자동으로 가져오는 방법이 있습니다. 프로덕션 환경을 이동하기 전에 하나 이상의 테스트 VM을 사용하여 마이그레이션을 테스트하고 프로세스에 익숙해지는 것이 좋습니다.

대상 VM 구성

모범 사례

Proxmox VE의 대상 VM 구성은 모범 사례를 따라야 합니다. 그들은:

  • CPU: CPU 유형은 실시간 마이그레이션을 허용하면서도 기본 하드웨어와 밀접하게 일치해야 합니다.
    • 클러스터의 모든 노드가 정확히 동일한 CPU 모델을 갖는 경우 호스트 CPU 유형을 사용할 수 있습니다.
    • 클러스터의 일부 노드에 다른 CPU 모델이 있거나 나중에 다른 CPU를 사용하여 클러스터를 확장하려는 경우 일반 x86-64-v 모델 중 하나를 사용하는 것이 좋습니다. 가상 머신 CPU 유형 설명서에 자세한 내용이 있습니다.
  • 네트워크: VirtIO는 오버헤드가 가장 적으므로 바람직합니다. 반가상화된 VirtIO NIC용 드라이버가 없는 이전 운영 체제의 경우 다른 NIC 모델을 선택할 수 있습니다. 자세한 내용은 VM 네트워크 설명서를 참조하세요.
  • 메모리: “Ballooning Device치”를 활성화합니다. 메모리 벌루닝이 필요하지 않더라도 게스트 OS에서 자세한 메모리 사용량 정보를 수집하는 데 사용됩니다. 자세한 내용은 VM 메모리 설명서를 참조하세요.
  • 디스크:
    • 버스 유형: IO 스레드도 허용하는 효율적인 VirtIO-SCSI 드라이버를 사용하기 위해 VirtIO SCSI 단일로 설정된 SCSI 컨트롤러가 있는 SCSI입니다. 이것이 작동하려면 게스트가 VirtIO를 지원해야 합니다(아래 참조).
    • 삭제/삭제 명령을 스토리지 계층으로 전달하기 위해 삭제가 활성화되었습니다(씬 프로비저닝 시 유용함).
    • 디스크 IO를 별도의 스레드에 위임하기 위해 IO 스레드가 활성화되었습니다. 자세한 내용은 VM 디스크 설명서를 참조하세요.
    • Qemu: 호스트와 게스트 간의 통신을 개선하고 게스트에서 명령 실행을 용이하게 하려면 VM에 QEMU 게스트 에이전트를 설치하는 것이 좋습니다. 추가 정보는 여기에서 확인할 수 있습니다.

VirtIO 게스트 드라이버

Linux 기반 VM은 오래된 것이 아닌 한 즉시 반가상화 VirtIO 드라이버를 지원합니다. 커널 2.6.x부터 지원이 제공되었습니다.

Windows에는 기본적으로 VirtIO 드라이버 지원이 제공되지 않으므로 기존 Windows VM을 마이그레이션할 때 먼저 디스크 버스 유형으로 IDE 또는 SATA를 사용하십시오. 마이그레이션 후 Windows에서 (부팅) 디스크를 VirtIO SCSI로 전환하려면 추가 단계가 필요합니다.

새 Windows VM을 생성할 때 Windows VirtIO 드라이버가 포함된 ISO가 포함된 추가 CDROM 드라이브를 추가하여 Windows 설치 설정 마법사에서 VirtIO 드라이버를 직접 설치할 수 있습니다.

BIOS / UEFI

BIOS 설정은 소스 VM에 따라 다릅니다. 레거시 BIOS 모드로 부팅하는 경우 SeaBIOS로 설정해야 합니다. UEFI 모드로 부팅하는 경우 OVMF(UEFI)로 설정합니다.

일부 운영 체제는 UEFI 모드(/EFI/BOOT/BOOTX64.EFI)에서 기본 부팅 경로를 설정하지 않고 자체 사용자 지정 경로만 설정합니다. 이러한 상황에서는 BIOS가 올바르게 설정되어 있어도 VM이 부팅되지 않습니다. UEFI BIOS로 들어가서 사용자 정의 부팅 항목을 추가해야 합니다. 이러한 설정을 유지하려면 VM의 하드웨어 패널에서 EFI 디스크를 구성해야 합니다.

준비

  • 이전 하이퍼바이저와 관련된 게스트 도구는 마이그레이션 후에 제거하기 어려울 수 있으므로 마이그레이션하기 전에 제거하십시오.
  • 수동으로 복원할 수 있도록 게스트 네트워크 구성을 기록해 두십시오.
    • Windows에서는 정적 네트워크 구성이 있는 경우 이를 제거하는 것이 좋습니다. 마이그레이션 후 네트워크 어댑터가 변경되며 다른 네트워크 어댑터에 동일한 IP 주소를 구성하면 이전 네트워크 어댑터가 더 이상 존재하지 않더라도 Windows에 경고가 표시됩니다.
  • DHCP 예약의 경우 예약을 대상 VM NIC의 새 MAC 주소에 맞게 조정하거나 대상 VM NIC의 MAC 주소를 수동으로 설정합니다.
  • VM에서 전체 디스크 암호화가 사용되고 키가 가상 TPM 장치에 저장되어 있는 경우 비활성화하는 것이 좋습니다. 현재 vTPM 상태를 VMware에서 Proxmox VE로 마이그레이션하는 것은 불가능합니다. 만약의 경우를 대비해 VM의 암호를 해독할 수 있는 수동 키가 있는지 확인하세요.
  • 소스 VM의 전원을 끕니다.

전체 VM 자동 가져오기

Proxmox VE는 API 및 웹 기반 사용자 인터페이스에 대한 기본 통합을 위해 스토리지 플러그인 시스템을 사용하는 통합 VM 가져오기 도구를 제공합니다. 이를 사용하면 대부분의 구성이 Proxmox VE의 구성 모델에 매핑되고 가동 중지 시간이 감소되어 VM 전체를 가져올 수 있습니다.

지원되는 가져오기 소스

작성 당시(2024년 3월)에는 VMware ESXi만 가져오기 소스로 지원되지만 향후 이 최신 메커니즘을 사용하여 OVA/OVF 가져오기에 대한 지원을 추가할 계획이 있습니다.

가져오기는 ESXi 버전 6.5부터 버전 8.0까지 테스트되었습니다.

VMware vSAN 스토리지에서 지원하는 디스크가 있는 VM 가져오기가 작동하지 않습니다. 해결 방법은 먼저 VM의 하드 디스크를 다른 스토리지로 이동하는 것입니다.

자동 ESXi 가져오기: 단계별

ESXi 인스턴스에서 VM을 가져오려면 다음 단계를 따르세요.

  1. Proxmox VE가 버전 8(또는 그 이상)이고 사용 가능한 최신 시스템 업데이트가 적용되어 있는지 확인하십시오.
  2. Datacenter -> Storage -> Add 메뉴를 통해 “ESXi” 가져오기 소스 스토리지를 추가합니다. 여기에 도메인 또는 IP 주소와 관리자 계정의 자격 증명을 입력하세요. ESXi 인스턴스에 자체 서명된 인증서가 있는 경우 시스템 신뢰 저장소에 CA를 추가하거나 인증서 확인 건너뛰기 확인란을 선택해야 합니다. 참고: vCenter 인스턴스를 통해 가져올 수도 있지만 그렇게 하면 성능이 크게 저하됩니다.
  3. 왼쪽에 있는 리소스 트리에서 스토리지를 선택합니다.
  4. 가져오기 패널의 콘텐츠를 확인하여 사용 가능한 모든 VM을 볼 수 있는지 확인하세요.
  5. 가져올 VM을 선택하고 상단의 가져오기 버튼을 클릭합니다.
  6. VM 네트워크 장치가 연결되어야 하는 VM 디스크 및 네트워크 브리지에 대한 대상 스토리지를 최소한 선택하세요.
  7. 보다 세부적인 선택을 위해서는 고급 탭을 사용하십시오. 예를 들면 다음과 같습니다.
    • CD-ROM 드라이브용 새 ISO 이미지 선택
    • 디스크가 여러 개인 경우 각 디스크에 사용할 다른 스토리지 대상을 선택하세요.
    • 여러 네트워크 장치에 대해 서로 다른 네트워크 하드웨어 모델 또는 브리지 구성
    • 일부 디스크, CD-ROM 드라이브 또는 네트워크 장치 가져오기를 비활성화합니다. VM 하드웨어를 생성한 후에는 더 많은 옵션과 세부 정보를 편집하고 확장할 수 있습니다.
  8. 선택적으로 VM을 만드는 데 사용될 키 값 쌍의 전체 목록을 보려면 Resulting Config 탭을 확인하세요.
  9. VM 준비를 완료했는지 확인한 다음 소스 측 VM의 전원을 꺼서 일관된 상태를 확인하세요.
  10. Proxmox VE 측에서 실제 가져오기를 시작합니다.
  11. VM을 부팅한 다음 마이그레이션 후 변경 사항이 필요한지 확인합니다.

라이브-임포트

Proxmox VE는 실시간 가져오기도 지원합니다. 즉, 가져오기 프로세스 중에 VM이 시작됩니다. 이는 실행 중인 게스트 운영 체제에 필요한 하드 디스크 데이터를 초기 단계에서 가져오고 나머지 데이터를 백그라운드에서 비동기식으로 가져옴으로써 달성됩니다. 이 옵션은 가동 중지 시간을 줄여줍니다. ESXi의 VM은 여전히 꺼져 있으므로 가동 중지 시간이 발생할 수 있습니다.

처음에는 IO 성능이 약간 저하됩니다. 영향이 얼마나 큰지는 소스 및 대상 스토리지 성능, 네트워크 대역폭은 물론 시작 시 VM에서 실행되는 게스트 OS 및 워크로드와 같은 다양한 변수에 따라 달라집니다. 대부분 실시간 가져오기를 사용하면 서비스의 총 가동 중지 시간을 상당히 줄일 수 있습니다.

참고: 가져오기가 실패하면 가져오기 시작 이후 작성된 모든 데이터가 손실됩니다. 그렇기 때문에 테스트 VM에서 이 메커니즘을 테스트하고 대역폭이 낮거나 오류율이 높은 네트워크에서는 사용하지 않는 것이 좋습니다.

대량 임포트 시 고려 사항

많은 가상 머신을 가져올 때 가능한 한 많은 가져오기를 병렬로 시작하고 싶은 유혹을 받을 수 있습니다. 그러나 Proxmox VE와 VMware ESXi 간의 인터페이스를 제공하는 FUSE 파일 시스템은 여러 가져오기를 처리할 수 있지만 가져오기 작업을 최대한 직렬화하는 것이 좋습니다.

주요 제한 요소는 다음과 같습니다.

  • ESXi API의 연결 제한입니다. ESXi API는 사용 가능한 연결 수에 대한 제한이 상대적으로 낮습니다. 한도에 도달하면 클라이언트가 약 30초 동안 차단됩니다. 동시에 여러 가져오기를 시작하면 ESXi API가 오버로드될 가능성이 높아집니다. 이 경우 실행 중인 다른 모든 가져오기를 포함하여 모든 요청을 차단하기 시작하여 실시간으로 가져오는 게스트에 대한 IO가 중단될 수 있습니다. 과부하된 ESXi의 가능성을 줄이기 위해 Proxmox ‘esxi-folder-fuse’ 서비스는 병렬 연결을 4개로 제한하고 속도 제한을 받은 후 요청 재시도를 직렬화합니다. 여전히 속도 제한 또는 503 서비스를 사용할 수 없음 오류가 표시되면 세션 제한 옵션을 조정하여 크게 늘리거나 0으로 설정하여 완전히 비활성화할 수 있습니다. ESXi 버전에 따라 다음과 같이 변경할 수 있습니다.
    • ESXi 7.0: 웹 UI의 Host -> Manage -> System -> Advanced Settings에 있는 Config.HostAgent.vmacore.soap.maxSessionCount 옵션 적용
    • ESXi 6.5/6.7: /etc/vmware/hostd/config.xml 구성에서 및 값을 0으로 설정하고 hostd를 다시 시작(/etc/init.d/hostd restart)하거나 ESXi를 재부팅합니다. 해당 옵션을 찾을 수 없는 경우 섹션 내에 00를 삽입하여 추가할 수 있습니다(나중에 호스트를 다시 시작).
  • 소규모 읽기 작업을 처리하는 데 사용되는 미리 읽기 캐시의 메모리 사용량입니다. 각 디스크에는 각각 128MiB의 8개 블록으로 구성된 캐시가 있습니다. 동시에 많은 가져오기 작업을 실행하면 Proxmox VE 호스트에서 메모리 부족 상황이 발생할 수 있습니다.

일반적으로 동시에 4개 이하의 VM 디스크를 가져오도록 가져오기를 제한하는 것이 좋습니다. 이는 각각 하나의 디스크가 있는 4개의 VM 또는 4개의 디스크가 있는 하나의 VM을 의미할 수 있습니다. 특정 설정에 따라 한 번에 하나의 가져오기만 실행하는 것이 가능할 수도 있지만 여러 병렬 가져오기를 동시에 실행하는 것도 가능할 수도 있습니다.

수동 마이그레이션

전원이 꺼진 소스 VM의 디스크를 새 대상 VM으로 마이그레이션하는 방법에는 여러 가지가 있습니다. 가동 중지 시간이 다릅니다. 대규모 VM 디스크의 경우 VM 가동 중지 시간을 상당히 줄일 수 있으므로 보다 복잡한 방법을 선택하는 것이 가치가 있을 수 있습니다.

백업에서 복원

VM 백업이 이미 있는 경우 백업 솔루션이 Proxmox VE와의 통합을 제공하는지 확인하세요. 또는 베어메탈로 복원하는 것과 유사하게 라이브 매체에서 VM을 부팅하고 백업에서 현재 위치 복원을 수행할 수도 있습니다.

직접 복제

Clonezilla와 같은 도구를 사용하면 소스 VM 디스크를 새로 생성된 대상 VM에 직접 복제할 수 있습니다. 이는 일반적으로 라이브 매체를 사용하여 소스 및 대상 VM을 부팅하는 것을 의미합니다. 그런 다음 일반적으로 디스크를 대상 VM에 직접 복제하거나 네트워크 공유의 이미지에 저장하고 거기에서 대상 VM으로 복제할 수 있습니다.

OVF 가져오기

VM을 OVF로 내보내는 경우 qm importovf 명령을 사용할 수 있습니다.

VMware에서 Proxmox VE 호스트로 직접 VM을 내보내는 한 가지 방법은 VMware에서 다운로드할 수 있는 ovftool을 사용하는 것입니다. 사용 중인 ESXi 버전을 지원할 만큼 새로운 버전인지 확인하세요.

Linux 64비트 버전을 다운로드하세요. Proxmox VE 호스트에서 ZIP 아카이브의 압축을 풀려면 먼저 apt install unzip을 사용하여 unzip 유틸리티를 설치해야 합니다.

ovftool을 실행하려면 추출된 위치로 이동하고 ESXi 호스트에 연결할 때 다음 매개변수를 사용하여 실행합니다.

./ovftool vi://root@{IP or FQDN of ESXi host}/{VM name} /path/to/export/location

vCenter 인스턴스에 연결할 때 명령은 다음과 같습니다.

./ovftool vi://{user}:{password}@{IP or FQDN of vCenter}/{Datacenter}/vm/{VM name} /path/to/export/location

소스 VM의 위치가 확실하지 않은 경우 추가 소스 위치나 내보낼 경로 없이 ovftool을 실행할 수 있습니다. 그런 다음 가능한 다음 단계가 나열됩니다. 예를 들어:

./ovftool vi://{user}:{password}@{IP or FQDN of vCenter}/{Datacenter}/

내보낸 후에는 {VM Name}.ovf 및 일치하는 vmdk 파일이 포함된 내보내기 디렉터리로 이동합니다.

가져올 명령은 다음과 같습니다.

qm importovf {vmid} {VM name}.ovf {target storage}

qm importovf 100 Server.ovf local-zfs

이 명령으로 VM이 생성되므로 무료 VMID를 선택하거나 Tab을 눌러 다음 무료 VMID를 자동 완성합니다. 대상 스토리지는 콘텐츠 유형 “Disk Image”가 활성화된 노드의 모든 스토리지일 수 있습니다. 참고: 대상 스토리지가 디스크 이미지를 파일로 저장하는 경우 –format 매개변수를 사용하여 파일 형식을 정의할 수 있습니다. 사용 가능한 옵션은 raw, vmdk, qcow2입니다. QEMU/KVM의 기본 형식은 qcow2입니다.

가져오기가 완료되면 VM 구성을 마무리해야 합니다.

  • 네트워크 카드 추가
  • 모범 사례를 따르도록 설정을 조정합니다. 예를 들어, CLI를 사용하여 CPU 유형 및 SCSI 컨트롤러를 설정할 수 있습니다. qm set {vmid} –cpu x86-64-v2-AES –scsihw virtio-scsi-single
  • 게스트 OS가 Windows인 경우 디스크 버스 유형을 기본 SCSI에서 IDE 또는 SATA로 전환해야 합니다.
    • 디스크를 분리합니다. “사용되지 않은” 디스크로 표시됩니다.
    • “Unused” 디스크를 두 번 클릭하거나 디스크를 선택하고 “Edit”을 클릭하여 디스크를 연결합니다. 그런 다음 버스 유형을 IDE 또는 SATA로 설정합니다. VirtIO로 전환하려면 추가 단계가 필요합니다.

디스크 가져오기

여기서 아이디어는 qm disk import 명령을 사용하여 디스크 이미지를 직접 가져오는 것입니다. Proxmox VE는 *.vmdk 및 *-plat.vmdk 파일에 액세스할 수 있어야 합니다.

  • 이를 설정하는 가장 쉬운 방법은 소스 VMware 클러스터와 대상 Proxmox VE 클러스터 모두에서 액세스할 수 있는 네트워크 공유입니다. Proxmox VE에서 네트워크 공유 유형을 지원하는 경우 이를 스토리지로 직접 추가할 수 있습니다.
  • 또는 Proxmox VE에 액세스할 수 있는 위치에 파일을 복사할 수 있습니다.

qm disk import 명령은 디스크 이미지를 올바른 대상 형식으로 즉시 변환합니다. 원본 VM을 “서버”라고 가정합니다.

  • 원본 VM의 준비 단계를 실행합니다.
  • 필요한 구성을 사용하여 Proxmox VE 호스트에 새 VM을 만듭니다.
  • “Disk” 탭에서 기본 디스크를 제거합니다.
  • Proxmox VE 호스트에서 웹 GUI 또는 SSH를 통해 셸을 엽니다.
  • vmdk 파일이 있는 디렉터리로 이동합니다. 예를 들어, 네트워크 공유에 대한 스토리지를 구성한 경우: cd /mnt/pve/{스토리지 이름}/{VM 이름}. ls 명령을 사용하여 디렉터리 내용을 나열하고 필요한 파일이 있는지 확인합니다.
  • 명령의 매개변수는 다음과 같습니다: qm disk import {target VMID} {vmdk file} {target storage}. 예: qm disk import 104 Server.vmdk local-zfs

참고: 대상 스토리지가 디스크 이미지를 파일로 저장하는 경우 –format 매개변수를 사용하여 파일 형식을 정의할 수 있습니다. 사용 가능한 옵션은 raw, vmdk, qcow2입니다. QEMU/KVM의 기본 형식은 qcow2입니다.

  • 가져오기가 완료되면 디스크는 VM의 하드웨어 패널에 unusedX 디스크로 표시됩니다.
  • 디스크 이미지를 버스에 연결합니다. 이를 위해 두 번 클릭하거나 선택하고 편집 버튼을 누르십시오.
    • Windows VM의 경우 기본적으로 IDE 또는 SATA만 작동한다는 점을 명심하세요. 마이그레이션 후 VirtIO로 전환하려면 추가 단계가 필요합니다.
  • 디스크 이미지가 부팅 디스크인 경우 이를 활성화하고 VM의 옵션 -> 부팅 순서 패널에서 올바른 부팅 순서를 선택합니다.

디스크 연결 및 디스크 이동(다운타임 최소화)

VMware 및 Proxmox VE 클러스터 모두에서 소스 VM에 액세스할 수 있는 경우(이상적으로는 네트워크 공유를 통해) Proxmox VE는 *.vmdk 디스크 이미지를 사용하여 VM을 즉시 시작할 수 있습니다. 그런 다음 VM이 실행되는 동안 디스크 이미지를 Proxmox VE 클러스터의 최종 대상 스토리지로 이동할 수 있습니다. 이로 인한 가동 중지 시간은 최소화됩니다. 이 방법은 다른 방법보다 복잡하지만 가동 중지 시간이 매우 짧기 때문에 그만한 가치가 있습니다.

원본 VM을 “Server”라고 가정합니다.

  • Proxmox VE 클러스터에서 네트워크 공유를 가리키는 새 스토리지를 만듭니다. 콘텐츠 유형 “디스크 이미지”를 활성화해야 합니다. Proxmox VE는 /mnt/pve/{storage name} 아래에 공유를 마운트합니다. 해당 경로에서 VMware의 *.vmdk 및 *-plat.vmdk 파일을 사용할 수 있는지 확인하십시오.
  • 소스 VM과 최대한 일치하는 대상 VM을 만듭니다.
    • EFI 디스크(Microsoft Windows를 OS로 선택하거나 OVMF/UEFI를 BIOS로 선택할 때 UI에 표시됨) 및 TPM 장치는 최종 대상 스토리지에 저장되어야 합니다.
    • OS 디스크의 경우 네트워크 공유를 스토리지로 선택하고 vmdk 형식으로 선택합니다. 이 설정을 사용하면 Proxmox VE는 /mnt/pve/{storage name}/images/{vmid}/ 아래에 새 *.vmdk 파일을 생성합니다.
    • Windows VM의 경우 기본적으로 IDE 또는 SATA만 작동한다는 점을 명심하세요. 마이그레이션 후 VirtIO로 전환하려면 추가 단계가 필요합니다.
  • 소스 *.vmdk 파일을 복사하고 Proxmox VE에서 생성된 파일을 덮어씁니다. 소스 *-Flat.vmdk를 그대로 둡니다. VM의 하드웨어 패널에서 디스크 이미지의 이름을 확인합니다. 예를 들어 VMID가 103인 VM의 경우 /mnt/pve/{storage name}으로 이동하여 cp Server/Server.vmdk Images/103/vm-103-disk-0.vmdk를 실행합니다.
  • 복사된 파일을 편집합니다(예: nano Images/103/vm-103-disk-0.vmdk). 다음과 유사하게 보입니다.
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=0ae39a16
parentCID=ffffffff
createType="vmfs"

# Extent description
RW 104857600 VMFS "Server-flat.vmdk"

# The Disk Data Base 
#DDB

ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "6527"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "b53ce19184ef44b66d5350320ae39a16"
ddb.thinProvisioned = "1"
ddb.toolsInstallType = "-1"
ddb.toolsVersion = "0"
ddb.uuid = "60 00 C2 9e 0b 21 85 f5-bc f9 da cc 5d 21 a4 dc"
ddb.virtualHWVersion = "14"
  • # Extent 설명 아래 섹션을 편집하여 소스 *-plat.vmdk의 위치를 가리키도록 합니다. 아마도 섹션은 다음과 유사할 것입니다.
RW 104857600 VMFS "Server-flat.vmdk"

소스 *-plat.vmdk를 가리키는 상대 경로로 경로를 변경합니다. *.vmdk는 Images/{vmid}/에 있으므로 경로는 두 수준 위로 이동한 다음 소스 VM의 디렉터리로 이동해야 합니다.

RW 104857600 VMFS "../../Server/Server-flat.vmdk"
  • Proxmox VE에서 VM의 전원을 켭니다. VM이 정상적으로 부팅되어야 합니다.
  • VM이 실행되는 동안 디스크를 대상 스토리지로 이동합니다. 이를 위해 VM의 하드웨어 패널에서 선택한 다음 “디스크 작업 -> 스토리지 이동” 메뉴를 사용합니다. “소스 삭제” 옵션을 활성화할 수 있습니다. 편집된 vmdk 파일만 제거됩니다.

마이그레이션 후

  • 네트워크 설정을 업데이트하세요. 네트워크 어댑터의 이름이 변경되었을 가능성이 높습니다.
  • 누락된 드라이버를 설치합니다. 이는 주로 Windows VM과 관련이 있습니다. VirtIO ISO를 다운로드하여 첨부하세요. 여기에는 드라이버 설치 후 부팅 디스크를 VirtIO로 전환하는 방법이 설명되어 있습니다.

도움 받기

기술 지원이 필요하고 활성 구독(기본, 표준 또는 프리미엄 수준)이 있는 경우 고객 포털을 통해 지원 엔지니어에게 문의하세요. 구독은 Proxmox 온라인 상점에서 구매할 수 있습니다. 구매 관련 문의 사항이 있으신 경우, 매장에 등록하신 후 티켓을 오픈하시면 고객 서비스팀에서 도움을 드릴 수 있습니다.

귀하의 지역이나 언어로 현지 지원, 교육, 컨설팅 서비스를 원하시면 파트너 에코시스템을 참조하세요.

우리의 커뮤니티 포럼과 사용자 메일링 리스트는 전 세계 Proxmox 커뮤니티와 연결하기 위한 훌륭한 리소스이며 기업 지원을 받을 수 있는 구독이 없는 경우 도움을 요청하는 데 사용할 수 있습니다.

일반적인 문의사항은 office@proxmox.com으로 문의하세요.

참고

Advanced Migration Techniques to Proxmox VE

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

03.10 BTRFS

Proxmox VE 8.1.3 매뉴얼을 DeepL를 이용해서 기계번역하고, 살짝 교정했습니다.https://pve.proxmox.com/pve-docs/pve-admin-guide.html 경고: BTRFS 통합은 현재 Proxmox VE의 기술 미리보기입니다. BTRFS는…
Read More

Proxmox VE : 13. Proxmox VE 방화벽

Proxmox VE 매뉴얼을 Google Translate로 기계번역하고, 살짝 교정했습니다.https://pve.proxmox.com/pve-docs/pve-admin-guide.htmlversion 8.1.4, Wed Mar 6 18:21:39 CET 2024 구성: 옵션과 관련된 항목들은…