Identifique dispositivos como virtio2 e virtio3 no QEmu

0

Estou executando uma máquina virtual no QEmu. O seguinte comando na VM guest cat /proc/interrupts | egrep 'virtio.*(input|output)' me fornece a seguinte saída:

 26:          0       3376          0          0          0          0          0          0   PCI-MSI-edge      virtio2-input
 27:          0          1          0          0          0          0          0          0   PCI-MSI-edge      virtio2-output
 29:          0       3368          0          0          0          0          0          0   PCI-MSI-edge      virtio3-input
 30:          0          2          0          0          0          0          0          0   PCI-MSI-edge      virtio3-output
 32:          0       3490          0          0          0          0          0          0   PCI-MSI-edge      virtio4-input
 33:          0          1          0          0          0          0          0          0   PCI-MSI-edge      virtio4-output
 35:          0       4995          0          0          0          0          0          0   PCI-MSI-edge      virtio5-input
 36:          0          1          0          0          0          0          0          0   PCI-MSI-edge      virtio5-output
 38:          0    1818743          0          0          0          0          0          0   PCI-MSI-edge      virtio6-input
 39:          0          1          0          0          0          0          0          0   PCI-MSI-edge      virtio6-output
 41:          0    1822784          0          0          0          0          0          0   PCI-MSI-edge      virtio7-input
 42:          0          1          0          0          0          0          0          0   PCI-MSI-edge      virtio7-output
 44:          0       2470          0          0          0          0          0          0   PCI-MSI-edge      virtio8-input
 45:          0          0          2          0          0          0          0          0   PCI-MSI-edge      virtio8-output
 47:          0          0         94          0          0          0          0          0   PCI-MSI-edge      virtio9-input
 48:          0          0          1          0          0          0          0          0   PCI-MSI-edge      virtio9-output

virtio2 ... virtio9 parece ser 8 placas de rede. No entanto, não consigo descobrir qual deles corresponde a qual cartão. Existe uma maneira de obter o endereço MAC de virtio3 , ou identificar a placa de rede de alguma outra forma?

    
por Serge Rogatch 01.01.2018 / 15:26

1 resposta

1

Eu tenho um método (feito em outro fórum algumas vezes atrás)

# vm mac address list
for vm in $(virsh list | grep running | awk '{print $2}'); do \
  echo -n "$vm "; \
  virsh dumpxml $vm| grep -oP "52:54:[\da-f:]+" ; 
done > vm_mac.list

# vm ip list
arp -i virbr0 | grep '52:' | while read addr ; do \
  ip=$(echo $addr | awk '{print $1}'); \
  mac=$(echo $addr | awk '{print $3}'); \
  vm=$(grep "$mac" vm_mac.list | awk '{print $1}'); \
  echo "$vm $ip $mac"; \
done | sort
    
por 01.01.2018 / 15:37