11.2. 마이그레이션 제한
가상 머신 마이그레이션에 제한 사항이 추가 적용되는 경우도 있습니다. 마이그레이션 제한 조건은 일반적으로 블록 마이그레이션, 설정 디스크 또는 하나 이상의 가상 머신이 Compute 노드의 물리 하드웨어에 액세스하는 경우에 발생합니다.
CPU 제한
소스 및 대상 Compute 노드에 동일한 CPU 아키텍처가 있어야 합니다. 예를 들어 Red Hat은 x86_64
CPU에서 ppc64le
CPU로의 가상 머신 마이그레이션을 지원하지 않습니다. CPU 호스트 경유를 사용하는 가상 머신과 같이 소스 및 대상 Compute 노드의 CPU가 정확히 일치해야 하는 경우도 있습니다. 모든 경우에 대상 노드의 CPU 기능은 소스 노드 CPU 기능의 상위 세트여야 합니다. 또한 가상 머신에서 CPU 고정을 사용하는 경우 소스 노드에서 사용되는 NUMA 노드는 대상 Compute 노드에서 동일한 NUMA 노드를 대상으로 해야 하며, NUMA 노드는 비어 있어야 합니다.
메모리 제한
대상 Compute 노드에는 사용 가능한 충분한 RAM이 있어야 합니다. 메모리 초과 서브스크립션으로 인해 마이그레이션이 실패할 수 있습니다. 또한 NUMA 토폴로지를 사용하는 가상 머신의 경우 대상 Compute 노드의 동일한 NUMA 노드에 사용 가능한 충분한 RAM이 있어야 합니다.
블록 마이그레이션 제한
Compute 노드에 로컬로 저장된 디스크를 사용하는 가상 머신을 마이그레이션하는 경우, Red Hat Ceph Storage와 같은 공유 스토리지를 사용하는 볼륨 기반 가상 머신을 마이그레이션하는 것보다 시간이 훨씬 오래 걸립니다. 이 대기 시간은 기본적으로 nova
가 컨트롤 플레인 네트워크를 통해 Compute 노드 간에 로컬 디스크를 블록 단위로 마이그레이션하기 때문에 발생합니다. 반면 Red Hat Ceph Storage와 같은 공유 스토리지를 사용하는 볼륨 기반 인스턴스의 경우 각 Compute 노드가 공유 스토리지에 이미 액세스할 수 있으므로 볼륨을 마이그레이션할 필요가 없습니다.
많은 RAM을 사용하는 로컬 디스크 또는 가상 머신을 마이그레이션할 때 발생하는 컨트롤 플레인 네트워크의 네트워크 정체는 RabbitMQ와 같은 컨트롤 플레인 네트워크를 사용하는 다른 시스템의 성능에 영향을 줄 수 있습니다.
읽기 전용 드라이브 마이그레이션 제한
드라이브에 읽기 및 쓰기 기능이 모두 있는 경우에만 드라이브 마이그레이션이 지원됩니다. 예를 들어 nova
는 CD-ROM 드라이브 또는 읽기 전용 구성 드라이브를 마이그레이션할 수 없습니다. 그러나 nova
는 vfat
와 같은 드라이브 포맷의 구성 드라이브를 포함하여 읽기 및 쓰기 기능이 모두 있는 드라이브를 마이그레이션할 수 있습니다.
실시간 마이그레이션 제한
Red Hat OpenStack Platform의 실시간 마이그레이션에는 몇 가지 제한 사항이 있습니다.
- 마이그레이션 중 새로운 작업 없음: 소스 및 대상 노드의 가상 머신 복사본 간에 상태 일관성을 유지하기 위해 Red Hat OpenStack Platform은 실시간 마이그레이션 중 새로운 작업을 거부해야 합니다. 그러지 않으면 실시간 마이그레이션에서 메모리 상태를 복제하는 속도보다 메모리에 쓰는 속도가 더 빠를 경우 실시간 마이그레이션에 시간이 오래 걸리거나 잠재적으로 끝나지 않는 상황이 발생할 수 있습니다.
-
NUMA(Non-Uniform Memory Access): 이전 릴리스에서는 NUMA 토폴로지로 설정된 가상 머신의 마이그레이션이 권장되지 않았습니다. 현재 일부 조건을 만족하면
nova
는 NUMA 토폴로지를 사용하는 가상 머신을 정상적으로 마이그레이션할 수 있습니다. - CPU 고정: CPU 고정을 사용하는 플레이버는 NUMA 토폴로지를 가상 머신에 적용하고 해당 CPU 및 메모리를 특정 호스트 CPU 및 메모리에 매핑합니다. 단순한 NUMA 토폴로지와 CPU 고정의 차이점은 NUMA가 다양한 CPU 코어를 사용하는 반면 CPU 고정은 특정 CPU 코어를 사용한다는 것입니다. 자세한 내용은 CPU 고정을 참조하십시오.
-
DPDK(Data Plane Development Kit):
dpdk-netdev
와 함께 Open vSwitch를 실행하는 가상 머신과 같이 DPDK를 사용하는 가상 머신은nova
가 가상 머신을 NUMA 노드에 고정하도록 NUMA 토폴로지를 적용하는 대규모 페이지도 사용합니다.
nova
는 NUMA, CPU 고정 또는 DPDK를 사용하는 가상 머신을 실시간 마이그레이션할 수 있습니다. 그러나 가상 머신이 소스 Compute 노드에서 사용하는 것과 동일한 NUMA 노드에서 대상 Compute 노드의 용량이 충분해야 합니다. 예를 들어 가상 머신이 overcloud-compute-0
의 NUMA 0
을 사용하는 경우, 실시간 마이그레이션을 사용하려면 가상 머신을 overcloud-compute-1
로 마이그레이션할 때 NUMA 0
에서 overcloud-compute-1
의 용량이 가상 머신을 지원하기에 충분한지 확인해야 합니다.
실시간 마이그레이션 지원 제한
가상 머신 설정으로 인해 Red Hat OpenStack Platform에서 실시간 마이그레이션이 불가능한 몇 가지 경우가 있습니다.
-
SR-IOV(Single-root Input/Output Virtualization): 가상 머신에 SR-IOV VF(Virtual Function)를 지정할 수 있습니다. 그러나 이 경우 실시간 마이그레이션이 불가능합니다. 일반 네트워크 장치와 달리 SR-IOV VF 네트워크 장치에는 고유한 영구 MAC 주소가 없습니다. VF 네트워크 장치는 Compute 노드가 재부팅될 때마다 또는
nova-scheduler
가 가상 머신을 새로운 Compute 노드로 마이그레이션할 때마다 새 MAC 주소를 가져옵니다. 따라서nova
는 OpenStack Platform 15에서 SR-IOV를 사용하는 가상 머신을 실시간 마이그레이션할 수 없습니다. SR-IOV를 사용하는 가상 머신은 콜드 마이그레이션해야 합니다. -
PCI 통과: QEMU/KVM 하이퍼바이저는 Compute 노드의 PCI 장치를 가상 머신에 연결할 수 있도록 지원합니다. PCI 통과를 사용하면 가상 머신이 PCI 장치에 독점적으로 액세스할 수 있으며, PCI 장치는 가상 머신의 운영 체제에 물리적으로 연결된 것처럼 표시되고 작동합니다. 그러나 PCI 통과에는 물리 주소가 사용되므로
nova
는 OpenStack Platform 15에서 PCI 통과를 사용하는 가상 머신의 실시간 마이그레이션을 지원하지 않습니다.