手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 Bonding の基本設定 – active-backup と 802.3ad を使い分ける

Ubuntu 26.04 ネットワーク設定の関連記事

Ubuntu 26.04 で複数 NIC を 1 つの論理インターフェイスとして扱う場合、Netplan で Bonding を構成できます。Bonding は単に帯域を増やす設定ではなく、冗長化、経路設計、switch 側の LAG / LACP 設定、default route の置き場を合わせて考える必要があります。

この記事では、Ubuntu 26.04 Server で Bonding を設定する時の考え方、active-backup802.3ad の違い、Netplan の設定例、反映後の確認ポイントを整理します。

この記事の位置づけ

Bonding は NIC を束ねるための Linux 側の設定です。ただし 802.3ad を使う場合は、Ubuntu 側だけでは完結しません。対向 switch の LACP / LAG / port-channel 設定と合わせて成立する構成として考えます。

Bonding は目的から決める

Bonding を設定する前に、まず目的を決めます。冗長化したいのか、複数リンクを束ねて帯域を使いたいのかで、選ぶ mode と switch 側の設定が変わります。

目的代表的な modeswitch 側の考慮見方
リンク冗長化active-backup特別な LACP 設定を不要にしやすい片系断でも通信を継続する
帯域集約802.3adLACP / LAG / port-channel が必要複数 flow を複数リンクへ分散する
検証・単純構成active-backup構成差分が少ないまず動作確認しやすい

802.3ad は LACP を使うため、Ubuntu 側だけ設定しても成立しません。対向 switch の port-channel 設定、VLAN trunk / access の設計、hash policy、障害時の収束を合わせて確認します。

現在の NIC と経路を確認する

まず、現在のインターフェイス名、IP アドレス、routing table、既存の Netplan 設定を確認します。Bonding では物理 NIC を slave として扱うため、どの NIC を束ねるのかを先に固定します。

