4장. KVM 실시간 마이그레이션


이 장에서는 한 호스트 물리적 시스템에서 다른 호스트로 실행되는 게스트 가상 머신 마이그레이션에 대해 설명합니다. 두 인스턴스 모두에서 호스트 물리적 머신이 KVM 하이퍼바이저를 실행하고 있습니다.
마이그레이션은 한 호스트 물리적 시스템에서 다른 호스트로 게스트 가상 시스템을 이동하는 프로세스를 설명합니다. 게스트 가상 머신이 하드웨어에서 직접 실행되는 것이 아니라 가상화 환경에서 실행되기 때문에 가능합니다. 마이그레이션은 다음에 유용합니다.
  • 부하 분산 - 호스트 물리적 시스템이 과부하되거나 다른 호스트 물리적 시스템이 활용도가 낮은 사용량을 사용하여 게스트 가상 시스템을 호스트할 수 있습니다.
  • 하드웨어 독립성 - 호스트 물리적 시스템에서 하드웨어 장치를 업그레이드, 추가 또는 제거해야 하는 경우 게스트 가상 머신을 다른 호스트 물리적 시스템으로 안전하게 재배치할 수 있습니다. 즉, 게스트 가상 머신은 하드웨어 개선을 위해 다운타임이 발생하지 않습니다.
  • 에너지 절약 - 게스트 가상 머신은 다른 호스트 물리적 시스템에 재배포될 수 있으므로 전력을 절약하고 사용 기간에 비용을 절감할 수 있습니다.
  • 지리적 마이그레이션 - 대기 시간이 낮거나 심각한 상황에서 게스트 가상 머신을 다른 위치로 이동할 수 있습니다.
마이그레이션은 게스트 가상 시스템의 메모리와 가상화된 장치의 상태를 대상 호스트 물리적 시스템으로 전송하여 작동합니다. 마이그레이션할 게스트 가상 머신의 이미지를 저장하기 위해 공유, 네트워크로 연결된 스토리지를 사용하는 것이 좋습니다. 또한 가상 머신을 마이그레이션할 때 공유 스토리지에 libvirt 관리 스토리지 풀을 사용하는 것이 좋습니다.
마이그레이션은 실시간 또는 그렇지 않을 수 있습니다.
실시간 마이그레이션에서는 메모리 페이지가 순서대로 대상 호스트 실제 시스템으로 전송되는 동안 게스트 가상 시스템이 소스 호스트 물리적 시스템에서 계속 실행됩니다. 마이그레이션 중에 KVM은 이미 전송된 페이지의 변경 사항에 대해 소스를 모니터링하고 모든 초기 페이지가 전송되면 이러한 변경 사항을 전송하기 시작합니다. KVM은 마이그레이션 중에 전송 속도를 추정하므로 전송할 데이터의 나머지 양이 일정 시간(10밀리초)이 필요한 경우 KVM은 원래 게스트 가상 머신을 중지하고 나머지 데이터를 전송하고, 대상 호스트 물리적 시스템에서 동일한 게스트 가상 머신을 재시작합니다.
실시간 수행되지 않고 게스트 가상 머신을 일시 중단한 다음 게스트 가상 머신 메모리의 이미지를 대상 호스트 물리적 시스템으로 이동하는 마이그레이션입니다. 그러면 게스트 가상 시스템이 대상 호스트 물리적 시스템에서 다시 시작되고 소스 호스트 실제 시스템에서 사용된 게스트 가상 시스템이 확보되는 메모리가 확보됩니다. 이러한 마이그레이션을 완료하는 데 걸리는 시간은 네트워크 대역폭 및 대기 시간에 따라 달라집니다. 네트워크에 사용량이 크거나 낮은 대역폭이 발생하는 경우 마이그레이션에 시간이 훨씬 오래 걸립니다.
원래 게스트 가상 머신이 KVM이 대상 호스트 물리적 머신으로 전송할 수 있는 것보다 더 빠르게 페이지를 수정하는 경우 실시간 마이그레이션이 완료되지 않기 때문에 오프라인 마이그레이션을 사용해야 합니다.

4.1. 실시간 마이그레이션 요구 사항

게스트 가상 머신을 마이그레이션하려면 다음이 필요합니다.

