・ネットワークボンディングによるフォールトトレラント

LINEで送る
Pocket

ボンディング(bonding)とは、複数のネットワークアダプタを束ねて一つのアダプタとして運用し、負荷分散や帯域向上、冗長化を図る技術のことをいいます。
もしNICが2枚以上マザーボードに存在するなら帯域向上の為にボンディングをしてみてはどうでしょうか?

ケーブルが断線したり、間違えて抜いてしまったとしてもボンディングをしていれば大丈夫です。ボンディングは、ネットワークマネージメントツールを使用して設定する事が出来ます。

サンプル環境では、enp0s3, enp0s8, enp0s9 3枚のNICが刺さっていて、enp0s3 は、通常の使用方法で利用し、enp0s8 と enp0s9 をボンディングしてみます。

ip コマンドでインターフェイスの状態を確認します。

# 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:65:89:d4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.8/24 brd 192.168.1.255 scope global dynamic enp0s3
       valid_lft 12864sec preferred_lft 12864sec
    inet6 2408:212:6a20:bf00:a00:27ff:fe65:89d4/64 scope global noprefixroute dynamic 
       valid_lft 2592005sec preferred_lft 604805sec
    inet6 fe80::a00:27ff:fe65:89d4/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:57:bd:be brd ff:ff:ff:ff:ff:ff
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:6f:5d:d9 brd ff:ff:ff:ff:ff:ff
   ------
  |enp0s3| -------------       HUB
   ------               |      ---
                        |     |   |
   bond0                 -----|   |
 ----------                   |   |
|  ------- |             -----|   |
| |enp0s8| |            |     |   |
|  ------  |            |      ---
|  ------  |------------
| |enp0s9| |
|  ------- |
 ----------

ボンディングの設定は、ネットワークマネージャテキストUIのnmtuiコマンドを使って設定します。
nmtui と実行すると以下の画面が起動します。

# nmtui

[接続の編集]を選択します。
 

 
もしボンディングで割り当てる予定のNICが既に設定されている場合は[削除]を選択して削除しておきます。
 

 

 
[追加]を選択、新規の接続タイプで[ボンド]を作成し、プロファイルとデバイスを以下のように設定します。
 

 
プロファイル: 任意(bond0)
デバイス: bond0

画面が切り替わるので再度[追加]を選択、新規の接続タイプで[Ethernet]を作成し、プロファイルとデバイスを以下のように設定し、
ボンディングに割り当てるデバイス分設定します。
 

 

 
プロファイル: 任意(enp0s8)
デバイス: 割り当てるデバイス(enp0s8)
 

ボンディングのモードはデフォルトでラウンドロビンに設定されています。
ラウンドロビンは、順次均等に処理を割り当てます。帯域幅を広げたい場合は、物理的に複数のリンクを1つにまとめる802.3adというモードを選択します。
スタティックIP、DNS、ゲートウェイを個別に設定する場合は適宜設定します。
 

ip コマンドを再度実行するとenp0s8 と enp0s9 が bond0 に集約されている事が分かります。

# ip addr
:
3: enp0s8: &lt;BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 08:00:27:6f:5d:d9 brd ff:ff:ff:ff:ff:ff
4: enp0s9: &lt;BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 08:00:27:6f:5d:d9 brd ff:ff:ff:ff:ff:ff
7: bond0: &lt;BROADCAST,MULTICAST,MASTER,UP,LOWER_UP&gt; mtu 1500 qdisc noqueue state UP
link/ether 08:00:27:6f:5d:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic bond0
valid_lft 13670sec preferred_lft 13670sec
inet6 2408:212:6a20:bf00:a00:27ff:fe6f:5dd9/64 scope global noprefixroute dynamic
valid_lft 2591963sec preferred_lft 604763sec
inet6 fe80::a00:27ff:fe6f:5dd9/64 scope link
valid_lft forever preferred_lft forever
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください