How-to bond multiple NIC for VLAN

As a newbie to Harvester I would like to know, how 2 physical NICs on our hardware can be used as a bonded uplink for the guest VLANs.
The documentation under Harvester Network - Harvester - Open Source Hyperconverged Infrastructure states in the note, that this is possible “via PXE boot configuration” - unfortunately the provided link ends in a 404 …
I realized that there is a request for enhancement to make this possible during setup, best as it is already implemented for the harvester-mgmt-net - but in the meantime I would appreciate a how-to on how this could be configured - either during ISO setup or later on CLI.
Thank you

1 Like

I had the exact same question. As I understand it, the only way is by using a custom configuration file during initial install, as described here.

I’m going to give it a try myself and report back…

Since setup of iPXE would take a bit more time to setup, I resorted to manually adding the VLAN bond for now.
The steps are:

  1. SSH into the server node and go to /etc/sysconfig/network.
  2. Create files for each of the NICs you want to bond; in my case enp3s0 and enp4s0 so I created ifcfg-enp3s0 and ifcfg-enp4s0 with the following two lines:
STARTMODE='hotplug'
BOOTPROTO='none'
  1. Create a file for your bond, like ifcfg-harvester-vlan with the following lines (tweak as needed):
STARTMODE='auto'
BONDING_MASTER='yes'
BOOTPROTO='dhcp'

BONDING_SLAVE_0='enp3s0'
BONDING_SLAVE_1='enp4s0'

BONDING_MODULE_OPTS='miimon=100 mode=balance-tlb '

DHCLIENT_SET_DEFAULT_ROUTE='yes'
  1. Bring the newly created interfaces up with sudo wicked ifup enp3s0 enp4s0 harvester-vlan.
  2. Check the status with ip -br a.

Refresh the UI and select the Host again to pick-up the new bond (if not, just reboot).
Now you can select harvester-vlan as the cluster VLAN.

This solution appears to work well but after reboot, the changes made in /etc/sysconfig/network are not persistent. Am I missing a step ? I’m running Harvester 1.0.2 and logging into the nodes using the rancher username.

You can modify /oem/99_custom.yaml to persist your change.

1 Like