Aggregating interfaces can be a pain, but it doesn’t have to be. With Red Hat 7 and above, you can team your interfaces with very little effort. Frankly, it is pretty awesome.
Much can be say about whether Network Manager is necessary or not on the server, but after working with nmcli, I could at least see how useful it is when comes to persistently set teaming configurations. I mean, the setup goes something like this:
Create a team configuration file, using one of the example in the documentation directory
cp activebackup_ethtool_1.conf tmp.json
Then create the master, using the above configuration:
nmcli con add type team con-name team0 ifname team0 config tmp.json
Then add the slaves:
nmcli con add type team-slave con-name ens8 ifname ens8 master team0
nmcli con add type team-slave con-name ens9 ifname ens9 master team0
Re-start the interfaces and you are done!
It does smell a bit, but after fighting with Network Manager for the last decade, maybe it is time to at least give it a chance.