我正在QEmu中运行一个虚拟机。来宾VM cat /proc/interrupts | egrep 'virtio.*(input|output)'中的以下命令为我提供了以下输出:
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-outputvirtio2.virtio9似乎是8张网卡。但是,我不知道哪一张是对应于哪张卡的。是否有一种方法可以获取virtio3的MAC地址,或者以任何其他方式识别网卡?
发布于 2018-01-01 14:37:22
我有一个方法(几次前在另一个论坛上)
# 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 | sorthttps://unix.stackexchange.com/questions/414124
复制相似问题