TeamingとBonding。なんか実装で違いがあるそうな。っで、Teamingで802.adを行ってみます。
ほとんどはCentOS/Bondingと同じでで、初めにすべてのデバイスを削ってTeamingデバイスを作ります。

作業 (既存デバイス削除)

CentOS/Bonding#k8b1ff61と同じように削除

作業 (デバイス追加)

nmtuiを起動させ、「NetworkManager TUI」画面から「Edit a connection」を選びます。
2015y02m14d_005452718.png
次に、削除してデバイスがない状態から、<Add>を選択します。
2015y02m14d_005633662.png
表示された「New Connection」画面で「Team」を選びます。
2015y02m14d_005740984.png
すると下図の様な「Edit Connection」画面が表示されます。
2015y02m14d_005915556.png

この入力画面で、Profile nameはそのままの「Team connection 1」として、Deviceを「team0」とします。
2015y02m14d_010049102.png
次に、この「team0」Deviceに所属するnicを指定します。
「TEAM」欄の<Add>を選択して表示された画面で、「Ethernet」を選択します。
2015y02m14d_010303175.png
追加するデバイスは「ens33」と「ens34」です。まず「ens33」を入力して<OK>ボタンを押します。
2015y02m14d_010455790.png
すると、元の画面に戻って、「TEAM」欄に「ens33」のProfile nameが追加されます。
2015y02m14d_010642760.png
同じようにして、「ens34」も追加させて、下記のようにします。
2015y02m14d_010903400.png
これでTeamingに参加させるnicの登録は完了しました。
次に、このTeamingの動作を定義します。

作業 (Teaming動作モード設定)

同じ画面に「JSON configuration」欄がある。この欄に動作モードを記載します。記載は<Edit...>を選択してviで入力する。
2015y02m14d_011115446.png
その記載内容は /usr/share/doc/teamd-1.9/example_configs を参照する。
ここでは802.3adとなるLACPを使いたいので lacp_1.conf を参考にする。

[root@c105 ~]# cat /usr/share/doc/teamd-1.9/example_configs/lacp_1.conf
{
        "device":               "team0",
        "runner": {
                "name": "lacp",
                "active": true,
                "fast_rate": true,
                "tx_hash": ["eth", "ipv4", "ipv6"]
        },
        "link_watch":           {"name": "ethtool"},
        "ports":                {"eth1": {}, "eth2": {} }
}
[root@c105 ~]#

ports項目でeth1とeth2はens33とens34にして「JSON configuration」欄に書けばいいのだが、
必要最低限として

 { "runner": { "name": "lacp"} }

と入力してみた。
2015y02m14d_012146254.png

作業 (TeamingIP設定)

CentOS/Bonding#y161218eと同じ作業になります。

定義完了後

[root@c105 ~]# systemctl restart NetworkManager

をした方がいいみたい

確認

上記は仮想マシンを使って手順を示しただけで、実際に動くかは微妙。なんか動かない時もある...

っで下記は上記手法をintel の dual port nic が付いているマシンで施して、その結果である。

[root@e ~]# ip addr
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: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 74:d4:35:0e:08:fa brd ff:ff:ff:ff:ff:ff
3: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master team0 state UP qlen 1000
    link/ether 00:15:17:35:c4:61 brd ff:ff:ff:ff:ff:ff
4: enp1s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master team0 state UP qlen 1000
    link/ether 00:15:17:35:c4:61 brd ff:ff:ff:ff:ff:ff
6: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 00:15:17:35:c4:61 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.17/24 brd 192.168.0.255 scope global team0
       valid_lft forever preferred_lft forever
[root@e ~]#
[root@e ~]# env LANG=C nmcli d
DEVICE    TYPE      STATE        CONNECTION
enp1s0f0  ethernet  connected    Ethernet connection 1
enp1s0f1  ethernet  connected    Ethernet connection 2
team0     team      connected    Team connection 1
enp3s0    ethernet  unavailable  --
lo        loopback  unmanaged    --
[root@e ~]#
[root@e ~]# env LANG=C nmcli c
NAME                   UUID                                  TYPE            DEVICE
Team connection 1      6ba346b6-bf7d-4f87-9720-94fb51bc6c79  team            team0
Ethernet connection 1  e4b6a0c2-5e3c-41d4-a541-9ab287d5497f  802-3-ethernet  enp1s0f0
Ethernet connection 2  e6910f66-a053-43fb-886e-9bf40e58c310  802-3-ethernet  enp1s0f1
enp1s0f1               f977aa5b-e6a3-47dc-aed7-381f794acce9  802-3-ethernet  --
enp1s0f0               e80f948d-b541-4513-a089-d58b67ac6909  802-3-ethernet  --
[root@e ~]#
[root@e ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-Ethernet_connection_1  /etc/sysconfig/network-scripts/ifcfg-Team_connection_1
/etc/sysconfig/network-scripts/ifcfg-Ethernet_connection_2  /etc/sysconfig/network-scripts/ifcfg-lo
[root@e ~]#
[root@e ~]# teamdctl team0 state
setup:
  runner: lacp
ports:
  enp1s0f1
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
    runner:
      aggregator ID: 4, Selected
      selected: yes
      state: current
  enp1s0f0
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
    runner:
      aggregator ID: 4, Selected
      selected: yes
      state: current
runner:
  active: yes
  fast rate: no
[root@e ~]#

こんな感じ

スピードテスト

Teamingを施した e サイトから c と s サイトへパケットを投げてみた。
受け手側:

[root@c ~]# nc -l 11111 > /dev/null
 
[root@s ~]# nc -l 11112 > /dev/null

投げ側:

[root@e ~]# dd if=/dev/zero bs=1073741824 count=4 | nc -v 192.168.0.3  11111
[root@e ~]# dd if=/dev/zero bs=1073741824 count=4 | nc -v 192.168.0.18 11112

2015y02m16d_222524308.png
と上手くいったみたい。

っで逆方向
2015y02m16d_223842612.png
あれぇ?....bondingで言う所のxmit_hash_policyを代えればいいのかな

最新の60件
2025-04-27 2025-04-26 2025-04-25 2025-04-24 2025-04-17 2025-04-15 2025-04-13 2025-04-02 2025-04-01 2025-03-31 2025-03-29 2025-03-28 2025-03-27 2025-03-26 2025-03-23 2025-03-22 2025-03-20 2025-03-17 2025-03-16 2025-03-15 2025-03-06 2025-03-03 2025-03-01 2025-02-18 2025-02-17 2025-02-14 2025-02-12 2025-02-03 2025-02-02 2025-01-27 2025-01-26 2025-01-25 2025-01-24 2025-01-23

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-02-16 (月) 22:52:10