|
Packit |
cac203 |
This is basic howto introduction to team.
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
-------------------------------------------------------------------------------
|
|
Packit |
cac203 |
1) PREFERRED Using teamd
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
# cat teamd_test.conf
|
|
Packit |
cac203 |
{
|
|
Packit |
cac203 |
"device": "team0",
|
|
Packit |
cac203 |
"runner": {"name": "activebackup"},
|
|
Packit |
cac203 |
"link_watch": {"name": "ethtool"},
|
|
Packit |
cac203 |
"ports": {
|
|
Packit |
cac203 |
"eth1": {
|
|
Packit |
cac203 |
"prio": -10,
|
|
Packit |
cac203 |
"sticky": true
|
|
Packit |
cac203 |
},
|
|
Packit |
cac203 |
"eth2": {
|
|
Packit |
cac203 |
"prio": 100
|
|
Packit |
cac203 |
}
|
|
Packit |
cac203 |
}
|
|
Packit |
cac203 |
}
|
|
Packit |
cac203 |
# teamd -f teamd_test.conf -d
|
|
Packit |
cac203 |
# ip addr add 192.168.252.2/24 dev team0
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
Finally to remove interface team0:
|
|
Packit |
cac203 |
# teamd -f teamd_test.conf -k
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
See "man teamd" for more details.
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
-------------------------------------------------------------------------------
|
|
Packit |
cac203 |
2) Using teamnl and ip utils
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
# ip link add team0 type team
|
|
Packit |
cac203 |
# teamnl team0 getoption mode
|
|
Packit |
cac203 |
*NOMODE*
|
|
Packit |
cac203 |
# teamnl team0 setoption mode activebackup
|
|
Packit |
cac203 |
# teamnl team0 getoption mode
|
|
Packit |
cac203 |
activebackup
|
|
Packit |
cac203 |
# ip link set dev eth1 master team0
|
|
Packit |
cac203 |
# ip link set dev eth2 master team0
|
|
Packit |
cac203 |
# teamnl team0 ports
|
|
Packit |
cac203 |
6: eth2: up 100 fullduplex
|
|
Packit |
cac203 |
5: eth1: up 100 fullduplex
|
|
Packit |
cac203 |
# ip addr add 192.168.252.2/24 dev team0
|
|
Packit |
cac203 |
# ip link set team0 up
|
|
Packit |
cac203 |
# teamnl team0 getoption activeport
|
|
Packit |
cac203 |
0
|
|
Packit |
cac203 |
# teamnl team0 setoption activeport 5
|
|
Packit |
cac203 |
teamnl team0 getoption activeport
|
|
Packit |
cac203 |
5
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
You can do link changes on ports and push some traffic through now to see
|
|
Packit |
cac203 |
what happens. Note you also need to alter mac addresses manualy!
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
See "man teamnl" for more details.
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
-------------------------------------------------------------------------------
|
|
Packit |
cac203 |
3) Using example c applications and ip util
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
Note: Used applications are part of this project but their main purpose
|
|
Packit |
cac203 |
is to act as examples. Also they are usually not part of distribution
|
|
Packit |
cac203 |
packages
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
First create team device:
|
|
Packit |
cac203 |
# ip link add team0 type team
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
Then spawn monitor app on second console:
|
|
Packit |
cac203 |
# team_monitor team0
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
You will see incoming events there.
|
|
Packit |
cac203 |
Now do couple of commands:
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
# team_manual_control team0 get mode
|
|
Packit |
cac203 |
*NOMODE*
|
|
Packit |
cac203 |
# team_manual_control team0 set mode activebackup
|
|
Packit |
cac203 |
# team_manual_control team0 get mode
|
|
Packit |
cac203 |
activebackup
|
|
Packit |
cac203 |
# ip link set dev eth1 master team0
|
|
Packit |
cac203 |
# ip link set dev eth2 master team0
|
|
Packit |
cac203 |
# ip addr add 192.168.252.2/24 dev team0
|
|
Packit |
cac203 |
# ip link set team0 up
|
|
Packit |
cac203 |
# team_manual_control team0 get activeport
|
|
Packit |
cac203 |
NONE
|
|
Packit |
cac203 |
# team_manual_control team0 set activeport eth1
|
|
Packit |
cac203 |
# team_manual_control team0 get activeport
|
|
Packit |
cac203 |
eth1
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
You can do link changes on ports and push some traffic through now to see
|
|
Packit |
cac203 |
what happens. Note you also need to alter mac addresses manualy!
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
-------------------------------------------------------------------------------
|
|
Packit |
cac203 |
4) Using example python daemon
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
To create and manage active backup team device:
|
|
Packit |
cac203 |
# ./examples/python/team_daemon.py --port eth1 --port eth2 -m activebackup --active-port eth2 --team-name team0
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
Or simply just following command to create roundrobin team device with default name:
|
|
Packit |
cac203 |
# ./examples/python/team_daemon.py --port eth1 --port eth2 -m roundrobin
|
|
Packit |
cac203 |
|
|
Packit |
cac203 |
And setup addr and bring team up:
|
|
Packit |
cac203 |
# ip addr add 192.168.252.2/24 dev team0
|
|
Packit |
cac203 |
# ip link set team0 up
|