I'm trying to build my personal holy grail: booting my Debian Wheezy KVM server diskless from a iSCSI target and the only configuration needed on the diskless server is the iSCSI parameters in the NIC ROM. The rest of the config should all be `inside' the iSCSI LUN.
The system has two NICs that are connected to a switch that supports LACP. So, I want to boot the machine over the bonded interface, that is also inside a bridge vmbr0
. Although this combination isn't exactly working.
Because I read that the iSCSI connection should not be interrupted after boot (for example by reconfiguring the interfaces), I tried to set all my IP configuration before boot (in the kernel parameters/cmdline).
The iSCSI boot part is handled by the ROM of my Broadcom dual-port NIC. This seems to work nicely: grub is started and boot continues after that. In my grub configuration, I have this:
linux /vmlinuz-2.6.32-26-pve root=UUID={iscsi-disk-uuid} ro quiet bond=bond0:eth0,eth1:mode=802.3ad,lacp_rate=1,miimon=100,xmit_hash_policy=layer2+3 bridge=vmbr0:bond0 ip=192.168.15.4::192.168.15.1:255.255.0.0::vmbr0:off
When grub launches the kernel, I get these errors:
ipconfig: vmbr0: SIOCGIFINDEX: No such device
ipconfig: no devices to configure
... repeated 10 times...
/scripts/local-top/iscsi: .: line 426: can't open '/run/net-vmbr0.conf'
And I'm dropped in the initramfs shell, where I find that bond0
is not configured at all (the bonding
module is however loaded) and vmbr0
neither (the bridge
module is apparently builtin).
When I make the scope smaller, by excluding the bonding configuration, with this grub line:
linux /vmlinuz-2.6.32-26-pve root=UUID={iscsi-disk-uuid} ro quiet bridge=vmbr0:eth0 ip=192.168.15.4::192.168.15.1:255.255.0.0::vmbr0:off
Also here, vmbr0
is not created.
So it seems to me that Debian Wheezy's initramfs isn't configuring both bonding and bridging. brctl
is available in the initramfs, ifenslave
on the other hand is not.
What is there to do about this? Or are my kernel parameters (cmdline) not supported/allowed? Or should I consider another booting sequence?