libvirt - IDE 장치에서만 부팅할 수 있나요?

libvirt - IDE 장치에서만 부팅할 수 있나요?

저는 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=nativeHypervisor 기본값 cache및 설정이 Crystal Disk Mark로 벤치마킹하면 속성이 있는 Virtio 버스를 사용하여 기본 속도에 가까워졌지만 io실제로는 캐시가 활성화되어 있으므로 테스트 결과는 약간의 차이가 있습니다.

그렇다면 다른 버스 및 부팅에 장치를 노출하려면 어떻게 해야 합니까?

virtio 버스 드라이버만 설치하면 됩니다. Windows 커널에는 이러한 드라이버가 없으므로 드라이버가 설치되어 있지 않으면 Windows가 부팅 시 디스크를 찾을 수 없습니다.

더 많은 정보를 확인하실 수 있습니다여기

관련 정보