11.5. 가상 USB 장치 관리
VM(가상 시스템)을 사용하는 경우 호스트 시스템에 연결된 플래시 드라이브 또는 웹 카메라와 같은 USB 장치에 액세스하고 제어할 수 있습니다. 이 시나리오에서 호스트 시스템은 장치 제어를 VM에 전달합니다. 이를 USB-passthrough라고도 합니다.
11.5.1. 가상 머신에 USB 장치 연결
USB 장치를 VM(가상 머신)에 연결하려면 VM의 XML 구성 파일에 USB 장치 정보를 포함할 수 있습니다.
사전 요구 사항
- VM에 통과하려는 장치가 호스트에 연결되어 있는지 확인합니다.
절차
VM에 연결할 USB의 버스 및 장치 값을 찾습니다.
예를 들어 다음 명령은 호스트에 연결된 USB 장치 목록을 표시합니다. 이 예제에서 사용할 장치는 장치 005로 버스 001에 연결됩니다.
# lsusb [...] Bus 001 Device 003: ID 2567:0a2b Intel Corp. Bus 001 Device 005: ID 0407:6252 Kingston River 2.0 [...]
add
-
유틸리티를 사용합니다.device 인수와 함께 virt-xml
예를 들어 다음 명령은 USB 플래시 드라이브를
example-VM-1
VM에 연결합니다.# virt-xml example-VM-1 --add-device --hostdev 001.005 Domain 'example-VM-1' defined successfully.
실행 중인 VM에 USB 장치를 연결하려면 이전 명령에 --update
인수를 추가합니다.
검증
- VM을 실행하고 장치가 예상대로 작동하는지 테스트합니다.
virsh dumpxml
명령을 사용하여 장치의 XML 정의가 VM의 XML 구성 파일의 <devices> 섹션에 추가되었는지 확인합니다.# virsh dumpxml example-VM-1 [...] <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x0407'/> <product id='0x6252'/> <address bus='1' device='5'/> </source> <alias name='hostdev0'/> <address type='usb' bus='0' port='3'/> </hostdev> [...]
추가 리소스
-
시스템의
virt-xml(1)
도움말 페이지 - 가상 머신에 장치 연결
11.5.2. 가상 머신에서 USB 장치 제거
VM(가상 시스템)에서 USB 장치를 제거하려면 VM의 XML 구성에서 USB 장치 정보를 제거할 수 있습니다.
절차
VM에서 제거할 USB의 버스 및 장치 값을 찾습니다.
예를 들어 다음 명령은 호스트에 연결된 USB 장치 목록을 표시합니다. 이 예제에서 사용할 장치는 장치 005로 버스 001에 연결됩니다.
# lsusb [...] Bus 001 Device 003: ID 2567:0a2b Intel Corp. Bus 001 Device 005: ID 0407:6252 Kingston River 2.0 [...]
virt-xml
유틸리티를--remove-device
인수와 함께 사용합니다.예를 들어 다음 명령은
example-VM-1
VM에서 버스 001의 장치 005로 호스트에 연결된 USB 플래시 드라이브를 제거합니다.# virt-xml example-VM-1 --remove-device --hostdev 001.005 Domain 'example-VM-1' defined successfully.
실행 중인 VM에서 USB 장치를 제거하려면 이전 명령에 --update
인수를 추가합니다.
검증
- VM을 실행하고 장치가 장치 목록에서 제거되었는지 확인합니다.
추가 리소스
-
시스템의
virt-xml(1)
도움말 페이지 - 가상 머신에 장치 연결
11.5.3. 스마트 카드 판독기를 가상 머신에 연결
스마트 카드 판독기가 호스트에 연결된 경우 해당 호스트의 VM(가상 시스템)에서도 사용할 수 있습니다. libvirt는 게스트 VM에 스마트 카드 인터페이스를 제공하는 특수 가상 장치를 제공합니다. SPICE 원격 디스플레이 프로토콜을 사용하여 호스트에 대한 인증 요청을 터널링하는 spicevmc
장치 유형만 사용하는 것이 좋습니다.
스마트 카드 리더와 표준 장치 패스스루를 사용할 수는 있지만 이 방법은 호스트와 게스트 시스템 모두에서 장치를 사용할 수 없도록 합니다. 결과적으로 스마트 카드 리더를 VM에 연결할 때 호스트 시스템을 잠글 수 있습니다.
RHEL 8에서 SPICE 원격 디스플레이 프로토콜이 더 이상 사용되지 않습니다. 스마트 카드 리더를 VM에 연결하는 데 권장되는 유일한 방법은 SPICE 프로토콜에 따라 달라지므로 게스트 VM에서 스마트 카드 사용도 RHEL 8에서 더 이상 사용되지 않습니다.
향후 주요 버전의 RHEL에서는 스마트 카드 리더를 VM에 연결하는 기능은 타사 원격 시각화 솔루션에서만 지원됩니다.
사전 요구 사항
- VM에 전달하려는 스마트 카드 리더가 호스트에 연결되어 있는지 확인합니다.
- RHEL 8에서 스마트 카드 리더 유형이 지원되는 지 확인합니다.
절차
가상 스마트 카드 리더 장치를 생성하고 VM에 연결합니다. 예를 들어 스마트 카드 리더를
testguest
VM에 연결하려면 다음을 수행합니다.# virt-xml testguest --add-device --smartcard mode=passthrough,type=spicevmc Domain 'testguest' defined successfully. Changes will take effect after the domain is fully powered off.
참고가상 스마트 카드 리더 장치를 실행 중인 VM에 연결하려면 이전 명령에
--update
인수를 추가합니다.
검증
VM의 XML 구성을 봅니다.
# virsh dumpxml testguest
XML 구성에 다음과 같은 스마트 카드 장치 정의가 포함되어 있는지 확인합니다.
<smartcard mode='passthrough' type='spicevmc'/>