Adicionando dispositivos de blocos do Virtio em tempo de execução no Libvirt KVM

2

Estou executando o Debian Wheezy Beta 4 com sistemas guest baseados em KVM que executam o mesmo sistema operacional. Estou usando o LibVirt para gerenciar a virtualização.

O que eu gostaria de fazer é conectar um dispositivo de bloco baseado em LVM a um sistema convidado em execução através do Virtio. Se eu configurasse através de virsh edit [MACHINE] , ficaria assim:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/volume_group/logical_volume'/>
  <target dev='vdb' bus='virtio'/>
</disk>

Eu tentei descobrir como fazer isso com virsh attach-disk . Até agora eu percebi o seguinte:

virsh attach-disk guest /dev/volume_group/logical_volume vdb --driver qemu --type raw --cache none --persistent

Como posso especificar o campo bus e io do driver? Eu realmente preciso que essas opções sejam exatamente conforme especificado no XML.

    
por aef 29.11.2012 / 15:43

1 resposta

1

Eu acho o modo de linha de comando de especificar as opções bastante limitadas. Tente usar o attach-device action e especifique a configuração do disco em um arquivo XML.

virsh # attach-device [MACHINE] /tmp/new-disk.xml

com o arquivo new-disk.xml contendo as cinco linhas que você adicionaria usando edit .

Adicione --persistent para atualizar a definição XML da sua máquina para você.

atualização

Certifique-se de ter os módulos do kernel hotplug carregados no convidado antes de adicionar o dispositivo:

modprobe acpiphp
modprobe pci_hotplug

Você deve então ver o kernel lançando algumas mensagens de depuração em dmesg , assim:

[  321.946440] virtio-pci 0000:00:06.0: using default PCI settings
[...]
[  321.952782]  vdb: vdb1 vdb2
    
por 29.11.2012 / 16:05