
저는 QEMU/KVM을 하이퍼바이저로 사용하고 libvirt를 관리 도구로 사용하여 Ubuntu 18.04를 호스트로, Windows 10을 게스트로 실행하고 있습니다.
Windows 게스트에 전달하려는 nvme SSD /dev/nvmewin이 있습니다(게스트는 이 장치에서 부팅됩니다).
또한 OVMF를 사용하여 UEFI 모드로 부팅하고 있습니다.
현재는 장치가 IDE 장치로 노출된 경우에만 작동합니다. 장치가 SCSI, SATA 또는 Virtio(오류 코드 INACCESSIBLE_BOOT_DEVICE가 있는 파란색 화면)에 있는 경우 게스트가 부팅되지 않습니다.
다른 버스를 사용하는 이유는 그것이 더 나은 I/O 성능을 제공할 것이라고 생각하기 때문입니다.
그래서 내 질문은:
- 다른 버스를 사용하면 I/O 성능이 향상된다는 것이 사실입니까?
- 그렇다면 다른 버스 및 부팅에 장치를 노출하려면 어떻게 해야 합니까?
장치에 대한 내 도메인 구성 부분은 다음과 같습니다.
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/nvmewin'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
답변1
다른 버스를 사용하면 I/O 성능이 향상된다는 것이 사실입니까?
예. cache=none io=native
Hypervisor 기본값 cache
및 설정이 Crystal Disk Mark로 벤치마킹하면 속성이 있는 Virtio 버스를 사용하여 기본 속도에 가까워졌지만 io
실제로는 캐시가 활성화되어 있으므로 테스트 결과는 약간의 차이가 있습니다.
그렇다면 다른 버스 및 부팅에 장치를 노출하려면 어떻게 해야 합니까?
virtio 버스 드라이버만 설치하면 됩니다. Windows 커널에는 이러한 드라이버가 없으므로 드라이버가 설치되어 있지 않으면 Windows가 부팅 시 디스크를 찾을 수 없습니다.
더 많은 정보를 확인하실 수 있습니다여기