centos の次のチュートリアル コラムでは、CentOS でボンドを設定する方法を紹介します。
CentOS 構成ボンディング1. ネットワーク カード ボンディングとは何ですか。その簡単な原理 ネットワーク カード ボンディングは、「ネットワーク カード バンドル」とも呼ばれ、複数の物理的なボンディングを使用します。仮想ネットワーク カードとなるネットワーク カード 負荷分散または冗長性を提供し、帯域幅を増加させるネットワーク カード。ネットワーク カードが故障しても、ビジネスに影響はありません。この集約されたデバイスは単一のイーサネット インターフェイス デバイスのように見えます。つまり、これらのネットワーク カードは同じ IP アドレスを持ち、並列リンクは 1 つの論理リンクに集約されます。このテクノロジーは、Cisco などのネットワーク会社ではトランキングおよびイーサチャネル テクノロジーと呼ばれ、Linux 2.4.x カーネルではボンディングと呼ばれます。
ボンディングには 7 つのモードがあります:
#defineBOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTIVEBACKUP 1 (active-backup模式)网卡的容错模式 #defineBOND_MODE_XOR 2 (balance-xor模式)需要交换机支持 #defineBOND_MODE_BROADCAST 3 (broadcast模式) #defineBOND_MODE_8023AD 4 (IEEE 802.3ad动态链路聚合模式)需要交换机支持 #defineBOND_MODE_TLB 5 自适应传输负载均衡模式 #defineBOND_MODE_ALB 6 网卡虚拟化方式ボンディング モジュールのすべての動作モードは、マルチマスター動作モードとアクティブ/スタンバイ動作モードの 2 つのカテゴリに分類できます。バランス RR とブロードキャストは、マルチマスター動作モードとアクティブ バックアップに属します。アクティブバックアップモードに属します。 (balance-xor、適応型送信負荷分散モード (balance-tlb)、および適応型負荷分散モード (balance-alb) もマルチマスター動作モードに属し、IEEE 802.3ad ダイナミック リンク アグリゲーション モード (802.3ad) は、アクティブおよびバックアップ モード タイプ 作業モード これら 7 つのモードの詳細な紹介: 1. Balance-rr (mode=0) ラウンドロビン戦略: 最初から各スレーブ インターフェイスでデータ パケットを順番に送信します。このモードでは、ロード バランシングとフォールト トレランス機能が提供されます。2. active-backup (mode=1) Active-backup (active-backup) ) ) ポリシー: バインディングでは、1 つのスレーブのみがアクティブになります。他のスレーブは、アクティブなスレーブ インターフェイスに障害が発生した場合にのみアクティブになります。スイッチの混乱を避けるために、バインドされた MAC アドレスは、この時点で 1 つの外部ポートでのみ表示されますボンディング バージョン 2.6.2 以降では、アクティブ/スタンバイ モードでフェイルオーバーが発生すると、ボンディングは 1 つ以上の Gratuitous ARP を新しくアクティブ化されたスレーブに送信します。ボンディングのメイン スレーブ インターフェイスとインターフェイス上の設定はすべての VLAN インターフェイスから送信されます。 gratuitous ARP (少なくとも 1 つの IP アドレスがこれらのインターフェイスに設定されている限り) VLAN インターフェイスで送信される Gratuitous ARP には、適切な VLAN ID が伴います。このモードはフォールト トレランスを提供します。主要なオプションは、以下に記載されていますが、このモード 3. Balance-xor (mode=2) XOR 戦略: 選択された送信ハッシュ戦略に基づく このモードは、ロード バランシングとフォールト トレランスを提供します。 .4. ブロードキャスト (モード=3)
ブロードキャスト戦略: すべてのスレーブ インターフェイスですべてのパケットを送信します。このモードはフォールト トレランスを提供します。
IEEE 802.3ad ダイナミック リンク アグリゲーション。同じ速度と二重モードを共有する集約グループを作成します。すべてのスレーブは、802.3ad 仕様に従って集約リンクを確立するために使用できます。 Salve の送信選択は送信のハッシュ ポリシーに依存します。デフォルトのポリシーは単純な XOR ポリシーであり、ハッシュ ポリシーは xmit_hash_policy オプションを通じて変更できます。すべての送信戦略、特に 802.3ad 規格の第 43.2.4 章にあるパケットの順序ミスの要件が 802.3ad と互換性があるわけではないことに注意してください。異なる個人による実装には、多くの場合、大きな非互換性があります。
前提条件:
1. 各スレーブの基本ドライバーは、速度と二重ステータスを取得するための Ehtool をサポートしています。
2. スイッチは、IEEE 802.3ad ダイナミック リンク アグリゲーションをサポートします。ほとんどのスイッチでは、802.3ad モードを有効にするために何らかの設定が必要です。
適応型送信負荷分散: チャネル バインディングには特別なスイッチのサポートは必要ありません。出力トラフィックの分散は、各スレーブの現在の負荷 (相対速度の計算) によって異なります。インポート トラフィックは現在のスレーブから受信されます。スレーブの受信時にエラーが発生した場合、他のスレーブは引き継ぎに失敗したスレーブの MAC アドレスを引き続き受信します。
前提条件:
各スレーブの基本ドライバーは、レート ステータスを取得するための Ehtool をサポートしています。
適応型ロード バランシング: Balance-tlb (モード 5) と IPV4 トラフィックの受信ロード バランシングを含み、特別なスイッチのサポートが必要です。受信ロード バランシングは、ARP ネゴシエーションを通じて実現されます。ボンディング ドライバーは、ローカル マシンによって送信された ARP 応答 (ARP 応答メッセージ) をインターセプトし、サーバーがデバイスごとに異なるハードウェア アドレスを使用できるように、ARP メッセージの送信元アドレスをボンディングのスレーブのハードウェア アドレスで書き換えます。このサーバーによって確立された接続の受信トラフィックも負荷分散されます。マシンが ARP 要求を送信すると、ボンディング ドライバーは ARP メッセージを通じてノードの IP 情報をコピーして保存します。別のノードから ARP Reply を受信すると、ボンディング ドライバーはノードのハードウェア アドレスを取得し、バインドされたスレーブのハードウェア アドレスを含む ARP Reply で送信ノードに応答します。 ARP ネゴシエーションを使用したロード バランシングに関する 1 つの問題は、ボンドのハードウェア アドレスを使用して ARP メッセージをブロードキャストするたびに、他のノードから送信されたすべてのデータが 1 つのスレーブに集中することです。他のすべてのノードへの ARP 更新を処理するときに、各ノードはハードウェア アドレスが再学習され、トラフィックが再分散されます。新しいスレーブが追加されるか、非アクティブなスレーブが再アクティブ化されると、受信したトラフィックも再分配されます。受信トラフィックの負荷は、ボンド内の最高レートのスレーブのセットにシリアル (ラウンドロビン) で分散されます。
リンクが再接続されるか、新しいスレーブが追加されると、bond はすべてのクライアントへの ARP 応答を再初期化します。 ARP 応答がスイッチによってブロックされないようにするには、uplay パラメータの値はスイッチの転送遅延以上にする必要があります。
前提条件:
1. 各スレーブの基本ドライバーは、レート ステータスを取得するための Ehtool をサポートしています。
2. 基本ドライバーは、デバイスの電源をオンにしたときのハードウェア アドレスのリセットをサポートします。各スレーブには一意のハードウェア アドレスも必要です。 curr_active_slave が失敗すると、そのハードウェア アドレスは新しく選択された curr_active_slave ハードウェア アドレスに置き換えられます。
CentOS で Bond0 と Bond1 を構成します:
最初にLinux がボンディングをサポートしているかどうかを確認する必要があります。RHEL4 はデフォルトですでにサポートしています (ほとんどのディストリビューションがサポートしています)
# modinfo bonding filename: /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@lbl.gov and many others de.ion: Ethernet Channel Bonding Driver, v3.0.3 version: 3.0.3 license: GPL srcversion: 2547D22885C2FDF28EF7D98
如果有类似上面的信息输出,说明已经支持了.
1、配置Bond 0 负载均衡
特点:
1. 双网块同时工作,实现负载均衡,某一网卡不正常时,不会引发网络中断.
2. 恢复不能正常工作的网卡时,会引发网络中断几秒,然后双网卡同时工作.
1.编辑虚拟网络接口配置文件,指定网卡IP
cp /etc/sysconfig/network-scripts/ifcfg-lo ifcfg-bond0 vi ifcfg-bond0 DEVICE=bond0 IPADDR=10.10.10.1 NETMASK=255.255.255.0 NETWORK=10.10.10.0 BROADCAST=10.10.10.255 ONBOOT=yes BOOTPROTO=none USERCTL=no GATEWAY=192.168.0.1
2.在bond0上添加网关,是确保默认路由无故障
[root@Linux ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 * 255.255.255.0 U 0 0 0 bond0 10.0.0.0 * 255.255.255.0 U 0 0 0 eth0 10.0.0.0 * 255.255.255.0 U 0 0 0 eth1 169.254.0.0 * 255.255.0.0 U 0 0 0 bond0 default 10.0.0.1 0.0.0.0 UG 0 0 0 bond0 vi ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes vi ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes
3 # vi /etc/modprobe.conf
编辑/etc/modprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0
加入下列两行
alias bond0 bonding options bond0 miimon=100 mode=0
说明:
miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;
mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.
4 # vi /etc/rc.d/rc.local
加入以下内容
# 仅在热备模式下,eht0 eth1网卡的工作顺序. ifenslave bond0 eth0 eth1
到这时已经配置完毕重新启动机器.
重启会看见以下信息就表示配置成功了
................
Bringing up interface bond0 OK Bringing up interface eth0 OK Bringing up interface eth1 OK
2、配置Bond 1 热备模式
特点:
1. 正在工作的网卡不正常后,切换到备用网卡,此时会中间几秒钟
2. 恢复不正常的网卡时,不会引发网络中断.
其他步骤一致,只在第3步骤,将mode设置成1即可.
alias bond0 bonding options bond0 miimon=100 mode=1
以上がCentOS でボンドを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。