Note: This is an RHCE 7 exam objective.
Presentation
There are two ways to configure aggregated network links between two RHEL systems:
- network bonding: this mode already existed in RHEL 6,
- network teaming: this mode is new to RHEL 7 and offers more options.
Red Hat provides a page comparing the two network links aggregation methods.
Connecting two RHEL systems directly by Ethernet cables is not supported. All connections have to be done through switches.
Concerning the tutorials, all configurations are made between virtual machines. It is also the case in the RHCE 7 exam.
Additional Resources
Venkat Nagappan‘s got an interesting video explaining how to Set up Network Teaming & Bonding in CentOS 7 (20min/2015).
Hangbin Liu, from Red Hat, wrote an introduction to Linux interfaces for virtual networking.
Which is faster to do in the exam and why?
The teaming is the new RHEL 7 way to do link aggregation. Bonding still works and is supported.
There is a very slight performance advantage to use teaming. This also adds more features.
From an exam point of view, teaming should be preferred.
I personally find teaming configuration slightly more time consuming compared to bonding, as it requires me to either remember JSON config, or to find/copy/edit examples that are available on a RHEL server.
Interesting. Thanks.
I have a CentOS 7.2 minimal install with dual nics on vmworkstation 11.1.4 I configured bridging like Venkat did in his video above. It works until I
nmcli con down bridge0-slave2
. It works if I take down bridge0-slave1.. then I can put bridge0-slave2 back up and if will not work until I use nmtui to enable the connection?! I even did a yum update while it was working.. I remember Sander saying there was an issue with bridging and NetworkManager.. anyone know what is going on?Have you enabled promiscous and full duplex mode on the guests’ NICs?
I don’t think you need to.
is network bridging an exam objective? I cannot see it there
No, I don’t think it is an RHCSA/RHCE exam objective.
I know teaming is the new way of doing things, but I prefer bonding as I find it saves time and is quicker.
Is it allowed to use either or do we need to specifically use teaming?
I suppose if teaming is specified in the wording of the question, you have to use teaming. Otherwise, they give you the choice.
Well, the RHCE exam objectives still say:
“Use network teaming or bonding to configure aggregated network links between two Red Hat ”
Therefore I believe the choice is yours, unless during the exam it’s explicitly specified you must use teaming.
So I’m studying for the RHCE 7 on a CentOS 7 server and whenever I configure teaming between 2 VMs and test it with pings, I seem to always lose a bunch of packets whenever I shut off one interface of the team. I’d say there’s like a 15 second delay between when I shut off the interface and the pings to the teamed interface start working again. Is that normal? I’ve tried load-balanced and round-robin.
That’s not normal. You should experience zero packet loss in reality.
ok thats what I thought. Would it be an issue with using kvm virtual machines? I tried configuring with nmcli commands and copying the examples in /usr/share/doc/teamd-1.25/example_ifcfgs/
I get the same bad results. I looked at the time on each system and they are pretty much the same.
Not sure what else to check.
ok I’m not sure why, but it seems that using the runner “activebackup” seems to work with no packets dropping. The other runners seem to take a while to “kick in” for whatever reason.
I still think your problem is with the settings.
Have you tried using the debug method/log files?
There seem to be some methods from the cli or modifying the teamd.conf (see the man files).
I am not currently able to test this.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Configure_a_Network_Team_Using-the_Command_Line.html
Seems strange, I can only guess. It sounds like a setting issue. Check the resources per VM and the total resources on the host server. Check your v-lan setting. Even isolate from any external internet access. After that check NTP settings for lag and jitter.
Hello Certdepot,
I am trying to configure teaming on vmware workstation … installed on Windows with single NIC (wifi) over laptop.
When I try to setup link aggregation with two cards added on to VM. It says duplicate mac address ……….
Question:
Is it possible to perform this scenario on VM?
or do I need a physical machine and two NICs with linux installed?
If you create two VMs with two virtual NICs each, set up link aggregation between these two NICs and then connect these two VMs together, I don’t see why it wouldn’t work (even though I’m not expert in VMware workstation).
Yes, it is possible to do this on a VM, I’ve personally done it many times.
Below is the error that I am getting when I try to run
# nmcli connection up team0
[screen shot]
https://prnt.sc/gcxnsn
This error is vmware related …
Both the NICs work fine without team, but I receive this error as soon I bring up team interface.
Would you be able to help on this case?
Do the adapters which are attached to the VM have different MACs?
Yes, MAC Addresses are different on both cards.
I followed this guide for this issue.
https://aacable.wordpress.com/2012/12/04/howto-change-mac-address-of-vm-hosted-in-vm-workstation/
But issues still remain the same.
Output of
# ip link show
https://justpaste.it/1aj9o
Which version of ESXi are you using?
I am using VMware WorkStation 12 Pro.
version: 12.0.1
Ah, OK, fair enough. I’m on ESXi 5.1 so this may explain why I cannot replicate your issue.
Can you explain if it works with ESXi, why would it create problems with Vmware workstation … as both provide the same funtionality … that might interest me and others
It does work on ESXi, KVM and VirtualBox, I have tested these virtualisation solutions myself when preparing for the exam. I didn’t use VMware Workstation though. They do provide similar functionality, however the way it’s achieved is a bit different – ESXi is a bare-metal hypervisor while VMware Workstation is a type 2.
Thanks,
I will give it a try with Virtual Box.
BTW, your website is very informative 🙂
Go for it. Don’t forget to set network adapters into promisc mode.
Thanks
I have just finished this lab with Virtual Box, and it worked without promisc mode.
At the end it looked like issue with VMWare Workstation .
Good stuff, really glad you got it working in the end.
I understand teaming with two interfaces on a server or VM but don’t see where it’s documented or explained how to aggregate links “between” two RHEL VM’s, where is that shown?
You need two VMs which have teaming configured with two interfaces each. The teamed link between the two servers will serve as an aggregated link between two VMs.
Hmm, The Implementations used both network bonding and network teaming is aggregation. In short Set up a client and server VM, with two network interfaces each, on the same isolated network, follow the tutorial on each Server and Client VM. That should answer your question.
I’m with DanS here, I see how to create two teamed interfaces on two servers, but where does the link between the two vm’s come from. I think I am missing something, although there is already an answer. Also when following the tutorial, the teamed interfaces on both machines will end up with the same IP as the manual loops over that part. Is that what is intended to happen?
The teamed link between the two servers is meant to serve as an aggregated link between two VMs, that’s the link that you need to set up during the exam. The IP addresses will obviously be different as otherwise you end up with an IP conflict (collision).
I think I understand where your issue is. I will try and explain.
There are two interface(s) on server A (or VM A).
There are two interface(s) on server B (or VM B).
On each Server, A Master-Slave network connection type is created.
Work through the example below and that should given you a clearer picture.
https://www.lisenet.com/2016/configure-aggregated-network-links-on-rhel-7-bonding-and-teaming/
There is additional information in chapter 5.1-5.3 of the Red Hat Network guide
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ch-configure_network_teaming#sec-Understanding_Network_Teaming
Maybe the wording is unclear in the question?
AFAIK, the aggregated links (teamed NICs) are composed of two NICs on the same VM. The unclear part of this is where/how the “aggregated network links between two rhel systems” comes into play.
Isn’t it enough to say that the VMs should have aggregated links configured on the same subnet?
Maybe I’m still misunderstanding the question or missing something here.
For a given single connection where we could have both an ipv4 and ipv6 addressing setup, if ipv4 addressing is via DHCP and ipv6 is static, will issuing an ipv6.method manual break ipv4 dhcp ? Is it smart enough to know that you only want ipv6 to be static and not ipv4?
Guys, a question?
When I need to configure ipv6 with teaming, do I put the ip in the ifcfg-team0 file?
Ex:
# cat ifcfg-team0
DEVICE=”team0″
DEVICETYPE=”Team”
ONBOOT=”yes”
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=192.168.122.197
TEAM_CONFIG='{“runner”: {“name”: “activebackup”}}’
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6ADDR=2602:306:cc2d:f591::A/64
I wonder if the configuration is correct?
tks
Try the following command:
# nmcli c mod team0 ipv6.addresses 2602:306:cc2d:f591::A/64 ipv6.method manual
And see what gets written to the file.
It did not work and gave the following error:
nmcli connection modify “Team team0” ipv6.addresses 2602:306:cc2d:f591::C/64 ipv6.method manual
Error: Failed to modify connection ‘Team team0’: (32) Can’t write connection ‘/etc/sysconfig/network-scripts/ifcfg-team0’
But the logic is right?
My question is regarding the EX300 exam. Because I understand that we will configure everything on the same server. Then I will have to configure ipv6 and teaming. So I understand that both should work together. That’s right?
Thank you.
There may be a problem with your ifcfg-team0 configuration since you edited the file manually. The best way to know if the configuration is correct is to start over and use nmcli to configure teaming. When you’re done, you can open the file ifcfg-team0 and see what’s inside.
Ok I’ll test. Thank you very much.
The question (request?) makes it sound like the teamed connection should be composed of two network interfaces from two different systems.
i.e. team0 = vm1-eth1 + vm2-eth1
instead of:
vm1 –> team0 = eth0 + eth1
vm2 –> team0 = eth0 + eth1
Well, I suppose no contradicting comments means that my understanding of the setup must be correct. :p
Sorry but I’m not sure to understand your question.