12.5. 다른 호스트와 가상 머신 디스크 이미지 공유
지원되는 KVM 호스트 간에 VM(가상 머신) 실시간 마이그레이션을 수행하려면 공유 VM 스토리지가 필요합니다. 이 섹션에서는 NFS 프로토콜을 사용하여 로컬에 저장된 VM 이미지를 소스 호스트 및 대상 호스트와 공유하는 지침을 제공합니다.
사전 요구 사항
- 마이그레이션을 위한 VM이 종료됩니다.
- 선택 사항: 호스트 시스템은 소스 또는 대상 호스트가 아닌 스토리지를 호스팅하는 데 사용할 수 있지만 소스와 대상 호스트 모두 네트워크를 통해 도달할 수 있습니다. 이는 공유 스토리지에 가장 적합한 솔루션이며 Red Hat에서 권장합니다.
- KVM에서 지원되지 않으므로 NFS 파일 잠금이 사용되지 않는지 확인합니다.
NFS는 소스 및 대상 호스트에 설치 및 활성화됩니다. 그렇지 않은 경우 다음을 수행합니다.
NFS 패키지를 설치합니다.
# dnf install nfs-utils
NFS(2049)의 포트가 방화벽에서 열려 있는지 확인합니다.
# firewall-cmd --permanent --add-service=nfs # firewall-cmd --permanent --add-service=mountd # firewall-cmd --permanent --add-service=rpc-bind # firewall-cmd --permanent --add-port=2049/tcp # firewall-cmd --permanent --add-port=2049/udp # firewall-cmd --reload
NFS 서비스를 시작합니다.
# systemctl start nfs-server
절차
공유 스토리지를 제공할 호스트에 연결합니다. 이 예에서는 loads
-bay 호스트입니다
.# ssh root@cargo-bay root@cargo-bay's password: Last login: Mon Sep 24 12:05:36 2019 root~#
디스크 이미지를 보유하고 마이그레이션 호스트와 공유할 디렉터리를 생성합니다.
# mkdir /var/lib/libvirt/shared-images
소스 호스트에서 새로 생성된 디렉터리로 VM의 디스크 이미지를 복사합니다. 예를 들어, 다음에서는
wanderer1
VM의 디스크 이미지를'cargo-bay 호스트의/var/lib/libvirt/shared-images/
디렉터리에 복사합니다.# scp /var/lib/libvirt/images/wanderer1.qcow2 root@cargo-bay:/var/lib/libvirt/shared-images/wanderer1.qcow2
스토리지를 공유하는 데 사용할 호스트에서 공유 디렉토리를
/etc/exports
파일에 추가합니다. 다음 예제에서는/var/lib/libvirt/shared-images
디렉터리를source-example
및dest-example
호스트와 공유합니다./var/lib/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
소스 및 대상 호스트 모두에서
/var/lib/libvirt/images
디렉터리에 공유 디렉터리를 마운트합니다.# mount cargo-bay:/var/lib/libvirt/shared-images /var/lib/libvirt/images
검증
- 프로세스가 성공했는지 확인하려면 소스 호스트에서 VM을 시작하고 올바르게 부팅되는지 확인합니다.