Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.19.8. 디스크 경로에 대한 액세스를 허용하기 위해 Unable이 있는 마이그레이션 Fails: 이러한 파일 또는 디렉터리 없음

증상
libvirt 가 디스크 이미지에 액세스할 수 없기 때문에 게스트 가상 머신(또는 도메인)을 마이그레이션할 수 없습니다.
# virsh migrate qemu qemu+tcp://name_of_host/system
error: Unable to allow access for disk path /var/lib/libvirt/images/qemu.img: No such file or directory
예를 들어 대상 호스트 이름이 newyork 인 경우 오류 메시지가 다음과 같이 표시됩니다.
# virsh migrate qemu qemu+tcp://newyork/system
error: Unable to allow access for disk path /var/lib/libvirt/images/qemu.img: No such file or directory
조사
기본적으로 마이그레이션은 실행 중인 게스트(예: 메모리 또는 CPU 상태)의 메모리 내 상태만 전송합니다. 마이그레이션 중에 디스크 이미지를 전송하지는 않지만 두 호스트 모두에서 동일한 경로에서 액세스할 수 있어야 합니다.
해결책
두 호스트 모두에서 동일한 위치에 공유 스토리지를 설정하고 마운트합니다. 가장 간단한 방법은 NFS를 사용하는 것입니다.

절차 A.9. 공유 스토리지 설정

  1. 공유 스토리지 역할을 하는 호스트에서 NFS 서버를 설정합니다. NFS 서버는 NFS를 통해 공유 스토리지에 액세스하는 경우 마이그레이션과 관련된 모든 호스트 중 하나일 수 있습니다.
    # mkdir -p /exports/images
    # cat >>/etc/exports <<EOF
    /exports/images    192.168.122.0/24(rw,no_root_squash)
    EOF
  2. libvirt 를 실행하는 모든 호스트의 공통 위치에 내보낸 디렉터리를 마운트합니다. 예를 들어 NFS 서버의 IP 주소가 192.168.122.1인 경우 다음 명령을 사용하여 디렉터리를 마운트합니다.
    # cat >>/etc/fstab <<EOF
    192.168.122.1:/exports/images  /var/lib/libvirt/images  nfs  auto  0 0
    EOF
    # mount /var/lib/libvirt/images
참고
NFS를 사용하여 한 호스트에서 로컬 디렉터리를 내보내고 다른 호스트의 동일한 경로에 마운트할 수 없습니다. 디스크 이미지를 저장하는 데 사용되는 디렉터리는 두 호스트의 공유 스토리지에서 마운트해야 합니다. 이 값이 올바르게 구성되지 않으면 소스 호스트의 libvirt 데몬이 게스트를 대상으로 마이그레이션한 후 디스크 이미지의 소유자, 권한 및 SELinux 레이블을 변경할 수 있으므로 마이그레이션 중에 디스크 이미지에 대한 액세스 권한이 손실될 수 있습니다.
libvirt 가 공유 스토리지 위치에서 디스크 이미지가 마운트되었음을 탐지하면 이러한 변경 사항이 적용되지 않습니다.