A.3. イーサネットパラメータ

重要重要
 

殆どの最近のイーサネットベースのネットワークインターフェイスカード(NIC)は、設定を変更するのにモジュールパラメータを必要としません。その代わりにそれらはethtool又はmii-toolを使用して設定できます。これらのツールが機能しない場合にのみ、モジュールパラメータを修正すべきです。モジュールパラメータは modinfoコマンドを使用して見ることができます。

注記注意
 

これらのツールの使用に関する情報は、ethtoolmii-toolmodinfoのそれぞれの manページを参考にしてください。

ハードウェアモジュールパラメータ
3Com EtherLink PCI III/XL Vortex (3c590, 3c592, 3c595, 3c597) Boomerang (3c900, 3c905, 3c595)3c59x.o

full_duplex=
0 is off
1 is on

RTL8139、SMC EZ Card Fast Ethernet、RTL8129 または RTL8139Fast Ethernet チップセットを使用する RealTek カード8139too.o 
Intel Ether Express/100 ドライバーe100.o

e100_speed_duplex=X
If X =
0 = autodetect speed and duplex
1 = 10Mbps, half duplex
2 = 10Mbps, full duplex
3 = 100Mbps, half duplex
4 = 100Mbps, full duplex

Intel EtherExpress/1000 Gigabite1000.o 
Intel i82557/i82558 PCI EtherExpressPro ドライバーeepro100.o 
NatSemi DP83815 Fastイーサネットnatsemi.o 
AMD PCnet32 and AMD PCnetPCIpcnet32.o 
SIS 900/701G PCI Fastイーサネットsis900.o 
ThunderLANtlan.o 
Digital 21x4x Tulip PCIイーサネットカード、SMC EtherPower 10 PCI(8432T/8432BT) SMC EtherPower 10/100 PCI(9332DST) DEC EtherWorks 100/10 PCI(DE500-XA) DEC EtherWorks 10 PCI(DE450) DEC QSILVER's, Znyx 312 etherarray Allied Telesis LA100PCI-T Danpex EN-9400, Cogent EM110tulip.oio=io_port
VIA VT86c100A Rhine-II PCIか、3043 Rhine-I D-Link DFE-930-TX PCI 10/100 のいずれかを搭載するVIA Rhine PCI Fast イーサネットカードvia-rhine.o 

表 A-2. イーサネットモジュールパラメータ

A.3.1. 複数のイーサネットカードの使用

1台のマシンで複数のイーサネットカードを使用することができます。 /etc/modules.conf内に、 各カード用のalias行と場合によってoptions行が それぞれ必要になります。詳細については、 Red Hat Enterprise Linux システム管理ガイドにあるカーネルモジュール の章を参照してください。

複数のイーサネットカードの使用に関する詳細は、以下のサイトでLinux Ethernet-HOWTOを参照してください。http://www.redhat.com/mirrors/LDP/HOWTO/Ethernet-HOWTO.html

A.3.2. チャネル ボンディング モジュール

Red Hat Enterprise Linux では管理者がbondingカーネルモジュールとチャネルボンディングインターフェースと呼ばれる特別なネットワークインターフェイスを使用することによって複数の NIC を結合して単一チャネルにすることができます。チャネルボンディングは2つ以上のネットワークインターフェイスを1つとして同時に動作させ、帯域幅を広げて冗長性を提供します。

管理者は次の手順にて複数のネットワークインターフェースをチャネルボンディングしてください。

  1. /etc/modules.confに次の行を追加してください。

    alias bond<N> bonding

    <N>0のようなインターフェイス番号に置き換えてください。 設定された各チャネル ボンディング インターフェイスに 対応するエントリが/etc/modules.confに存在しなければなりません。

  2. 項8.2.3 の説明通り、チャネル ボンディング インターフェースを設定してください。

  3. パフォーマンスを向上するには、 使用可能なモジュールオプションが最適なコンビネーションになるよう調整してください。 miimonarp_intervalarp_ip_targetなどのパラメータには十分気をつけてください。 使用可能なオプションの一覧は項A.3.2.1 を参照ください。

  4. テストした後、 好みのモジュールオプションを/etc/modules.confに指定してください。

A.3.2.1. bonding モジュール ディレクティブ

bondingモジュールの設定を完了する前に、最適な設定を調べてみるとよいでしょう。 最適な設定を調べるには、シェルプロンプトを開いて 次のコマンドをrootとして入力してください。

tail -f /var/log/messages

シェルプロンプトを別にもう一つ開き、 /sbin/insmodを実行して、 エラーのカーネルメッセージを監視しながら異なるパラメータのbondingモジュールをロードします。

/sbin/insmodコマンドは次の形式で入力してください。

/sbin/insmod bond<N> <parameter=value> 

<N> をボンディング インターフェイスの番号に置き換えてください。 <parameter=value> をそのインターフェースに対するパラメータのスペース区切りリストに置き換えてください。

エラーがないことを確認し、ボンディング インターフェイスのパフォーマンスも確認した後で、適切なbondingモジュールパラメータを/etc/modules.confに追加してください。

