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
# mkdir /root/shared-files
Copy to Clipboard Copied! -
virtio
드라이버 설치 미디어를 VM에 연결했습니다.
-
Windows VM에
virtio-win
패키지를 설치했습니다.
프로세스
VM과 공유할 호스트의 각 디렉터리에 대해 VM의 XML 구성에서 virtiofs 파일 시스템으로 설정합니다.
의도한 VM의 XML 구성을 엽니다.
virsh edit vm-name
# virsh edit vm-name
Copy to Clipboard Copied! VM의 XML 구성의 <
devices&
gt; 섹션에 다음과 유사한 항목을 추가합니다.<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>
<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>
Copy to Clipboard Copied! 이 예에서는 호스트의
/root/shared-files
디렉터리를 VM에host-file-share
로 표시하도록 설정합니다.
VM의 공유 메모리를 설정합니다. 이렇게 하려면 XML 구성의 <
domain>
섹션에 공유 메모리 지원을 추가합니다.<domain> [...] <memoryBacking> <access mode='shared'/> </memoryBacking> [...] </domain>
<domain> [...] <memoryBacking> <access mode='shared'/> </memoryBacking> [...] </domain>
Copy to Clipboard Copied! VM을 부팅합니다.
virsh start vm-name
# virsh start vm-name
Copy to Clipboard Copied! Windows VM에 WinFsp를 설치합니다. 이렇게 하려면
virtio-win
ISO 이미지를 마운트하고,winfsp
Cryostat 설치 프로그램을 시작한 다음 프롬프트를 따릅니다.설치 마법사의 사용자 지정 설정 창에서 VM에 설치할 기능을 선택합니다.
virtiofs 서비스를 시작합니다.
sc start VirtioFsSvc
# sc start VirtioFsSvc
Copy to Clipboard Copied! 이 PC 로 이동합니다.
File Explorer
This PC 올바르게 구성된 경우 Windows VM에서
Z:
부터 사용 가능한 첫 번째 드라이브 문자로virtiofs
를 사용할 수 있으며 뒤로 이동합니다. 예를 들어my_viofs (Z:)
.중요공유 디렉터리에 액세스하려면 각 VM이 재부팅된 후
virtiofs
서비스를 다시 시작해야 합니다.선택 사항: 추가
virtiofs
인스턴스를 설정하려면 다음을 수행합니다.virtiofs
서비스를 중지합니다.sc stop VirtioFsSvc sc config VirtioFsSvc start=demand
# sc stop VirtioFsSvc # sc config VirtioFsSvc start=demand
Copy to Clipboard Copied! WinFSP.Launcher 서비스를 구성하여 여러 virtiofs 인스턴스를 설정합니다.
"C:\Program Files (x86)\WinFsp\bin\fsreg.bat" virtiofs "<path to the binary>\virtiofs.exe" "-t %1 -m %2"
# "C:\Program Files (x86)\WinFsp\bin\fsreg.bat" virtiofs "<path to the binary>\virtiofs.exe" "-t %1 -m %2"
Copy to Clipboard Copied! 드라이브에
virtiofs
인스턴스를 마운트합니다.예를 들어
mount_tag0
태그가 있는virtiofs
를Y:
드라이브에 마운트하려면 다음을 수행합니다."C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofsY mount_tag0 Y:
"C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofsY mount_tag0 Y:
Copy to Clipboard Copied! -
이전 단계를 반복하여 모든
virtiofs
인스턴스를 마운트합니다. virtiofs
인스턴스를 마운트 해제하려면 다음을 수행합니다."C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" stop virtiofs viofsY
"C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" stop virtiofs viofsY
Copy to Clipboard Copied!
검증
Windows VM에서 이 PC 로 이동합니다.
File Explorer
This PC -
virtiofs
서비스를 설정할 때 마운트 지점을 지정하지 않은 경우z:
로 시작하는 첫 번째 사용 가능한 드라이브 문자를 사용하고 뒤로 이동합니다. -
virtiofs
인스턴스가 여러 개 설정된 경우 인스턴스에 할당된 문자와 함께 드라이브로 표시됩니다.
-