コマンド
ip link
ip address
ip route
ls -l /etc/netplan
sudo cat /etc/netplan/*.yaml

enp1s0enp2s0 のようなインターフェイス名は環境によって異なります。例をそのまま使うのではなく、自分の環境の NIC 名に読み替えます。

active-backup の設定例

冗長化を主目的にする場合は、まず active-backup が分かりやすいです。通常時は片方の NIC を使い、障害時にもう片方へ切り替えます。switch 側で LACP を組まない構成でも扱いやすいため、サーバー側の NIC 冗長化として使いやすい mode です。

設定ファイル例
sudo tee /etc/netplan/00-main.yaml >/dev/null <<'EOF'
network:
  version: 2
  ethernets:
    enp1s0:
      dhcp4: false
      dhcp6: false
    enp2s0:
      dhcp4: false
      dhcp6: false
  bonds:
    bond0:
      interfaces:
        - enp1s0
        - enp2s0
      parameters:
        mode: active-backup
        primary: enp1s0
        mii-monitor-interval: 100
      addresses:
        - 10.0.10.20/24
        - fd00::a00:1020/120
      nameservers:
        addresses:
          - 10.0.10.53
          - fd00::a00:1053
      routes:
        - to: default
          via: 10.0.10.1
        - to: default
          via: fd00::a00:1001
EOF
sudo chmod 600 /etc/netplan/00-main.yaml

この構成では、IP アドレスを持つのは bond0 です。物理 NIC 側には IP アドレスを持たせません。

802.3ad / LACP の設定例

複数リンクを LACP で束ねる場合は 802.3ad を使います。ただし、単一通信が必ず複数リンク分の帯域になるわけではありません。多くの場合、flow の分散によって複数リンクを使います。

設定ファイル例
sudo tee /etc/netplan/00-main.yaml >/dev/null <<'EOF'
network:
  version: 2
  ethernets:
    enp1s0:
      dhcp4: false
      dhcp6: false
    enp2s0:
      dhcp4: false
      dhcp6: false
  bonds:
    bond0:
      interfaces:
        - enp1s0
        - enp2s0
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        mii-monitor-interval: 100
        transmit-hash-policy: layer3+4
      addresses:
        - 10.0.10.20/24
      routes:
        - to: default
          via: 10.0.10.1
      nameservers:
        addresses:
          - 10.0.10.53
EOF
sudo chmod 600 /etc/netplan/00-main.yaml

802.3ad では、switch 側の LAG / port-channel と Ubuntu 側の bond 設定が一致している必要があります。サーバー側だけ設定しても、対向 switch が通常の独立 port として扱っていれば通信は不安定になります。

Bonding の上に VLAN や Bridge を置く

Bonding は単体で使うこともできますが、仮想基盤では bond0 の上に VLAN を作り、その上に bridge を作る構成もあります。どの層に IP を持たせるかを決めておかないと、route や障害時の見え方が崩れます。

構成IP を持つ場所用途
bond0 単体bond0物理サーバーの管理通信
bond0.100VLAN interfaceVLAN ごとに host が通信する
br100BridgeVM を VLAN へ接続する
OVS / OVNOVS bridge / logical switchKVM で論理ネットワークを分ける

KVM で使う場合、Bonding は物理 uplink の冗長化や帯域設計の土台になります。その上に Linux bridge、Open vSwitch、OVN のどれを置くかは、VM ネットワークをどの程度抽象化するかで決めます。

設定を反映する

Netplan の変更はネットワーク断を伴う可能性があります。特に Bonding は物理 NIC と switch 側設定の両方に関係するため、リモート作業では管理コンソールや別経路を用意してから反映します。

コマンド
sudo netplan generate
sudo netplan try
sudo netplan apply

netplan try は一定時間内に確認できなければ戻すため、リモート作業時の保険になります。ただし switch 側の LACP 設定不一致などは復旧に時間がかかることもあるため、作業手順を分けて確認します。

Bonding の状態を確認する

設定後は、bond の mode、slave の状態、active interface、LACP の状態を確認します。Linux では /proc/net/bonding/bond0 が重要な確認先です。

コマンド
cat /proc/net/bonding/bond0
ip address show bond0
ip route
networkctl status bond0
ethtool enp1s0
ethtool enp2s0

active-backup では現在 active な NIC を確認します。802.3ad では partner 情報や aggregator の状態を確認し、switch 側の LACP neighbor と一致しているかを見ます。

障害時の切り分け

Bonding の障害は、Ubuntu 側だけで完結しません。物理リンク、NIC driver、switch port、LACP、VLAN、Bridge、routing のどこで崩れているかを分けて確認します。

  • /proc/net/bonding/bond0 で slave が up になっているか
  • active-backup で active slave が想定通りか
  • 802.3ad で partner 情報と aggregator が正常か
  • switch 側の LAG / port-channel が同じ設定になっているか
  • VLAN / Bridge と組み合わせている場合、階層が崩れていないか
  • MTU が物理 NIC、Bonding、VLAN、Bridge、guest の間で揃っているか
  • default route が物理 NIC ではなく意図した論理 interface に向いているか

Bonding は、設定ファイルだけを見ると単純に見えます。しかし実際には、物理 NIC、switch、LACP、VLAN、Bridge、routing がつながっています。障害時は「Bonding が悪い」と決め打ちせず、どの層まで正常で、どこから異常なのかを切り分けます。

Ubuntu 26.04 ネットワーク設定の関連記事
参考
書籍
参考書籍

ストーリーで覚える Linux CLI 入門

Ubuntu Server のネットワーク確認、CLI 操作、設定ファイル管理を押さえたい場合の参考書籍です。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

まとめ

Ubuntu 26.04 の Bonding は、複数 NIC を 1 つの論理インターフェイスとして扱うための設定です。ただし、Bonding は単なる帯域増強ではありません。active-backup802.3ad では目的も switch 側の責任も異なります。

冗長化を優先するなら active-backup、LACP による集約を使うなら 802.3ad として、目的から mode を決めます。その上で、VLAN、Bridge、KVM、OVS / OVN とどう接続するかを整理すると、ネットワーク構成の見通しが良くなります。

Ubuntu 26.04 サーバー管理ガイド
Ubuntu 26.04 Bonding の基本設定 – active-backup と 802.3ad を使い分ける

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る