Hey CentOS list!
I've got an oddity with a diskless client setup that I suspect is the result of the initrd.img I'm using, or some parameter I'm unaware -- or I need to build my own initrd image (and could use some assistance on what has to be done in that department)
Testbed is defined as:
VM A: ip: 192.168.250.10 with dhcp server, tftp server, nfs server VM B: pxeboot VM, with no local disk, bios set to pxe, same internal network as VM A Early on in the boot cycle, it grabs a DHCP address of 192.168.250.100, with correct mask, gw etc from VM A
When I start the testbed setup:
On the master VM I see log messages with the NIC of the client getting an address, and successfully loading pxelinux.0, pxelinux.cfg/default, vmlinuz and initrd.img.
The PXE client on VM B boots up, downloads all the above images, unpacks and executes the inird image. I see drivers load and normal device registration for the nics just fine.
After the PXE client VM shows the nic has its link up, this is where things go wrong...
* The PXE client (that properly got an address in the 250 space to get its images) sends out a DHCP discover message as would be expected. * VM A responds with an offer of the same 192.168.250.100 address that was used to load * The PXE client comes back with a DHCPREQUEST for 192.168.85.128 * The DHCP server sends a DHCPNAK to the client, and offers the 250 address again. * The client never responds and the image seems to ignore the NAK/OFFER * Eventually the diskless client comes back with a dracut-initqueue message that (as a lease was not ACKed correctly reports) mount.nfs: Network is unreachable
IF however, I run the identical configuration I mention above changing the addresses from 192.168.250.x to the 192.168.85.x space to match the initrd image request, everything works fine and the diskless client boots up normally and I get a command prompt. This would seem to indicate that I've got an otherwise working setup.
The images I've always used for diskless boot are the ones prebuilt and posted on the centos mirrors site -- http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/ I've confirmed they and the pxeboot.0 file I'm using are the most recent being distributed.
I've also unsuccessfully tried to use the ip parameters on the pxelinux.cfg/default line. As this seems to me as the most relevant config to post, here's what I've got there:
label kiosk kernel kiosk/vmlinuz append initrd=kiosk/initrd.img ip=dhcp root=nfs:192.168.250.10:/var/lib/tftpboot/kiosk/root rw selinux=0
If other configs are requested, I'll gladly provide them, but again all works fine if I do this in the 192.168.85.x IP range.
Once I've got this particular problem solved, I'm looking to boot up and bond BOTH NICs together, something I know should be possible, but I've not done myself yet. I believe that'd be handled in the append line as well.
Any assistance in what I need to do to build a proper initrd image that doesn't suffer the problem of accepting a DHCP offered address, OR pointers to a config parameter I'm missing would be most appreciated. And a breadcrumb to help me with the dual nic once I'm out of the woods would be the "icing on the cake" but that's obviously a secondary concern right now!
Thanks jc
John Cole wrote:
Once I've got this particular problem solved, I'm looking to boot up and bond BOTH NICs together, something I know should be possible, but I've not done myself yet. I believe that'd be handled in the append line as well.
If your diskless client has 2 NICs - could that be confusing things?
You could try adding the line:
IPAPPEND 2
to your PXE config file - this will append the MAC address of the PXEboot NIC as an option to the boot cmdline to be used by dhclient when the OS boots
No idea if this is the issue here ...
James Pearson
Thanks for the suggestion I did eliminate the second nic altogether and it didn't seem to make a difference
I'm guessing this is easily replicated for others... what I'm most unsure of is why the dhcp conversation isn't "normal" -- is it a NetworkManager conversation in the shipping image or an ISC client that runs? I'm just not experienced with how the in-memory image is built... I can investigate there if somebody can give me a clue on the image generation...
Appreciate it!
On Fri, Jan 25, 2019, 4:00 PM James Pearson <james-p@moving-picture.com wrote:
John Cole wrote:
Once I've got this particular problem solved, I'm looking to boot up and bond BOTH NICs together, something I know should be possible, but I've
not
done myself yet. I believe that'd be handled in the append line as well.
If your diskless client has 2 NICs - could that be confusing things?
You could try adding the line:
IPAPPEND 2
to your PXE config file - this will append the MAC address of the PXEboot NIC as an option to the boot cmdline to be used by dhclient when the OS boots
No idea if this is the issue here ...
James Pearson _______________________________________________ CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos