ネットワークがダウンしたときにフェイルセーブ ネットワーク構成を有効にする方法はありますか?

ネットワークがダウンしたときにフェイルセーブ ネットワーク構成を有効にする方法はありますか?

質問

ネットワーク構成をリモートで変更する場合、障害発生時にネットワークが別の構成ファイルを使用しようとする方法はありますか?

背景- 要約;

いろいろ検索してみましたが、ifup にファイルを渡すようなことをする方法について言及しているところは見当たりません。そう言えば、ifup のマニュアル ページを確認しようかと思いましたが、とにかく今はテストできません。

私たちのサーバーはデータセンターに移動されましたが、私は別の都市で働いています。ネットワークは得意ではないので、インストール後に 2 つの NIC を結合してスループットを改善したいと考えました。しかし、そうすると、ネットワーク インターフェイスの初期化に失敗したため、接続が失われました。

私は/etc/sysconfig/network-scriptsにボンドを設定しようとした。

bond0: eth0 と eth1 を使用します。eth0: 結合するように設定、eth1: 結合するように設定してから、eth1:1 に設定します。再度ブロックされた場合に備えて、IP をバインドできると考えます...

残念ながら、これはうまくいきませんでした。データセンターに行ってサポートできる資格があるのは私の上司だけです。これは良い状況ではありません。(接続が失われないように、仮想サーバーで 2 回テストしました)

現在、私たちはそれを結合していますが、私が知る限り、「念のため」の構成を行う方法はありません...

そのため、今日はサーバー内の VM の接続をブリッジする必要がありました...。驚いたことに、再び接続が失われ、上司が今月データセンターに出向くのはこれで 2 回目です。:facepalm:

インターフェイスが稼働中であると検出されない場合、ネットワークで完全に異なる設定ファイルのセット (いわゆるフェイルセーフ) を使用する方法が必要です。これにより、ネットワークの試行が失敗した後、ネットワークがダウンしている場合は、5 分ごとに実行される cron ジョブによってフェイルセーフへのネットワーク接続が再確立されます。

今すぐ Linux ボックスにアクセスできればいいのですが、通常はサービス ネットワーク再起動コマンドを実行してネットワークをチェックします。ネットワークが検出されない場合、ネットワークが起動するまで別のフェイルセーフ構成を試すフェイルセーフ コマンドを実行する方法はありますか。

答え1

tl;dr: OOB を選択し、構成管理を検討するか、独自のソリューションを構築する必要があります。

Linux 環境でこのようなことを行うための事前構築済みのものについてはよく知りませんが、通常は IPMI/ILOM/OOB が適しています。ホストへのリモート コンソール アクセスが可能になるだけでなく、(通常は) ハードウェアの状態を確認したり、ハードロックされている場合にリモート リブートを実行したりすることもできます。

OOB がオプションでない場合は、さまざまなシナリオをチェックし、ホストが到達不能な状態にあるかどうかを判断し、タスクを実行して回復を試行する cron ジョブを設定することを検討できます。

もちろん、これには大きなリスクがあります。さまざまなシナリオを考慮する必要があります。たとえば、ゲートウェイ IP アドレスにアクセスできるかどうかを確認したいが、ゲートウェイが一時的に切断された場合などです。ボックスの問題ではなく上流の問題である場合、ホストがインターフェイスを再構成することは望ましくありません。

また、ローカル マシンを期待される状態に復元したり、1 時間ごとに期待される状態にあるかどうかを確認したりするように構成できる構成管理コントロールのオプションもあります。リモート サーバーと通信するのではなく、構成ファイルのローカル コピーを使用するようにこれらのアプリケーションを構成する必要がありますが、これは可能です。管理しているシステムの数によっては、これは少し過剰かもしれません (5 を超える場合は、一般的な構成管理を検討することを強くお勧めします。これにより、多くの時間を節約できます)。

ボックス上のスクリプトで変更を監視する方法を採用したい場合は、かなり長い時間、ドライ ラン モードに設定することを強くお勧めします。こうすることで、ネットワーク インターフェイスの再構成が必要と思われるタイミングをログに記録し、実際に使用する前に機能をデバッグ/テスト/健全性チェックすることができます。

さらに良い方法としては、ホストに 2 番目または 3 番目のインターフェース (ボンディングしたいため) をケーブル接続し、そのインターフェース構成に一切触れないようにするか、スクリプトがそのインターフェースを使用してサービスに復帰するようにのみ設定します。こうすることで、スクリプトがおかしくなった場合、問題があると判断されたインターフェースを台無しにするのではなく、この目的のためだけに使用している 3 番目のインターフェースだけを台無しにすることができます。

関連情報