20.2. virtiofs를 사용하여 호스트와 가상 머신 간의 파일 공유


virtiofs를 사용하여 로컬 파일 시스템 구조와 동일하게 작동하는 디렉터리 트리와 호스트(VM) 간에 파일을 공유할 수 있습니다.

20.2.1. virtiofs를 사용하여 호스트와 가상 머신 간의 파일 공유

RHEL 9를 하이퍼바이저로 사용하는 경우 virtiofs 기능을 사용하여 호스트 시스템과 VM(가상 머신) 간에 파일을 효율적으로 공유할 수 있습니다.

사전 요구 사항

  • RHEL 9 호스트에 가상화가 설치 및 활성화되어 있습니다.
  • VM과 공유할 디렉터리입니다. 기존 디렉터리를 공유하지 않으려면 새 디렉터리를 생성합니다(예: shared-files ).

    # mkdir /root/shared-files
  • 데이터를 공유하려는 VM은 Linux 배포를 게스트 운영 체제로 사용하고 있습니다.

프로세스

  1. VM과 공유할 호스트의 각 디렉터리에 대해 VM의 XML 구성에서 virtiofs 파일 시스템으로 설정합니다.

    1. 의도한 VM의 XML 구성을 엽니다.

      # virsh edit vm-name
    2. 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>

      이 예에서는 호스트의 /root/shared-files 디렉터리를 VM에 host-file-share 로 표시하도록 설정합니다.

  2. VM의 공유 메모리를 설정합니다. 이렇게 하려면 XML 구성의 < domain> 섹션에 공유 메모리 지원을 추가합니다.

    <domain>
     [...]
     <memoryBacking>
       <access mode='shared'/>
     </memoryBacking>
     [...]
    </domain>
  3. VM을 부팅합니다.

    # virsh start vm-name
  4. 게스트 운영 체제에 파일 시스템을 마운트합니다. 다음 예제에서는 Linux 게스트 운영 체제를 사용하여 이전에 구성된 host-file-share 디렉터리를 마운트합니다.

    # mount -t virtiofs host-file-share /mnt

검증

  • VM에서 공유 디렉터리에 액세스할 수 있게 되었고 이제 디렉터리에 저장된 파일을 열 수 있는지 확인합니다.

알려진 문제 및 제한 사항

  • noatimestrictatime 과 같은 액세스 시간과 관련된 파일 시스템 마운트 옵션은 virtiofs에서 작동하지 않으며 Red Hat은 사용을 권장하지 않습니다.

문제 해결

  • virtiofs 가 사용 사례에 적합하지 않거나 시스템에 대해 지원되는 경우 대신 NFS 를 사용할 수 있습니다.

20.2.2. virtiofs를 사용하여 호스트와 Windows 가상 머신 간의 파일 공유

RHEL 9를 하이퍼바이저로 사용하는 경우 virtiofs 기능을 사용하여 virtio-win 패키지와 함께 호스트 시스템과 Windows VM(가상 머신) 간에 파일을 효율적으로 공유할 수 있습니다.

참고

virtiofs.exe 명령과 -i 매개변수를 사용하여 Windows VM에서 virtiofs 서비스를 대소문자를 구분하지 않는 모드로 실행할 수 있습니다.

사전 요구 사항

프로세스

  1. Windows VM에 WinFsp를 설치합니다. 이렇게 하려면 virtio-win ISO 이미지를 마운트하고, winfsp Cryostat 설치 프로그램을 시작한 다음 프롬프트를 따릅니다.

    설치 마법사의 사용자 지정 설정 창에서 VM에 설치할 기능을 선택합니다.

  2. virtiofs 서비스를 시작합니다.

    # sc start VirtioFsSvc
  3. 이 PC 로 이동합니다.

    File Explorer This PC

    Virtiofs는 z: 부터 사용 가능한 첫 번째 드라이브 문자로 Windows VM에서 사용할 수 있어야 하며 뒤로 이동합니다. 예를 들어 my_viofs (Z:).

    중요

    공유 디렉터리에 액세스하려면 각 VM이 재부팅된 후 virtiofs 서비스를 다시 시작해야 합니다.

  4. 선택 사항: 추가 virtiofs 인스턴스를 설정하려면 다음을 수행합니다.

    1. virtiofs 서비스를 중지합니다.

      # sc stop VirtioFsSvc
      # sc config VirtioFsSvc start=demand
    2. WinFSP.Launcher 서비스를 구성하여 여러 virtiofs 인스턴스를 설정합니다.

      # "C:\Program Files (x86)\WinFsp\bin\fsreg.bat" virtiofs "<path to the binary>\virtiofs.exe" "-t %1 -m %2"
    3. 드라이브에 virtiofs 인스턴스를 마운트합니다.

      예를 들어 mount_tag0 태그가 있는 virtiofs를 Y: 드라이브에 마운트하려면 다음을 수행합니다.

      "C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofsY mount_tag0 Y:
    4. 이전 단계를 반복하여 모든 virtiofs 인스턴스를 마운트합니다.
    5. virtiofs 인스턴스를 마운트 해제하려면 다음을 수행합니다.

      "C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" stop virtiofs viofsY

