我正在通过ansible设置KVM自动化,并且我有一个VM一直给我这个错误:
libvirtError:XML错误:预期的单播mac地址,找到多播'53:54:00:b4:ad:81'
我不认为这是一个难题,因为其他几台VM的工作都很好。我尝试了另一台主机,甚至将以前使用过的MAC更改为从未使用过的MAC。最好的告诉我这不是多播mac地址,我不确定问题出在哪里或下一步去哪里。任何建议,将不胜感激。
这是我用来构建VM的xml-基于构建我所有其他VM的相同模板(MAC地址,名称等除外)。
<domain type='kvm'>
<name>te01</name>
<cpu mode='host-passthrough'>
<topology sockets='1' cores='1' threads='1'/>
</cpu>
<memory unit='GiB'>8</memory>
<os>
<type arch='x86_64'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/bin/kvm-spice</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='writeback' discard='ignore' io='threads'/>
<source file='/images/te01.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
<interface type='bridge'>
<source bridge='br0'/>
<mac address='53:54:00:b4:ad:81'/>
<guest dev='ens3'/>
</interface>
<interface type='bridge'>
<source bridge='br502'/>
<guest dev='ens5'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/1'/>
<target type='isa-serial' port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/1'>
<source path='/dev/pts/1'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<graphics type='vnc' autoport='yes'>
<listen type='address' address='0.0.0.0'/>
</graphics>
</devices>
</domain>
MAC地址的最高有效字节中有两个标志。最高有效字节的最低有效位是I / G(个人/组)标志。将该位置1意味着该地址以组为目的地。最高有效字节的第二个最低有效位是U / L(通用/本地)标志。将该位置1表示MAC地址是在本地创建的。 BIA(地址烧入)的U / L位清零。
您的MAC地址53:54:00:b4:ad:81
设置了I / G位(表示它是组地址)和设置了U / L位,表示它是本地定义的MAC地址。
最高有效字节是0x53(01010011
),因此两个标志都被设置。