20장. 호스트와 가상 머신 간의 파일 공유
호스트 시스템과 실행되는 가상 머신(VM) 간에 데이터를 공유해야 하는 경우가 많습니다. 이를 빠르고 효율적으로 수행하려면 virtio 파일 시스템(virtiofs)을 사용할 수 있습니다.
20.1. virtiofs를 사용하여 호스트와 가상 머신 간의 파일 공유 링크 복사링크가 클립보드에 복사되었습니다!
virtio 파일 시스템(virtiofs)을 사용하여 로컬 파일 시스템 구조와 동일하게 작동하는 디렉터리 트리와 호스트(VM) 간에 파일을 공유할 수 있습니다.
20.1.1. 명령줄을 사용하여 호스트와 Windows 가상 머신 간의 파일 공유 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 10을 하이퍼바이저로 사용하는 경우 virtiofs 기능을 사용하여 virtio-win 패키지와 함께 호스트 시스템과 Windows VM(가상 머신) 간에 파일을 효율적으로 공유할 수 있습니다.
명령과 virtiofs.exe-i 매개변수를 사용하여 Windows VM에서 virtiofs 서비스를 대소문자를 구분하지 않는 모드로 실행할 수 있습니다.
사전 요구 사항
VM과 공유할 디렉터리입니다. 기존 디렉터리를 공유하지 않으려면 새 디렉터리를 생성합니다(예: shared-files ).
# mkdir /root/shared-files-
virtio드라이버 설치 미디어를 VM에 연결했습니다. -
virtio드라이버 설치 미디어를 VM에 연결했습니다. -
Windows VM에
virtio-win패키지를 설치했습니다. 자세한 내용은 Windows 게스트에 virtio 드라이버 설치를 참조하십시오.
프로세스
VM과 공유할 호스트의 각 디렉터리에 대해 VM의 XML 구성에서 virtiofs 파일 시스템으로 설정합니다.
의도한 VM의 XML 구성을 엽니다.
# virsh edit vm-nameVM의 XML 구성의 <
devices> 섹션에 다음과 유사한 항목을 추가합니다.<filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs'/> <binary path='/usr/libexec/virtiofsd' xattr='on'/> <source dir='/root/shared-files'/> <target dir='host-file-share'/> </filesystem>이 예에서는 호스트의
/root/shared-files디렉터리를 VM에host-file-share로 표시하도록 설정합니다.
VM의 공유 메모리를 설정합니다. 이렇게 하려면 XML 구성의 <
domain>섹션에 공유 메모리 지원을 추가합니다.<domain> [...] <memoryBacking> <access mode='shared'/> </memoryBacking> [...] </domain>VM을 부팅합니다.
# virsh start vm-nameWindows VM에 WinFsp를 설치합니다. 이렇게 하려면
virtio-winISO 이미지를 마운트하고,winfspCryostat 설치 프로그램을 시작한 다음 프롬프트를 따릅니다.설치 마법사의 사용자 지정 설정 창에서 VM에 설치할 기능을 선택합니다.
virtiofs 서비스를 시작합니다.
# sc start VirtioFsSvc이 PC 로 이동합니다.
File Explorer
This PC 올바르게 구성된 경우 Windows VM에서
Z:부터 사용 가능한 첫 번째 드라이브 문자로virtiofs를 사용할 수 있으며 뒤로 이동합니다. 예를 들어my_viofs (Z:).중요공유 디렉터리에 액세스하려면 각 VM이 재부팅된 후
virtiofs서비스를 다시 시작해야 합니다.선택 사항: 추가
virtiofs인스턴스를 설정하려면 다음을 수행합니다.virtiofs서비스를 중지합니다.# sc stop VirtioFsSvc # sc config VirtioFsSvc start=demandWinFSP.Launcher 서비스를 구성하여 여러 virtiofs 인스턴스를 설정합니다.
# "C:\Program Files (x86)\WinFsp\bin\fsreg.bat" virtiofs "<path to the binary>\virtiofs.exe" "-t %1 -m %2"드라이브에
virtiofs인스턴스를 마운트합니다.예를 들어
mount_tag0태그가 있는virtiofs를Y:드라이브에 마운트하려면 다음을 수행합니다."C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofsY mount_tag0 Y:-
이전 단계를 반복하여 모든
virtiofs인스턴스를 마운트합니다. virtiofs인스턴스를 마운트 해제하려면 다음을 수행합니다."C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" stop virtiofs viofsY
검증
Windows VM에서 이 PC 로 이동합니다.
File Explorer
This PC -
virtiofs서비스를 설정할 때 마운트 지점을 지정하지 않은 경우z:로 시작하는 첫 번째 사용 가능한 드라이브 문자를 사용하고 뒤로 이동합니다. -
virtiofs인스턴스가 여러 개 설정된 경우 인스턴스에 할당된 문자와 함께 드라이브로 표시됩니다.
-