마이그레이션 요구 사항

  • 다음 프로토콜 중 하나를 사용하여 공유 스토리지에 설치된 게스트 가상 머신:
    • 파이버 채널 기반 LUN
    • iSCSI
    • FCoE
    • NFS
    • GFS2
    • SCSI RDMA 프로토콜(SCSI RCP): Infiniband 및 10GbE iWARP 어댑터에 사용되는 블록 내보내기 프로토콜
  • 마이그레이션 플랫폼 및 버전은 표 4.1. “실시간 마이그레이션 호환성” 테이블에 대해 확인해야 합니다. 또한 Red Hat Enterprise Linux 6는 공유 스토리지에서 raw 및 qcow2 이미지를 사용하여 게스트 가상 시스템의 실시간 마이그레이션을 지원합니다.
  • 두 시스템 모두 적절한 TCP/IP 포트가 열려 있어야 합니다. 방화벽을 사용하는 경우 자세한 포트 정보는 에서 확인할 https://access.redhat.com/site/documentation/ 수 있는 Red Hat Enterprise Linux Virtualization Security 가이드 를 참조하십시오.
  • 공유 스토리지 매체를 내보내는 개별 시스템입니다. 마이그레이션에 사용되는 두 호스트 물리적 시스템 중 하나에 스토리지가 없어야 합니다.
  • 공유 스토리지는 소스 및 대상 시스템의 동일한 위치에 마운트해야 합니다. 마운트된 디렉터리 이름은 동일해야 합니다. 이미지를 다른 경로를 사용하여 유지할 수 있지만 권장되지는 않습니다. virt-manager를 사용하여 마이그레이션을 수행하려는 경우 경로 이름이 동일해야 합니다. 그러나 virsh를 사용하여 마이그레이션을 수행하려는 경우 마이그레이션을 수행할 때 --xml 옵션 또는 pre-hooks와 함께 다른 네트워크 구성 및 마운트 디렉토리를 사용할 수 있습니다. 공유 스토리지가 없어도 --copy-storage-all (더 이상 사용되지 않음) 옵션을 사용하여 마이그레이션이 성공할 수 있습니다. prehooks 에 대한 자세한 내용은 libvirt.org 를 참조하고 XML 옵션에 대한 자세한 내용은 20장. 도메인 XML 조작 을 참조하십시오.
  • 공용 bridge+tap 네트워크의 기존 게스트 가상 시스템에서 마이그레이션을 시도하는 경우 소스 및 대상 호스트 물리적 시스템이 동일한 네트워크에 있어야 합니다. 그렇지 않으면 마이그레이션 후 게스트 가상 머신 네트워크가 작동하지 않습니다.
  • Red Hat Enterprise Linux 5 및 6에서는 KVM 게스트 가상 머신의 기본 캐시 모드가 none 으로 설정되어 일치하지 않는 디스크 상태를 방지합니다. 캐시 옵션을 none (예: virsh attach-disk 캐시 사용)으로 설정하면 O_DIRECT 플래그( Open syscall을 호출할 때)를 사용하여 모든 게스트 가상 시스템의 파일이 열리 므로 호스트 물리적 시스템의 캐시를 우회하고 게스트 가상 시스템에서 캐싱만 제공합니다. 캐시 모드를 none 으로 설정하면 잠재적인 불일치 문제를 방지하고 가상 시스템을 실시간으로 마이그레이션할 수 있습니다. 캐시를 none 으로 설정하는 방법에 대한 자세한 내용은 13.3절. “게스트에 스토리지 장치 추가” 을 참조하십시오.
libvirtd 서비스가 활성화되어 있는지 확인합니다(#service libvirtd 시작). 또한 효과적으로 마이그레이션하는 기능은 /etc/libvirt/libvirtd.conf 설정 파일의 매개 변수 설정에 따라 달라집니다.

절차 4.1. libvirtd.conf 구성

  1. libvirtd.conf 를 열려면 root로 명령을 실행해야 합니다.
    Copy to Clipboard Toggle word wrap
    # vim /etc/libvirt/libvirtd.conf
  2. 필요에 따라 매개변수를 변경하고 파일을 저장합니다.
  3. libvirtd 서비스를 다시 시작합니다.
    Copy to Clipboard Toggle word wrap
    # service libvirtd restart
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat, Inc.