Hi,
I am currently struggling with the right way to configure a bonding
device via kickstart (via PXE).
I am installing servers which have "eno" network interfaces. Instead of
the expected bonding device with two active slaves (bonding mode is
balance-alb), I get a bonding device with only one active slave and an
independent, non-bonded network device. Also the bonding device gets
its MAC address from the second instead of from the first device.
I appreciate any hint (or rtfm with the name of the correct fm ;-) on
how to achieve the desired setup through kickstart. Please find the
used PXE and kickstart settings and resulting network configuration below.
I did this with CentOS 7.2.1511. We cannot go further due to Infiniband
and lustre drivers which are currently only supported for this CentOS
7.x version
Cheers
frank
--------------------------------------------------
The used PXE configuration is
LABEL CentOS-7
kernel centos-7/vmlinuz
append initrd=centos-7/initrd.img ip=dhcp
nameserver=xx.xx.xx.xx ksdevice=eno1
inst.repo=http://our.mirror.server/7/os/x86_64 inst.ks.sendmac
inst.ks=http://our.kickstart.server/ks.cgi
and the network settings in the kickstart file are
network --device bond0 --bondslaves=eno1,eno2
--bondopts=mode=balance-alb --bootproto=dhcp --hostname=myhost --activate
I would have expected to get a bonding device with eno1 and eno2 as
slave devices, the bonding device inheriting the MAC address from eno1
(otherwise DHCP won't work). Instead the result is a bonding device
with eno2 as - sole - slave device and eno1 as a single active device
with the main IP address of the host:
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet6 fe80::42f2:e9ff:fec7:b5f1 prefixlen 64 scopeid 0x20<link>
ether 40:f2:e9:c7:b5:f1 txqueuelen 0 (Ethernet)
RX packets 29 bytes 5274 (5.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39 bytes 3486 (3.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xx.xx.xx.xx netmask 255.255.255.0 broadcast xx.xx.xx.xx
inet6 fe80::42f2:e9ff:fec7:b5f0 prefixlen 64 scopeid 0x20<link>
ether 40:f2:e9:c7:b5:f0 txqueuelen 1000 (Ethernet)
RX packets 4303 bytes 798163 (779.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1686 bytes 481585 (470.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
eno2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 40:f2:e9:c7:b5:f1 txqueuelen 1000 (Ethernet)
RX packets 29 bytes 5274 (5.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39 bytes 3486 (3.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 17
The ifcfg-files look basically ok, but there are two for the eno1 device.
ifcfg of the bonding device:
$ cat ifcfg-bond0
# Generated by parse-kickstart
IPV6INIT="yes"
DHCP_HOSTNAME="myhost"
NAME="Bond connection bond0"
BONDING_MASTER="yes"
BOOTPROTO="dhcp"
BONDING_OPTS="mode=balance-alb"
DEVICE="bond0"
TYPE="Bond"
ONBOOT="yes"
UUID="35910614-4a7c-43c9-8e44-dcf44b783358"
$
ifcfg of the two slave devices
$ cat ifcfg-bond0_slave_1
# Generated by parse-kickstart
NAME="bond0 slave 1"
MASTER="35910614-4a7c-43c9-8e44-dcf44b783358"
HWADDR="40:f2:e9:c7:b5:f0"
TYPE="Ethernet"
ONBOOT="yes"
UUID="f3a0a007-861c-42b6-8264-6efba62232ce"
$
$ cat ifcfg-bond0_slave_2
# Generated by parse-kickstart
NAME="bond0 slave 2"
MASTER="35910614-4a7c-43c9-8e44-dcf44b783358"
HWADDR="40:f2:e9:c7:b5:f1"
TYPE="Ethernet"
ONBOOT="yes"
UUID="ee3f7c84-d4cb-412e-887d-6b1c753eb913"
$
ifcfg of eno1 (which physically has the MAC address 40:f2:e9:c7:b5:f0,
which is the same as ifcfg-bond0_slave_1
$ cat ifcfg-eno1
# Generated by dracut initrd
NAME="eno1"
DEVICE="eno1"
ONBOOT=yes
NETBOOT=yes
UUID="d20645a0-8093-45f3-9630-d0249f76726b"
IPV6INIT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
DNS1="192.55.188.177"
$