Installing and Configuring Intel Advanced Network Services (ANS) on the Linux* 2.2.x and 2.4.x Kernels (Intel 32/64-bit architectures)

masy さんの日記より。

さやかが言うことにゃ、IntelNIC だと Linux で同じマシン上の 2 枚の NIC に同じ IP をふって、Primary の NIC or Network が落ちたときに Secondary の NIC が有効になるような設定をすることが可能だとか。

* Example File for Setting up AFT Mode with VLANs: (two PRO/100 adapters)

insmod e100
insmod ians
ianscfg -a -t team1 -M AFT -V
ianscfg -at team1 -m eth0 -p primary
ianscfg -at team1 -m eth1 -p secondary
ianscfg -at team1 -v vadapt1 -i 10 
ianscfg -at team1 -v vadapt2 -i 15
ianscfg -c team1
ianscfg -s
ifconfig vadapt1 192.168.1.1 netmask 255.255.255.0
ifconfig vadapt2 192.168.2.1 netmask 255.255.255.0 

かなりいい感じに見える。本体には NIC 2ポートで冗長にしておいて、それぞれ別々の L2 Switch についないで、セグメントはあらゆる tagVLAN でもげってのは理想系なのは間違いなかろう。

しかしながらこいつを使うと、リモートでカーネルアップデートしたらあぼんな予感。というか、仕事で使ってる Linux Server はあらゆる Compaq で、 CompaqNIC はあらゆる Intel 「だった」からこれでもよかったのだが、現在ではあらゆる bcm5700 にかわっちまってる。 VLAN には Intel 独自実装のほかに GPL な実装もあったはずだけど、リダンダント NIC はどうなんだろ。というか、このあたりがまとまったドキュメントがどっかにあったな、そういえば。

* tagVLAN だぉ。

これだ。802.1Q VLAN implementation for Linuxってのが本家か。VLANドライバ v1.7.0-3ビルド・利用方法ドキュメントによると、GPL 実装の VLAN は bcm5700 でも動く模様。

* bondingドライバ v1.0.0-6ビルド・利用方法ドキュメント

bondingドライバは、複数Ethernetコントローラを仮想的にまとめて、耐障害性機能を付与するチーミングツールです。

本題はこれか。Broadcomな実装もあるみたいだけど、標準の方はカーネル本体に組み込まれてる予感。 Debian だとこいつをいれればあらゆる ok かな。

$ apt-cashe show
Package: ifenslave
Priority: optional
Section: net
Installed-Size: 64
Maintainer: Guus Sliepen <guus@debian.org>
Architecture: i386
Version: 0.07+2.5.15-4
Depends: libc6 (>= 2.3.1-1)
Recommends: net-tools
Filename: pool/main/i/ifenslave/ifenslave_0.07+2.5.15-4_i386.deb
Size: 9078
MD5sum: e1563494018b0684c2665e724139a1dd
Description: Attach and detach slave interfaces to a bonding device.
 This is a tool to attach and detach slave network interfaces to a bonding
 device. A bonding device will act like a normal Ethernet network device to
 the kernel, but will send out the packets via the slave devices using a simple
 round-robin scheduler. This allows for simple load-balancing, identical to
 "channel bonding" or "trunking" techniques used in switches.
 .
 The kernel must have support for bonding devices for ifenslave to be useful.

こいつと GPL VLAN が同時に使えれば全て解決だが、そこは未調査。今から会議なので、後は頼んだ > masy

* とおもったら

こいつは CISCO 仕様の trunking なのか。全然ダメダメだな、ステ。

つまりは、現状では Intel 独自仕様の奴でやるかBroadcom 独自仕様の奴でやるか、しかないのねん。とりあえず2つとも tagVLAN との組み合わせで動くので問題はない感じ。

しかも Compaq のサーバーはあらゆる IntelBroadcom なので、結局のところこれでも問題ないわけだ。早速会社のサーバーで設定してみるかのぉ。

というのが結論っぽ > masy