검증

  1. Windows VM에서 이 PC 로 이동합니다.

    File Explorer This PC

    • virtiofs 서비스를 설정할 때 마운트 지점을 지정하지 않은 경우 z: 로 시작하는 첫 번째 사용 가능한 드라이브 문자를 사용하고 뒤로 이동합니다.
    • virtiofs 인스턴스가 여러 개 설정된 경우 인스턴스에 할당된 문자와 함께 드라이브로 표시됩니다.

20.2.3. 웹 콘솔에서 virtiofs를 사용하여 호스트와 가상 머신 간의 파일 공유

RHEL 웹 콘솔을 사용하여 virtiofs 기능을 사용하여 호스트 시스템과 VM(가상 머신) 간에 파일을 효율적으로 공유할 수 있습니다.

사전 요구 사항

  • 웹 콘솔 VM 플러그인이 시스템에 설치되어 있습니다.
  • VM과 공유할 디렉터리입니다. 기존 디렉토리를 공유하지 않으려면 새 디렉터리를 만듭니다(예: centurion ).

    # mkdir /home/centurion
  • 데이터를 공유하려는 VM은 Linux 배포를 게스트 운영 체제로 사용하고 있습니다.

프로세스

  1. 가상 머신 인터페이스에서 파일을 공유할 VM을 클릭합니다.

    선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

  2. 공유 디렉터리 로 스크롤합니다.

    공유 디렉터리 섹션에는 해당 VM과 공유되는 호스트 파일 및 디렉터리에 대한 정보와 공유 디렉터리 추가 또는 제거를 위한 옵션이 표시됩니다.

    선택한 VM과 공유되는 디렉터리가 표시되는 이미지입니다.
  3. 공유 디렉터리 추가 를 클릭합니다.

    게스트를 사용하여 호스트 디렉터리 공유 대화 상자가 나타납니다.

    게스트 대화 상자를 사용하여 호스트 디렉터리를 공유하는 이미지입니다.
  4. 다음 정보를 입력합니다.

    • 소스 경로 - 공유하려는 호스트 디렉터리의 경로입니다.
    • mount tag - VM에서 디렉터리를 마운트하는 데 사용하는 태그입니다.
  5. 추가 옵션을 설정합니다.

    • 확장 속성 - 공유 파일 및 디렉터리에서 확장 속성 xattr 을 활성화할지 여부를 설정합니다.
  6. 공유를 클릭합니다.

    선택한 디렉터리는 VM과 공유됩니다.

검증

  • VM에서 공유 디렉터리에 액세스할 수 있고 해당 디렉터리에 저장된 파일을 열 수 있는지 확인합니다.

20.2.4. 웹 콘솔을 사용하여 virtiofs를 사용하여 호스트와 가상 머신 간의 공유 파일 제거

RHEL 웹 콘솔을 사용하여 virtiofs 기능을 사용하여 호스트 시스템과 VM(가상 머신) 간에 공유된 파일을 제거할 수 있습니다.

사전 요구 사항

프로세스

  1. 가상 머신 인터페이스에서 공유 파일을 제거할 VM을 클릭합니다.

    선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

  2. 공유 디렉터리 로 스크롤합니다.

    공유 디렉터리 섹션에는 해당 VM과 공유되는 호스트 파일 및 디렉터리에 대한 정보와 공유 디렉터리 추가 또는 제거를 위한 옵션이 표시됩니다.

    선택한 VM과 공유되는 디렉터리가 표시되는 이미지입니다.
  3. VM과 공유할 디렉터리 옆에 있는 Remove (제거)를 클릭합니다.

    파일 시스템 제거 대화 상자가 나타납니다.

    파일 시스템 제거 대화 상자가 표시되는 이미지입니다.
  4. 제거를 클릭합니다.

    선택한 디렉터리는 VM과 공유되지 않습니다.

검증

  • 공유 디렉터리는 더 이상 사용할 수 없으며 VM에서 액세스할 수 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.