GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 / CentOS8Linuxでネットワークインターフェイスボンディングを構成する方法

ネットワークインターフェイスボンディングは、slavesと呼ばれる2つ以上の物理ネットワークインターフェイスの集約で構成されます。 、masterと呼ばれる1つの論理インターフェースの下 またはbond インターフェース。ボンディングモードによっては、このような設定はフォールトトレランスや負荷分散を実現するのに役立ちます。このチュートリアルでは、使用可能なボンディングモードとは何か、およびRHEL 8 /CentOS8でネットワークボンディングを作成する方法を学習します。

このチュートリアルでは、次のことを学びます。

  • ネットワークインターフェースボンディングとは
  • RHEL 8 /CentOS8でネットワークインターフェイスボンディングを構成する方法
  • さまざまな結合モードは何ですか


Linuxカーネルから見たボンドステータス

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
RHEL 8 / CentOS 8
NetworkManagerデーモンを制御するためのnmtuiユーティリティ。アプリケーションは最小限のシステムインストールに含まれています。
システム設定を変更するためのroot権限
–指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

どのボンディングモードですか?

使用できるボンディングモードは基本的に7つあります:

ラウンドロビン

パケットは、すべてのスレーブインターフェイスに(最初から最後まで)順番に均等に配布されます。このモードは、ロードバランシングとフォールトトレランスの両方を提供しますが、スイッチのサポートが必要です。

アクティブバックアップ

プライマリスレーブインターフェイスのみが使用されます。失敗した場合は、代わりに別のスレーブが使用されます。フォールトトレランスのみを提供します。特別な要件はありません。

XOR(排他的論理和)

パケットは、送信元および宛先MACアドレスのハッシュに応じて、スレーブインターフェイスの1つに送信および割り当てられます。これは、次の式で計算されます。

[(source MAC address XOR’d with destination MAC address) modulo slave count]

このモードは、フォールトトレランスと負荷分散の両方を提供します。

放送

このモードを使用すると、すべてのパケットがすべてのスレーブインターフェイスで送信され、フォールトトレランスが提供されますが、ロードバランシングは提供されません。

802.3ad

このモードでは、スイッチでサポートする必要があるIEEE802.3adリンクアグリゲーションを利用します。同じ速度とデュプレックス設定を共有するアグリゲーショングループを作成します。アクティブグループ内のすべてのスレーブで送受信します。負荷分散とフォールトトレランスの両方を提供します。

適応型送信負荷分散

発信パケットは負荷に応じてスレーブインターフェイスを介して送信され、着信トラフィックは現在のスレーブによって受信されます。後者が失敗した場合、別のスレーブがそのMACアドレスを引き継ぎます。このモードは、フォールトトレランスと負荷分散を提供します。

適応型負荷分散

Adaptive Transmit Load Balancingのように機能します 、ただしinboundも提供します ARPによるバランシング (アドレス解決プロトコル)ネゴシエーション。

環境

このチュートリアルのために、仮想化されたRed Hat EnterpriseLinux8システムで作業します。ネットワークボンディングを作成するには、nmtuiを使用します 、NetworkManagerを制御するために使用されるテキストユーザーインターフェイスユーティリティ デーモン。ただし、nmcliでも同じ操作を実行できます。 コマンドラインユーティリティまたはNetwork Manager Connection Editorを使用したGUI経由 。

現在、システムには2つのethernetがあります リンク、enp1s0
およびenp7s0

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:cb:25:82 brd ff:ff:ff:ff:ff:ff
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:32:37:9b brd ff:ff:ff:ff:ff:ff

ネットワークボンディングの作成

まず、スレーブインターフェイスの現在の既存の構成を削除します。このような構成をその場で編集できるため、これは厳密には必要ありませんが、最初からこのように進めます。 nmtuiを呼び出しましょう :

$ sudo nmtui

メインメニューから[接続の編集]を選択して確認します。



Nmtuiのメインメニュー。

最初にリストで削除する接続を選択してから、<Delete>に移動します 。最後に確認します:



Nmtui接続リスト。

最後に、接続を削除することを確認します:



既存の接続を削除するためのNmtui確認プロンプト。

他のインターフェースに対しても操作を繰り返します。既存の構成をすべて削除したら、bondを作成できます インターフェース。 <Add>を選択します メニューで、接続タイプのリストから、Bondを選択します。 :



Nmtui接続タイプ選択メニュー。

新しいウィンドウが開き、インターフェイスを構成できます。この場合、完全にオプションであっても、bond0を使用します プロファイルとデバイス名の両方として。ただし、最も重要な部分は、ボンドに追加するスレーブインターフェイスの選択です。 BOND Slavesで メニューで、<Add>をクリックします 、追加するスレーブ接続のタイプを選択します。この場合はethernet



