기본적으로 호스트OS에서는 USB 메모리가 인식되지만, 게스트OS에서는 인식되지 않죠? QEMU/KVM 게스트OS USB 메모리 인식 시키는 방법 알아보겠습니다.
목차
KVM 게스트OS USB 메모리 인식시키는 방법
KVM으로 가상머신을 만들어서 게스트 운영체제를 사용하면서 호스트 머신에 USB 메모리 꼽아서 인식해야 할 때 있죠? 하지만 호스트에서만 기본적으로 USB 메모리가 인식되고, 게스트OS에서는 잡히지 않습니다.
이럴 때에는 아래의 순서대로 진행하면 게스트 운영체제에서 USB 메모리가 USB Storage로 인식됩니다.
첫째, Guest 운영체제를 구동 중인 상태에서 작업해야 하니, 아직 Guest 운영체제가 구동 중이 아니라면 먼저 가상머신의 파워를 올려서 Guest OS 부팅을 해주세요.
둘째, 호스트 머신에 USB 메모리 스틱을 꼽아주세요.
셋째, Virtual Machine Manager의 i모양의 아이콘(Show virtual hardware details)를 눌러서 하드웨어 상세 내역 페이지를 엽니다.
넷째, 좌측 하단에 Add Hardware를 눌러서 하드웨어를 추가해 줄 것입니다.
다섯째, Add New Virtual Hardware 창에서 좌측 리스트 중에 USB Host Device를 선택하면, 창 오른쪽에 Host에 설치된 장비들이 나타납니다. 조금 전에 꼽은 USB 메모리를 선택하고 Finish를 눌러줍니다.
저는 트랜센드 JetFlash라는 메모리를 꼽았기 때문에 그림 3과 같이 나옵니다.
이제 가상머신의 디스플레이를 확인하면, 새로운 USB 메모리가 인식되었을 때와 동일한 방식으로 작동할 것입니다.
그림 4와 같이 작업표시줄에서 USB 디바이스를 확인해 보면 아래와 같이 USB 드라이브 D와 E가 잡히는 것을 확인할 수 있습니다.
이렇게 Guest OS에서 USB 장치가 인식되면 호스트에서는 언마운트(unmount) 처리되고, 게스트 OS에만 붙습니다.
KVM 게스트OS USB 메모리 제거하는 방법
만약 게스트OS에 붙었던 USB 메모리를 다시 Host에서 마운트(mount)되게 하려면 다음과 같이 합니다.
그림 4에서와 같이 게스트 운영체제에서 USB Mass Storage Device 꺼내기를 수행합니다.
여기까지만 하면 Guest VM에 장치는 꼽혀있는데, 게스트 OS에 마운트되지 않은 상태입니다. USB를 뽑아주는 걸 해야 VM에서 완전히 USB가 제거되겠죠?
이를 위해서 그림 5와 같이 Virtual Machine Manager에서 VM으로부터 분리할 USB 장치를 선택합니다. 그리고 창 우측 하단의 Remove 버튼을 눌러서 선택한 USB Device를 제거해 줍니다.
그러고나면 다시 호스트OS에서 해당 USB 장치를 인식해서 마운트 합니다. 제가 테스트한 USB에는 우분투 22.04.1 LTS amd64 설치용 USB였기 때문에 그림 6과 같이 볼륨 이름이 나오면서 마운팅 되는 걸 확인했습니다.
관련 자료
KVM의 Example Assigning Host USB device to a Guest VM 페이지를 참고했습니다.