bondingモジュールにて使用できるパラメータの一覧は次の通りです。

  • mode=bondingモジュールに許可された 4つのポリシーの中から1つを指定します。このパラメータに有効な値は次の通りです。

    • 0 — 耐障害性と負荷バランシングに対するラウンド ロビン ポリシーを設定します。ボンディングされたスレーブインターフェイスは使用できるものから順に、送受信を順次行ないます。

    • 1 — 耐障害性に対するアクティブ バックアップ ポリシーを設定します。 最初に使用できるボンディングされたスレーブインターフェイスによって送受信が行なわれます。ボンディングされた他のスレーブインターフェイスはアクティブなスレーブインターフェイスが失敗した場合のみ使用されます。

    • 2 — 耐障害性と負荷バランシングに対する XOR (exclusive-or)ポリシーを設定します。この方法では、インターフェイスによって1スレーブ NIC の MACアドレスと受信要求の MACアドレスが適合されます。このリンクが確立されると、最初に使用できるインターフェイスから送信を順次行ないます。

    • 3 — 対障害性用のブロードキャストポリシーを設定します。全ての送信は、全てのスレーブインターフェイスで送られます。

    • 4 — IEEE 802.3ad ダイナミックリンク集合ポリシーを設定します。同じスピードとデュープレックス設定を共有する集合グループを作成します。アクティブな集合体内の全てのスレーブ上で送信と受信をします。そして802.3ad 対応のスイッチを必要とします。

    • 5 — 対障害性とロードバランシング用の送信ロードバランシング (TLB)ポリシーを設定します。外部への送信は、各スレーブインターフェイス上の現在のロードに従って配信されます。受信は現在のスレーブにより受け付けられます。もし受信するスレーブに障害があるともう一つのスレーブが問題のスレーブの MAC アドレスを引き取ります。

    • 6 — 対障害性とロードバランシング用のアクティブロードバランシング (ALB)を設定します。IPV4 通信用の送信および受信ロードバランシングを含んでいます。受信のロードバランシングは ARP ネゴシエーションによって達成されます。

  • miimon= — MIIリンク監視の実行頻度を指定します。(ミリ秒単位) NICがアクティブかを確認するのにMIIが使用されるため、高い可用性が必要になる場合便利です。NICのドライバがMIIツールをサポートするか確認するには次のコマンドを rootとして入力してください。

    ethtool <interface-name> | grep "Link detected:"

    このコマンドの <interface-name> をデバイスインターフェイスの名前に置き換えてください。その時、bondではなく、 eth0のようなインターフェイス名を使ってください。MII がサポートされている場合、コマンドは次を返信します:

    Link detected: yes

    ボンディングされたインターフェースを高い可用性で使用する場合、各NICのモジュールはMIIをサポートしなければなりません。

    0に値を設定すると(デフォルト設定)、この機能はオフになります。この設定を行なう時、 パラメータは100から始めるとよいでしょう。

  • downdelay= — リンク失敗後にリンクを無効にするまでの時間を指定します。(ミリ秒単位) この値はmiimonパラメータに指定された値の倍数でなければなりません。デフォルト値は0に設定されているため、デフォルトではこの機能は無効となっています。

  • updelay= — リンクを有効にするまでの待ち時間を指定します。(ミリ秒単位) この値は、miimonパラメータに指定された値の倍数でなければ なりません。 デフォルト値は0に設定されているため、デフォルトではこの機能は無効となっています。

  • arp_interval= — ARP監視の実行頻度を指定します。(ミリ秒単位)

    mode 0または2 (2つの負荷バランシングモード)にてこの設定を使用する場合、パケットが均一に NIC へ配信されるようネットワークスイッチを設定しなければなりません。この詳細については/usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/bonding.txtを参照して下さい。

    デフォルト値は0に設定されているため、デフォルトではこの機能は無効となっています。

  • arp_ip_target=arp_intervalパラメータが有効な時、ARP要求のターゲット IPアドレスを指定します。 コンマ区切りリストを使って、最大16個のIPアドレスが指定できます。

  • primary=eth0のようなインターフェイス名を指定します。 primaryデバイスが ボンディング インターフェイスの中で一番最初に使用され、問題がない限りは 使用され続けます。 この設定は、ボンディング インターフェイスのNIC一つが他よりも速く、より重い負荷を 処理できる場合特に便利です。

    この設定ではボンディング インターフェイスがアクティブ バックアップ モードの時のみに有効となります。詳細は /usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/bonding.txtを参照してください。

  • multicast= — 希望のマルチキャストタイプに対する整数値を指定します。

    このパラメータに使用できる値は次の通りです。

    • 0 — マルチキャスト サポートを無効にします。

    • 1 — マルチキャスト サポートをアクティブ スレーブのみにサポートします。

    • 2 — 全てのスレーブに対してマルチキャスト サポートを 有効にします。(デフォルト)

重要重要
 

arp_intervalarp_ip_targetmiimonパラメータの いずれかが指定されていなければなりません。 適切な設定がされないと、 リンクが失敗した時にネットワークパフォーマンスが低下する場合があります。

参照先:

/usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/bonding.txt

ボンディングインターフェイスに関する詳細。