Kickstart servers with multiple network interfaces

I attempted to kickstart a server this week with multiple network interfaces, and received an anaconda error stating that it couldn’t find the kickstart configuration file. After a bit of debugging, I noticed that the host kickstarted from one of the interfaces on PCI bus 2, but Anaconda was attempting to use the interface on PCI bus 0. This made sense, since I PXE booted from the one NIC that had link, but anaconda discovered and tried to use all of the installed interfaces. To get around this issue, you can modify the ksdevice= variable a couple of ways:

  1. Add the MAC address of the NIC to kickstart from: ksdevice=DE:AD:BE:EF:CA:FE
  2. Use the “link” keyword to tell kickstart to use the interface that has a link status of UP: ksdevice=link
  3. Use the “bootif” keyword to tell kickstart to use the boot interface: ksdevice=bootif

Due to a bug, option number 3 didn’t work. Since only one of the three NICs connected to the server had link, I ended up using option #2 to install my servers. This worked pretty well, and with a bit of custom logic in my kickstart %post section, unattended installs are now working awesome!

This article was posted by Matty on 2009-06-13 10:41:00 -0400 EDT