Hi all,
I've got a pair of KVM/qemu guests on a Fedora28 host. One of the VMs
is a Fedora 28 server, and the other VM is a new VM I want to setup over
PXE boot from the other F28 VM.
When I boot the new VM, it sends the request for an IP and I can see
the request come in immediately on the server VM. The new VM seems to
ignore this IP for some time and re-requests an IP. After several
seconds, the new VM takes the IP and the boot proceeds.
On the new VM, I've tried emulating both an 'e1000' and 'virtio'
NIC.
Any tips would be much appreciated. The dev I'm working on requires
very frequent PXE boots, so saving ~10 seconds per boot would be a big help.
Below are relevant details.
digimer
Here are the logs from the server VM:
====
Nov 02 02:45:06
f28-striker01.alteeve.com dhcpd[13089]: DHCPDISCOVER
from 52:54:00:e2:51:7b via bcn1_bond1
Nov 02 02:45:07
f28-striker01.alteeve.com dhcpd[13089]: DHCPOFFER on
10.1.14.240 to 52:54:00:e2:51:7b via bcn1_bond1
Nov 02 02:45:10
f28-striker01.alteeve.com dhcpd[13089]: DHCPDISCOVER
from 52:54:00:e2:51:7b via bcn1_bond1
Nov 02 02:45:10
f28-striker01.alteeve.com dhcpd[13089]: DHCPOFFER on
10.1.14.240 to 52:54:00:e2:51:7b via bcn1_bond1
Nov 02 02:45:18
f28-striker01.alteeve.com dhcpd[13089]: DHCPREQUEST for
10.1.14.240 (10.1.4.1) from 52:54:00:e2:51:7b via bcn1_bond1
Nov 02 02:45:18
f28-striker01.alteeve.com dhcpd[13089]: DHCPACK on
10.1.14.240 to 52:54:00:e2:51:7b via bcn1_bond1
====
Note the first offer is given at 02:45:07, but the DHCPACK comes at
02:45:18, 11 seconds later. In previous setups, this boot was within a
second or two.
The host's bridge (brctl show then the virsh XML);
====
bridge name bridge id STP enabled interfaces
bcn_bridge1 8000.525400bccc6f yes bcn_bridge1-nic
vnet2
vnet3
====
<network>
<name>bcn_bridge1</name>
<uuid>5b7605d0-6ec5-4530-b28e-86b681c07801</uuid>
<bridge name='bcn_bridge1' stp='on' delay='0'/>
<mac address='52:54:00:bc:cc:6f'/>
<domain name='bcn_bridge1'/>
</network>
====
The new VM's <network> block;
====
<interface type='network'>
<mac address='52:54:00:e2:51:7b'/>
<source network='bcn1_bridge1'/>
<model type='virtio'/>
<boot order='1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x03'
function='0x0'/>
</interface>
====
The dhcpd server config (though I doubt the issue is server-side given
the client doesn't send the DHCPACK, unless the server ignored the
initial ACK?);
====
### Global options
option domain-name "alteeve.com";
option domain-name-servers 8.8.8.8, 8.8.4.4;
authoritative;
ddns-update-style none;
# refer to RFC4758 for possible arch option values
option arch code 93 = unsigned integer 16;
subnet 10.1.0.0 netmask 255.255.0.0 {
default-lease-time 600;
max-lease-time 1200;
range 10.1.14.10 10.1.14.250;
option routers 10.1.4.1;
if option arch = 00:07 {
filename "uefi/shim.efi";
} else {
filename "pxelinux.0";
}
next-server 10.1.4.1;
}
====
--
Digimer
Papers and Projects:
https://alteeve.com/w/
"I am, somehow, less interested in the weight and convolutions of
Einstein’s brain than in the near certainty that people of equal talent
have lived and died in cotton fields and sweatshops." - Stephen Jay Gould