ボンディング(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: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> 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