8.4. ネットワークチーミングデーモンおよびランナーについて
チームデーモン
teamd
は、libteam を使用してチームドライバーのインスタンスを制御します。このチームドライバーのインスタンスは、ハードウェアドライバーのインスタンスを追加してネットワークリンクの「チーム」を形成します。チームドライバーがネットワークインターフェイスを提示します。team0 たとえば、カーネルの他の部分まで。チームドライバーのインスタンスによって作成されたインターフェイスの名前は、以下のようになります。 team0,team1ドキュメントに記載されているため、同様。これは分かりやすくするためのもので、他の名前を使っても構いません。チーミングのすべてのメソッドに共通するロジックは、teamd
によって実装されます。ラウンドロビンなど、異なる負荷共有とバックアップメソッドに固有の機能は、「runners」 と呼ばれる別のコードのユニットによって実装されます。「ランナー」という用語がこれらのコードユニットの呼称に選ばれたのは、「モジュール」や「モード」といった言葉がカーネルとの関係ですでに特別な意味を持っているためです。ユーザーは JSON 形式の設定ファイルでランナーを指定し、インスタンスの作成時にコードが teamd
のインスタンスにコンパイルされます。ランナーのコードは作成時に teamd
のインスタンスにコンパイルされるため、ランナーはプラグインではありません。必要に応じて、teamd
のプラグインとしてコードを作成できます。
本ガイド執筆時点では、以下のランナーが利用可能です。
- broadcast (データは全ポートで送信されます)
- round-robin (データは全ポートで順番に送信されます)
- active-backup (1 つのポートまたはリンクが使用され、他はバックアップとして維持されます)
- loadbalance (アクティブ Tx 負荷分散と BPF ベースの Tx ポートセレクターを使用)
- lacp (802.3ad リンクアグリゲーション制御プロトコルを実装)
さらに、以下のリンク監視が利用可能です。
コードには、特定のリンク監視が特定のランナーで使用されないようにするための制限はありませんが、lacp ランナーを使用する場合は、ethtool が唯一の推奨されるリンク監視です。
- ethtool (Libteam lib は ethtool を使用してリンク状態の変更を監視します)。設定ファイルで他のリンク監視が指定されていなければ、これがデフォルトになります。
- arp_ping ( arp_ping ユーティリティーは、ARP パケットを使用して遠端のハードウェアアドレスの存在を監視するために使用されます。)
- nsna_ping (
IPv6
近隣検出プロトコルからの近隣広告と近隣要望は、近隣のインターフェイスの存在を監視するために使用されます)