Debian 12 bookworm
Sponsored Link

ネットワーク ボンディングの設定2023/07/17

 
サーバーコンピューターに複数のネットワークインターフェースが搭載されている場合、ネットワーク ボンディングの設定を適用することにより、複数のネットワークインターフェースを使用して、ネットワークの冗長化や負荷分散をすることができます。
ボンディングの設定の際に指定する動作モードの概要は以下の通りです。
モード番号 モード名称 概要
0 balance-rr 全てのメンバーデバイス (NIC) を使用して、順番 (ラウンドロビン) にデータを送受信する。
負荷分散と冗長化に対応する。
trunk に対応したスイッチが必要となる。
ボンディングの設定時に Mode を指定しない場合は、当モードがデフォルトモードとして適用される。
1 active-backup メンバーデバイスのうちの 1つの NIC のみをアクティブインターフェイスとしてデータを送受信する。
冗長化に対応する。
2 balance-xor 送信元/先の MAC アドレスを元に、メンバーデバイスから送信デバイスを決定してデータを送受信する。
負荷分散と冗長化に対応する。
trunk に対応したスイッチが必要となる。
3 broadcast 全メンバーデバイスに同一パケットを送信する。
冗長化に対応する。
通常用途では使用しない。
4 802.3ad IEEE 802.3ad (LACP) に準拠したリンクアグリゲーション。
IEEE 802.3ad に対応したスイッチが必要となる。
5 balance-tlb 送信時のみ NIC の速度、及び負荷に応じて負荷分散を行い、受信時は冗長化する。
負荷分散と冗長化に対応する。
6 balance-alb balance-tlb の機能に加え、受信も負荷分散する。
負荷分散と冗長化に対応する。

[1] ボンディングの設定です。
root@dlp:~#
apt -y install ifenslave ethtool
# ネットワークインターフェース確認

root@dlp:~#
ip address show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:1e:97:91 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.30/24 brd 10.0.0.255 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe1e:9791/64 scope link
       valid_lft forever preferred_lft forever
3: enp7s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 52:54:00:54:5f:34 brd ff:ff:ff:ff:ff:ff

# ネットワーク設定編集

root@dlp:~#
vi /etc/network/interfaces
# 以下のように全行変更
# インターフェース名や IP アドレス, DNS 等の設定は自身の環境に置き換え
# [mode] には設定したいモード名を指定
auto enp1s0
iface enp1s0 inet manual
    bond-master bond0
    bond-mode balance-rr
   
auto enp7s0
iface enp7s0 inet manual
    bond-master bond0
    bond-mode balance-rr

auto bond0
iface bond0 inet static
    address 10.0.0.30
    netmask 255.255.255.0
    network 10.0.0.0
    gateway 10.0.0.1
    bond-slaves enp1s0 enp7s0
    bond-mode balance-rr
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200

root@dlp:~#
ifdown enp1s0

root@dlp:~#
ifdown enp7s0

root@dlp:~#
ifup bond0
root@dlp:~#
ip address show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: enp1s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 52:54:00:1e:97:91 brd ff:ff:ff:ff:ff:ff
3: enp7s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 52:54:00:1e:97:91 brd ff:ff:ff:ff:ff:ff permaddr 52:54:00:54:5f:34
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:1e:97:91 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.30/24 brd 10.0.0.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe1e:9791/64 scope link
       valid_lft forever preferred_lft forever

# 設定すると [bonding] モジュールは自動的に読み込まれる

root@dlp:~#
lsmod | grep bond

bonding               221184  0
tls                   126976  1 bonding

root@dlp:~#
ethtool bond0

Settings for bond0:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 2000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Link detected: yes
関連コンテンツ