Onde está a lista de emulações de dispositivos suportados no KVM?

0

Estou configurando uma VM guest em libvirt usando o virsh edit. A origem do kernel em execução na VM é um dispositivo de segurança incorporado no qual não tenho controle sobre quais drivers ele contém. Em particular, ele não parece reconhecer o driver virtio para o NIC, então estou usando a emulação e1000 mostrada da seguinte forma:

<interface type='bridge'>
  <mac address='52:54:00:ae:cd:b2'/>
  <source bridge='br0'/>
  <model type='e1000'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

Este valor foi copiado de um exemplo que encontrei na Web em algum lugar.

Eu quero testar outras emulações para ver o que funciona melhor, mas não consegui encontrar as opções disponíveis. Isso se aplica ao disco e aos dispositivos de rede. Eu não me importaria de saber quais emulações de vídeo estão disponíveis também.

    
por AlanObject 21.11.2014 / 01:48

1 resposta

0

Uma lista de algumas das emulações disponíveis é mostrada na página man do kvm . Para obter uma lista definitiva do sistema em uso, use o comando kvm da seguinte forma:

kvm -net nic,model=?

No meu sistema, isso resulta na seguinte saída:

kvm -net nic,model=?
qemu: Supported NIC models: ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio

Para pessoas que seguem a mesma curva de aprendizado que eu, é útil entender como o comando virsh faz o seu trabalho. O arquivo de definição XML é analisado em um comando kvm quando você executa um comando virsh start xxx . O comando real para o qual ele é transformado junto com as variáveis de ambiente é registrado em /var/log/libvirt/qemu/xxx.log , em que xxx é o nome de domínio do seu convidado VM.

Portanto, com essa arquitetura, a lista de opções disponíveis não precisa ser definida pelo pacote virsh , pois é basicamente uma abstração para o trabalho real em andamento, que é feito por kvm . Não sabendo que me fez procurar documentação nos lugares errados.

    
por AlanObject 22.11.2014 / 19:20