Network teaming or bonding
Материал из pNp Wiki
Версия от 14:41, 22 ноября 2017; Andy (обсуждение | вклад) (Новая страница: «== Аггрегирование интерфейсов: teaming или bonding == ==== Предварительные требования ==== * Виртуал…»)
Аггрегирование интерфейсов: teaming или bonding
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
bash-completion
,teamd
Настройка интерфейсов
Настройка производится при помощи NetworkManager
.
Предположим, что у нас имеются интерфейсы:
[root@vm-02 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:69:43:af brd ff:ff:ff:ff:ff:ff
3: ens10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:12:f1:62 brd ff:ff:ff:ff:ff:ff
[root@vm-02 ~]#
которые не имеют адресов и, следовательно, не показываются в nmcli
:
[root@vm-02 ~]# nmcli connection show
NAME UUID TYPE DEVICE
[root@vm-02 ~]#
Добавим интерфейсы:
[root@vm-02 ~]# nmcli connection add type ethernet ifname ens3 con-name ens3
[root@vm-02 ~]# nmcli connection add type ethernet ifname ens10 con-name ens10
Если интерфейс не подключился автоматически, то можно сделать так:
[root@vm-02 ~]# nmcli device connect ens10
Device 'ens10' successfully activated with '3f2bda3f-ea5c-4210-907b-1b2ab031533a'.
[root@vm-02 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens10 3f2bda3f-ea5c-4210-907b-1b2ab031533a 802-3-ethernet ens10
ens3 3e6df68f-c1db-45d7-8303-c9d8f5910e73 802-3-ethernet ens3
[root@vm-02 ~]#
Для ускорения времени в настройке teaming'а надо взять примеры конфигурационных файлов, входящих в пакет teamd
:
[root@vm-02 ~]# rpm -qd teamd | grep load
/usr/share/doc/teamd-1.9/example_configs/loadbalance_1.conf
/usr/share/doc/teamd-1.9/example_configs/loadbalance_2.conf
/usr/share/doc/teamd-1.9/example_configs/loadbalance_3.conf
[root@vm-02 ~]#
В зависимости от задания (настроить roundrobin, loadbalance или lacp), выбираем нужную конфигурацию, в данном примере,
предположим, что у нас loadbalance, поэтому скопируем соответствующий файл в директорию /root
:
/bin/cp -a /usr/share/doc/teamd-1.9/example_configs/loadbalance_2.conf /root/lb2.conf
Поправим имена интерфейсов в конфигурационном файле в соотвествии с именами нашей виртуальной машины:
[root@vm-02 ~]# sed -i 's#eth1#ens3#g' /root/lb2.conf
[root@vm-02 ~]# sed -i 's#eth2#ens10#g' /root/lb2.conf
[root@vm-02 ~]# cat /root/lb2.conf
{
"device": "team0",
"runner": {
"name": "loadbalance",
"tx_hash": ["eth", "ipv4", "ipv6"]
},
"ports": {"ens3": {}, "ens10": {}}
}
[root@vm-02 ~]#