別のスイッチでNICボンディングを使用する

別のスイッチでNICボンディングを使用する

私はDebianを使用しており、複数のサーバーでHAネットワークを設定したいと思います。

私の設定は次のとおりです。

   -----sw1--------------sw2------------ host1
  /    /                    \    \        /
srv1 srv2                  srv3 srv4     /
  \    \                    /    /      /
   -----sw3--------------sw4------------

サーバーが多い(サービスセンター)を2つの別々のネットワークに接続します。各サーバーには2つのネットワークカードがあります。各ネットワークカードは管理されていないスイッチ(南西)。各サーバーは、ネットワークカードを固定IPアドレスに関連付けられたインターフェイスとして使用します。これ所有者すべてのサーバーに接続できる必要があります。バインディングインターフェイスもあります。

上記のシナリオは、Linuxデバイスをバインドすることで達成できますか?ホストは、サーバーのネットワークカードの1つが無効になっているか、ネットワークの1つがダウンしている場合でも、すべてのサーバーにアクセスできる必要があります。ネットワークをクロスリンクすることは私が望むものではありません。

グルーパターンでいくつかの実験をしてみました。アクティブバックアップそして放送結合するARPモニタリング。しかし、成功しなかったまま...

上記のパターンで動作するネットワークを作成できましたが、リンクが切断されたらネットワークがクラ​​ッシュしました。

助けてください?私の目標を達成するための他のオプションはありますか?

よろしくお願いします。

ディーター

ベストアンサー1

いいえ、接続が機能する方法ではありません。

バインディングは同様のプロトコルを使用します。LACP複数のイーサネットリンク間の統合同じ2つデバイス(ホスト2、スイッチ2、またはスイッチ1とホスト1)を単一のリンクとして扱います。

srv1srv2、、、srv3とのsrv42つのネットワークhost1インターフェイスその他イーサネットインターフェイス、ボンディング/LACPは該当しません。

1つのオプションは、5つのホストのそれぞれの2つのインターフェイスを一緒に接続し、ホストにスパニングツリーネットワークに参加させることで、レイヤ2ループがないことを確認することです。残念ながら、スイッチが管理されていないと言われているため、スパニングツリーとレイヤ2ループは、管理されていないスイッチでスパニングツリーパラメータを設定できないため、シナリオでは危険です。あるいは、スパニングツリーを実装しないことも可能です。少しも。さらに、STPはポートを完全にブロックしてネットワークのループを解決するため、ユーザーが望ましくないアクティブ - スタンバイ構成が効果的に発生します。

別のオプションは、「親」および「子」ネットワークを完全に別々のIPネットワークにすることです。つまり、レイヤ2ではなくレイヤ3でロードバランシングまたは冗長性を実装します。

-----+----------------+---------------+--------------
     |                |               |
     |10.0.1.1/24     |10.0.1.2/24    |10.0.1.3/24
  +------+         +------+        +------+
  | srv1 |         | srv2 |        | srv3 |           etc...
  +------+         +------+        +------+
     |10.0.2.1/24     |10.0.2.2/24    |10.0.2.3/24
     |                |               |
-----+----------------+---------------+--------------

シンプルバージョン:

各サーバーに対してDNSに2つのIPアドレスを公開し、DNSベースのロードバランシングを使用して、あるリンクを他のリンクよりも選択できるようにします。

プロフェッショナル:

  • シンプル

欠点:

  • 個々のTCP接続は他のリンクにフェイルオーバーしません。
  • 他のリンクを試みる前にリンクの1つがダウンすると、長いタイムアウトが発生する可能性があります。
  • すべてのアプリケーションが異なるIPアドレスのホストへの接続を再試行する方法を理解しているわけではありません。

強化版:

各リンクのどのサブネットにもない各ホストに追加のループバックアドレスを追加します。たとえば、10.0.3.x/32:

  • srv1:10.0.3.1/32
    • 構成ip addr add 10.0.3.1/32 dev lo
  • srv2:10.0.3.2/32
  • srv3:10.0.3.3/32
  • など...

サーバーにOSPFなどのルーティングプロトコルを使用させる。使用クアガこの目的のために。各サーバーは、OSPFを介して2つのリンク(または1つのリンクしか使用できない場合は1つのリンク)を介して互いのループバックアドレスに到達する方法を学びます。 DNSのループバックアドレスのみが公開されます。

カーネルソースIPアドレスの選択を慎重に追加設定すると、ループバックアドレスがソースアドレスとしても使用されるように設定できます。つまり、個々のTCP接続がシームレスにフェイルオーバーされます。

おすすめ記事