13.4.7. 명령줄을 사용하여 가상 머신에 NFS 기반 스토리지 연결
VM(가상 머신)의 네트워크 스토리지를 제공하기 위해 NFS(네트워크 파일 시스템) 서버를 기반으로 스토리지 볼륨을 사용할 수 있습니다.
명령줄을 사용하여 NFS 기반 스토리지를 VM에 연결하려면 다음 방법 중 하나를 사용합니다.
-
새 VM을 생성할 때
가상 머신 생성 대화 상자에서연결합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.Storage옵션을 사용하여 새 디스크를 생성하고 - 기존 VM의 경우 NFS 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.
사전 요구 사항
하이퍼바이저가 NFS 기반 스토리지 풀을 지원하는지 확인합니다.
# virsh pool-capabilities | grep "<value>nfs</value>"명령이 출력을 표시하는 경우 NFS 기반 풀이 지원됩니다.
- 사용할 수 있는 사용 가능한 NFS가 있어야 합니다. 자세한 내용은 NFS 공유 마운트를참조하십시오.
프로세스
아직 없는 경우 새 NFS 기반 스토리지 풀을 생성하고 설정합니다.
NFS 유형 스토리지 풀을 정의하고 생성합니다. 예를 들어 대상 디렉토리
/var/lib/libvirt/images/nfspool을 사용하여 서버 디렉토리/home/net_mount에 마운트된 IP111.222.111.222가 있는 NFS 서버를 사용하는guest_images_netfs라는 스토리지 풀을 생성하려면 다음을 실행합니다.# virsh pool-define-as --name guest_images_netfs \ --type netfs --source-host='111.222.111.222' \ --source-path='/home/net_mount' --source-format='nfs' \ --target='/var/lib/libvirt/images/nfspool' Pool guest_images_netfs defined이전에 정의한 구성을 기반으로 스토리지 풀을 생성합니다.
# virsh pool-build guest_images_netfs Pool guest_images_netfs built선택 사항: 풀이 생성되었는지 확인합니다.
# virsh pool-list --all Name State Autostart ------------------------------------------- default active yes guest_images_netfs inactive no스토리지 풀을 시작합니다.
# virsh pool-start guest_images_netfs Pool guest_images_netfs started선택 사항: 자동 시작을 활성화합니다.
기본적으로
virsh로 정의된 스토리지 풀은 가상화 서비스가 시작될 때마다 자동으로 시작되도록 설정되지 않습니다.virsh pool-autostart명령을 사용하여 스토리지 풀을 자동으로 시작하도록 구성합니다.# virsh pool-autostart guest_images_netfs Pool guest_images_netfs marked as autostarted
NFS 기반 스토리지 볼륨을 생성합니다. 예를 들어 다음 명령은
guest_images_netfs스토리지 풀을 기반으로vm-disk1이라는 20GBqcow2볼륨을 생성합니다.# virsh vol-create-as --pool guest_images_netfs --name vm-disk1 --capacity 20GB --format qcow2 Vol vm-disk1 created스토리지 볼륨을 가상 디스크로 VM에 연결합니다.
생성한 스토리지 볼륨을 찾습니다. 이렇게 하려면 볼륨이 속하는 스토리지 풀을 검사합니다.
# virsh vol-list --pool guest_images_netfs --details Name Path Type Capacity Allocation ------------------------------------------------------------------------------------- vm-disk1 /var/lib/libvirt/images/nfspool/vm-disk1 file 20.00 GiB 196.00 KiB디스크를 연결할 VM에서 이미 사용되는 대상 장치를 찾습니다.
# virsh domblklist --details <vm-name> Type Device Target Source ---------------------------------------------------------------- file disk *vda /home/VirtualMachines/vm-name.qcow2 file cdrom vdb -- 선택 사항: 데이터 손상 또는 디스크 조각화에 대한 문제를 방지하려면 디스크의 일관성을 확인합니다. 자세한 내용은 가상 디스크의 일관성 확인을 참조하십시오.
virsh attach-disk명령을 사용하여 VM에 디스크를 연결합니다. VM에서 사용하지 않는 대상 장치를 제공합니다.예를 들어 다음 명령은 이전에 생성된
vm-disk1을 Cryostat장치로testguest1VM에 연결합니다.# virsh attach-disk testguest1 /var/lib/libvirt/images/nfspool/vm-disk1 vdc --persistent
검증
디스크를 연결한 VM의 XML 구성을 검사하여 구성이 올바른지 확인합니다.
# virsh dumpxml testguest1 ... <disk type='file' device='disk'> <driver name='qemu' type='qcow2' discard='unmap'/> <source file='/var/lib/libvirt/images/nfspool/vm-disk1' index='1'/> <backingStore/> <target dev='vdc' bus='virtio'/> <alias name='virtio-disk2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> ...- VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.