2. Add PXE booting to DHCP server

Network booting is initiated by a DHCP server sending extra information to a PXE client. At a minimum, we have to tell the booting network device which server will be providing files via TFTP and which network boot program (NBP) to load.

Add the next-server and filename directives to the 192.168.16.0 subnet declaration.

allow booting;
allow bootp;

...

subnet 192.168.16.0 netmask 255.255.240.0 {
    option routers 192.168.16.1;
    option domain-name "hpc";
    option domain-name-servers 192.168.16.1;
    option subnet-mask 255.255.240.0;
    default-lease-time 600;
    max-lease-time 7200;
    next-server                192.168.16.1;
    filename                   "pxelinux.0";
}

...

You should already have host sections for each compute node in the cluster network. If not, power down all compute nodes, restart the DHCP server with PXE boot enabled and listen to your eno4 network device for DHCP messages. For each compute node, power it on via IPMI and listen for the PXE network boot DHCP requests. These will transmit the MAC address you need.

host c01-hpc {
    hardware ethernet de:ad:be:ef:09:39;
    fixed-address 192.168.17.1;
    option host-name "c01";
}

Do not forget to restart the DHCP server every time you modify the dhcpd.conf file:

[root@master ~]# systemctl restart dhcpd