Linux Bonding : NWインターフェイスの設定
引き続きLinux Bondingについて、/etc/sysconfig/network-scripts配下の設定ファイル記述
のメモを。ifcfg-eth0等のファイルにて、ネットワークインターフェイスの設定を行う。
まずnetwork-scripts/ifcfg-bond0から。以下のように適宜値を記述する。
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.0
NETWORK=xx.xx.xx.xx
BROADCAST=xx.xx.xx.255
MACADDR=00:08:25:63:94:CA < - -例
BONDING OPTS="miimon=1000 mode=1"
それぞれの意味は他で説明されているので省略するとして…(すみません、手抜きです)、
BONDING OPTSがポイント。
miimon=1000はMIIリンク監視を行う際の頻度をミリ秒単位で指定している。
値が0だとMII監視が無効になる。MII(Media Independent Interface)監視は物理NICが
リンクダウンしたら故障と見なす。
監視モードにはARP監視というのもあり、ARP(Adress Resolution Protcol)リクエスト
を指定したマシンに送信して、リプライが返ってくるかどうかで故障を判断する。
mode=1はactive-backupを指定している。mode=0だとBalance-rr(ラウンドロビン)
モードとなる。
active-backupは1つめの物理NICが使える間はそのNICを使い、故障したら次のNICを使う。
Balance-rrは送信するパケットごとに使用する物理NICを切り替える。
他にも様々なモードがあるが、active-backupかBalance-rrが一般的な様子。
ifcfg-bond0をコピーしてifcfg-bond1ファイルを作成し、適宜編集。ifcfg-eth0,1もコピー
してファイルを作成し、適宜編集する。
一例ではあるが、ifcfg-eth0,1については適宜以下のような記述を追加。
MASTER=bond0
SLAVE=yes
ETHTOOL_OPTS=”autoneg off speed 100 duplex full”
HWADDR=01:06:44:82:30:CB < - -例
ETHTOOL_OPTSは、例ではautonegotiationをoff、リンク速度100Mb/s、全二重としている。
スイッチ側との整合性がとれていないと、ネットワークに問題が起こりうる。
それからHWADDRの値を記述するのは大事。次回書こうと思うのだが、Linuxは再起動すると
NICのデバイスマップがずれてしまうことがある、という問題があるので設定ファイル
にて固定する必要がある(で、ここで記述するMACアドレスがまたくせ者で、調べるの
にちょっと苦労するのだが、別途書こうと思う)。
eth2以降もインターフェイスが存在する場合は、同様にHWADDR=を記述する。
上記ファイルの編集が終わったら、ネットワークの起動/停止をする。
※前回の投稿でmodbrobe.confの編集をしており、モジュールのアンロードを
実施するため、この場合ただの再起動では反映されない(はず)。
ネットワークが切断されるため、コンソールから実施する。
# service network stop
この時点でservice network statusで確認すると、”Currently active devices”に何も表示
されていない。
前回でmodprobe.confにて速度固定の指定をしているので、 NICドライバを一旦アンロード
してその設定を有効にする。
# rmmod bonding
or
# modprobe -r bonding
依存関係を考慮してアンロードする。後者推奨。
lsmodでbondingが存在しないことを確認したら、ネットワークの起動を実施。
# service network start
この後は適宜確認する。
lsmodコマンドで、所定のドライバがロードされているか確認。
今回の例ではe1000、bnx2、bonding。
ifconfig -aでの確認。
bond0,1のインターフェイスに以下の記述があること。
“UP BROADCAST RUNNING MASTER MULTICAST”
eth2〜eth5のインターフェイスに以下の記述があること。
“UP BROADCAST RUNNING SLAVE MULTICAST”
以下のコマンドで、active backupが有効になっていることを確認。
# /proc/net/bonding/bond0 | grep “Bonding Mode”
Bonding Mode: fault-tolerance (active-backup)
(もしくは/proc/net/bond0/info)
….などだろうか。例のごとく、怪しい箇所もあると思うが…(汗)
今回は書籍「サーバ/インフラを支える技術」(共著/技術評論社刊)が参考になった。
次回はLinuxデバイスマップの問題と、eth0〜のMACアドレスについて書こうと思う。
関連記事
LinuxのBondingをもっとよく知りたい
Linux Bonding : modprobe.confの編集
LinuxでNICのデバイスマップを固定する
Linux Bonding : NICフェイルオーバーのテスト
Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index