11.8. 마이그레이션 관련 문제 해결

가상 머신 마이그레이션 중에 발생할 수 있는 여러 가지 문제가 있습니다.

  1. 마이그레이션 프로세스에서 오류 발생
  2. 마이그레이션 프로세스가 종료되지 않음
  3. 마이그레이션 후 가상 머신 성능 저하

마이그레이션 시 오류

다음과 같은 문제가 발생하면 마이그레이션 작업이 error 상태로 전환합니다.

  1. 다른 버전의 OpenStack으로 클러스터 실행
  2. 지정한 가상 머신 ID를 찾을 수 없음
  3. 마이그레이션하려는 가상 머신이 error 상태임
  4. Compute 서비스가 종료됨
  5. 경합 상태 발생
  6. 실시간 마이그레이션이 failed 상태로 전환

실시간 마이그레이션이 failed 상태로 전환된 후에는 일반적으로 error 상태가 됩니다. 다음과 같은 일반적인 문제로 인해 failed 상태가 발생할 수 있습니다.

  1. 대상 Compute 호스트를 사용할 수 없음
  2. 스케줄러 예외 발생
  3. Compute 리소스가 부족하여 재빌드 프로세스 실패
  4. 서버 그룹 확인 실패
  5. 대상 Compute 노드로 마이그레이션이 완료되기 전에 소스 Compute 노드의 가상 머신 삭제

끝나지 않는 실시간 마이그레이션

실시간 마이그레이션이 적시에 완료되지 않아 마이그레이션이 영구적으로 running 상태로 유지될 수 있습니다. 실시간 마이그레이션이 완료되지 않는 일반적인 이유는 소스 Compute 노드에서 실행 중인 가상 머신에 대한 클라이언트 요청에 의한 변경 사항이 nova가 대상 Compute 노드에 복제하는 속도보다 빠르게 발생하기 때문입니다.

이 상황을 해결하기 위한 몇 가지 방법이 있습니다.

  1. 실시간 마이그레이션 중지
  2. 실시간 마이그레이션 강제 완료

실시간 마이그레이션 중지

가상 머신 상태가 마이그레이션 단계에서 대상 노드로 복사하는 속도보다 빠르게 변경되고 가상 머신의 작업을 일시적으로 중단하지 않으려는 경우, 실시간 마이그레이션 절차를 중단할 수 있습니다.

  1. 가상 머신의 마이그레이션 목록을 검색합니다.

    $ nova server-migration-list [vm]

    [vm]을 가상 머신 이름 또는 ID로 교체합니다.

  2. 실시간 마이그레이션을 중지합니다.

    $ nova live-migration-abort [vm] [migration]

    [vm]을 가상 머신 이름 또는 ID로 교체하고, [migration]을 마이그레이션 ID로 교체합니다.

실시간 마이그레이션 강제 완료

가상 머신 상태가 마이그레이션 단계에서 대상 노드에 복사하는 속도보다 빠르게 변경되고 가상 머신의 작업을 일시적으로 중단하여 마이그레이션을 강제 완료하려는 경우, 실시간 마이그레이션 절차를 강제 완료할 수 있습니다.

중요

실시간 마이그레이션을 강제 완료하면 상당한 다운 타임이 발생할 수 있습니다.

  1. 가상 머신의 마이그레이션 목록을 검색합니다.

    $ nova server-migration-list [vm]

    [vm]을 가상 머신 이름 또는 ID로 교체합니다.

  2. 실시간 마이그레이션을 강제 완료합니다.

    $ nova live-migration-force-complete [vm] [migration]

    [vm]을 가상 머신 이름 또는 ID로 교체합니다. [migration]을 마이그레이션 ID로 교체합니다.

마이그레이션 후 가상 머신 성능 저하

NUMA 토폴로지를 사용하는 가상 머신의 경우 소스 및 대상 Compute 노드에 동일한 NUMA 토폴로지와 구성이 있어야 합니다. 대상 Compute 노드의 NUMA 토폴로지에 사용 가능한 충분한 리소스가 있어야 합니다. 소스 및 대상 Compute 노드 간에 NUMA 구성이 동일하지 않을 경우 실시간 마이그레이션이 성공하더라도 가상 머신 성능이 저하될 수 있습니다. 예를 들어 소스 Compute 노드는 NIC 1을 NUMA 노드 0에 매핑하는 데 대상 Compute 노드는 NIC 1을 NUMA 노드 5에 매핑하는 경우, 마이그레이션 후 가상 머신은 트래픽을 NIC 1로 라우팅하기 위해 버스를 통해 첫 번째 CPU의 네트워크 트래픽을 NUMA 노드 5가 포함된 두 번째 CPU로 라우팅할 수 있습니다.이 경우 예상대로 작동은 하지만 성능이 저하됩니다. 마찬가지로 소스 Compute 노드의 NUMA 노드 0에 사용 가능한 CPU 및 RAM이 충분하지만 대상 Compute 노드의 NUMA 노드 0에 일부 리소스를 사용하는 가상 머신이 이미 있는 경우 가상 머신이 제대로 실행되더라도 성능이 저하될 수 있습니다. 자세한 내용은 11.2절. “마이그레이션 제한”을 참조하십시오.