スレーブ接続タイプを選択するためのNmtuiメニュー。

デバイス名を入力し、<OK>を選択します 確認します。この操作は、スレーブインターフェイスごとに繰り返す必要があります。



スレーブ接続を編集するためのNmtuiインターフェース。

次のステップは、bonding modeを選択することです :このチュートリアルでは、Active Backupを使用します 1。メニューで関連するオプションを選択し、[プライマリ]フィールドでプライマリスレーブインターフェイスの名前を指定します。最後に、<OK>を選択します 結合インターフェースの作成を確認します。



ネットワークボンディングの設定。

これで、nmtuiを終了できます。 応用。ボンディングの作成が成功したことを確認するために、次のコマンドを起動できます。

$ ip addr show bond0

結果は次のとおりです。

4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:cb:25:82 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.164/24 brd 192.168.122.255 scope global dynamic noprefixroute bond0
       valid_lft 3304sec preferred_lft 3304sec
    inet6 fe80::48:d311:96c1:89dc/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

ifcfg 構成に関連する構成ファイルは、/etc/sysconfig/network-scripts内に生成されています。 ディレクトリ:

$ ls /etc/sysconfig/network-scripts
ifcfg-bond0  ifcfg-enp1s0  ifcfg-enp7s0

bond0の現在の状態を表示するには カーネルから見たインターフェースでは、次のように実行できます:

$ cat /proc/net/bonding/bond0

コマンドの出力は以下に報告されています:

Ethernet Channel Bonding Driver: v3.7.1 (April
27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: enp1s0 (primary_reselect always)
Currently Active Slave: enp1s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp1s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:cb:25:82
Slave queue ID: 0

Slave Interface: enp7s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:32:37:9b
Slave queue ID: 0

両方のスレーブインターフェースがどのように稼働しているかを確認できますが、enp1s0のみです。 プライマリスレーブとして使用されるため、アクティブです。

アクティブバックアップのテスト

構成が機能することをどのように確認できますか?プライマリスレーブインターフェイスを停止して、マシンがまだpingに応答するかどうかを確認できます。実行するインターフェースを置くには:

$ sudo ip link set enp1s0 down

マシンはまだ応答しますか?確認しましょう:

$ ping -c3 192.168.122.164
PING 192.168.122.164 (192.168.122.164) 56(84) bytes of data.
64 bytes from 192.168.122.164: icmp_seq=1 ttl=64 time=0.385 ms
64 bytes from 192.168.122.164: icmp_seq=2 ttl=64 time=0.353 ms
64 bytes from 192.168.122.164: icmp_seq=3 ttl=64 time=0.406 ms

--- 192.168.122.164 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 88ms
rtt min/avg/max/mdev = 0.353/0.381/0.406/0.027 ms

します!債券のステータスがどのように変化したか見てみましょう:

Ethernet Channel Bonding Driver: v3.7.1 (April
27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: enp1s0 (primary_reselect always)
Currently Active Slave: enp7s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp1s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 1
Permanent HW addr: 52:54:00:cb:25:82
Slave queue ID: 0

Slave Interface: enp7s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:32:37:9b
Slave queue ID: 0

ご覧のとおり、プライマリスレーブインターフェイスを下に置いているため(enp1s0 )、もう1つのスレーブ、enp7s0 バックアップとして使用され、現在アクティブなものです。さらに、Link Failure Count プライマリスレーブの場合は増加し、現在は1

結論

このチュートリアルでは、ネットワークボンディングとは何か、およびネットワークボンディングを構成するための可能な方法について学習しました。また、Active Backupを使用して、2つのイーサネットインターフェイス間にネットワークボンディングを作成しました。 モード。 Red Hat Enterprise Linux 7では、network teamingという新しい概念が導入されました。 。いくつかの側面では、チーミングはボンディングに似ていますが、実装方法が異なり、より多くの機能があります。これについては、今後の記事で取り上げます。


Cent OS
  1. CentOS / RHEL 7 :ネットワーク インターフェイス名を変更する方法

  2. CentOS / RHEL 7 :nmcli を使用してネットワーク ボンディング (NIC チーミング) を作成する方法

  3. CentOS / RHEL 5 :インターフェイス ボンディング (NIC チーミング) の構成方法

  1. CentOS / RHEL 4 :インターフェイス ボンディング (NIC チーミング) を構成する方法

  2. CentOS/RHEL で「無差別モード」でインターフェイスを構成する方法

  3. CentOS/RHEL 6 でネットワーク結合モードを変更する方法

  1. CentOS / RHEL 7 :ネットワーク ボンディングまたは NIC チーミングを構成する方法

  2. CentOS/RHEL 7 でネットワーク チーミングを構成する方法

  3. CentOS/RHEL でボンディング ネットワーク構成を削除する方法