■eth0+wlan0のActive-Backupのbondingを構成する。
Squeezeに無線LANドライバを導入する
http://d.hatena.ne.jp/labunix/20130302
Squeezeでアクティブ/バックアップモードのbonding(teaming)を設定する
http://d.hatena.ne.jp/labunix/20121005
■kernelモジュールの読み込み
$ sudo apt-get install -y ifenslave-2.6
$ sudo modprobe bonding
$ lsmod | grep bonding
bonding 73991 0
$ echo "bonding" | sudo tee -a /etc/modules
$ echo "alias bond0 bonding" | \
sudo tee -a /etc/modprobe.d/aliases-bond.conf
■マニュアルの確認。
$ find /usr/share/doc/ifenslave-2.6/examples/ -type f -iname "*wifi*" -print
/usr/share/doc/ifenslave-2.6/examples/ethernet+hotplug_wifi
/usr/share/doc/ifenslave-2.6/examples/ethernet+wifi
■bonding設定
$ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
ethernet-wol g
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wireless-essid MYHOME
wireless-key1 s:MYHOMePASS
auto bond0
iface bond0 inet static
address XXX.XXX.XXX.10
netmask 255.255.255.0
gateway XXX.XXX.XXX.254
broadcast XXX.XXX.XXX.255
bond-slaves eth0 wlan0
bond_arp_interval 200
bond_arp_ip_target 10.26.7.254
bond-mode 1
bond-primary eth0
■ARPで監視。LANケーブルの抜き差し確認もOK。
$ sudo find /sys/class/net/bond0/bonding -type f -print | sudo grep . `xargs`
/sys/class/net/bond0/bonding/slaves:eth0 wlan0
/sys/class/net/bond0/bonding/mode:active-backup 1
/sys/class/net/bond0/bonding/fail_over_mac:none 0
/sys/class/net/bond0/bonding/arp_validate:none 0
/sys/class/net/bond0/bonding/arp_interval:200
/sys/class/net/bond0/bonding/arp_ip_target:XXX.XXX.XXX.254
/sys/class/net/bond0/bonding/downdelay:0
/sys/class/net/bond0/bonding/updelay:0
/sys/class/net/bond0/bonding/lacp_rate:slow 0
/sys/class/net/bond0/bonding/ad_select:stable 0
/sys/class/net/bond0/bonding/xmit_hash_policy:layer2 0
/sys/class/net/bond0/bonding/num_grat_arp:1
/sys/class/net/bond0/bonding/num_unsol_na:1
/sys/class/net/bond0/bonding/miimon:0
/sys/class/net/bond0/bonding/primary:eth0
/sys/class/net/bond0/bonding/use_carrier:1
/sys/class/net/bond0/bonding/active_slave:eth0
/sys/class/net/bond0/bonding/mii_status:up
■ステータスもOK。
$ sudo cat /proc/net/bonding/bond0 | sed s/"[0-9][0-9]\:.*[0-9][0-9]"/"[MacAddress]"/g
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
ARP Polling Interval (ms): 200
ARP IP target/s (n.n.n.n form): XXX.XXX.XXX.254
Slave Interface: eth0
MII Status: up
Link Failure Count: 2
Permanent HW addr: [MacAddress]
Slave Interface: wlan0
MII Status: down
Link Failure Count: 4
Permanent HW addr: [MacAddress]
■ネットワーク統計の確認。
$ sudo netstat -i
カーネルインタフェーステーブル
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR フラグ
bond0 1500 0 3673 0 0 0 3278 0 0 0 BMmRU
eth0 1500 0 3565 0 0 0 3156 0 0 0 BMsRU
lo 16436 0 1205 0 0 0 1205 0 0 0 LRU
wlan0 1500 0 108 0 0 0 122 0 0 0 BMsRU
$ env LANG=C /sbin/ifconfig | grep "^[a-z]\|[RT]X" | sed s/"HWaddr.*"//g
bond0 Link encap:Ethernet
RX packets:4342 errors:0 dropped:0 overruns:0 frame:0
TX packets:3870 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:341331 (333.3 KiB) TX bytes:343911 (335.8 KiB)
eth0 Link encap:Ethernet
RX packets:4234 errors:0 dropped:0 overruns:0 frame:0
TX packets:3748 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:336579 (328.6 KiB) TX bytes:333539 (325.7 KiB)
lo Link encap:Local Loopback
RX packets:1205 errors:0 dropped:0 overruns:0 frame:0
TX packets:1205 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:62786 (61.3 KiB) TX bytes:62786 (61.3 KiB)
wlan0 Link encap:Ethernet
RX packets:108 errors:0 dropped:0 overruns:0 frame:0
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:4752 (4.6 KiB) TX bytes:10372 (10.1 KiB)
■以下のような方法でテストも可能。
Active-Backup mode bond0の正常性確認
http://d.hatena.ne.jp/labunix/20121007
■以下でも例をあげたが、wlan0はMII監視に対応していないことはすぐに分かる。
bondingのパラメータのテストに便利な方法
http://d.hatena.ne.jp/labunix/20121217
bondingのARPとMII監視をNIC設定を変えずにテストする。
http://d.hatena.ne.jp/labunix/20130205
$ sudo mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
■他にも以下があるが、wlan0では使わない。
Kernelヘッダにbondingって何?って聞いてみた。
http://d.hatena.ne.jp/labunix/20130202