サービス冗長デーモン
サービス冗長デーモンの概要
サービス冗長デーモンの概要
サービス冗長性デーモン(SRD)は、MS-MPCおよびMS-MICを搭載したMXシリーズルーター上の複数のゲートウェイで冗長性が発生するタイミングを決定できる設定可能なイベントを提供します。これにより、監視対象のイベントに基づいてプライマリロールの切り替えを管理できます。監視対象イベントに基づいて、次のような冗長性を設定できます。
イベントをリンクダウンします。
FPCとPICが再起動します。
ルーティングプロトコルデーモン(rpd)が終了し、再起動します。
プライマリロールの取得または解放の要求や、警告のブロードキャストを含むピアゲートウェイイベント
サービス冗長デーモンコンポーネント
以下のコンフィギュレーション可能コンポーネントは、SRD処理を制御します。
Redundancy Event—SRDが冗長性ピアのプライマリロールを取得または解放する、または警告のみのイベントをトリガーし、信号ルートを追加または削除するようにトリガーする、監視対象のクリティカルイベント。監視されるイベントには、インターフェイスまたはリンクダウンイベント、rpdイベント、およびピアからのプライマリロールイベントの取得またはリリースが含まれます。
Redundancy Policy—冗長性イベントが発生したときに実行される一連のアクションを定義するポリシー。利用可能なアクションには、プライマリロールの取得またはリリース、信号ルートの追加または削除が含まれます。
Redundancy Set—共通の冗長性ポリシーを持つ1つ以上のサービスセットの集合。冗長性セットは、2つ以上のシステムゲートウェイに適用されます。ゲートウェイのうち1つだけがプライマリであり、ピアはいつでもスタンバイ状態です。冗長性ポリシーは、SRDがトリガーイベントを検出したときに冗長性セットに対して実行するアクションを定義します。
Redundancy Group—冗長性セットと冗長性グループの間には1対1の関係が存在します。1 つの冗長性セットは、1 つの冗長性グループにのみ属することができます。
Signal routes—プライマリロールの状態の変化に基づいてsrdによって追加または削除される静的ルート。
Routing Policies—
if-route-exists条件を使用して信号ルートの有無に基づいてルートをアドバタイズするように設定されたポリシー。VRRP (Virtual Router Redundancy Protocol) route tracking—TA 標準Junos OS VRRP 機能ですが、オプションの srd コンポーネントで、設定に含まれるルーティング インスタンスのルーティングテーブルに到達可能なルートが存在するかどうかを追跡し、追跡されたルートの到達可能性に基づいて VRRP グループの優先度を動的に変更して、新しいプライマリ ルーター選択をトリガーします。追跡するルートは信号ルートです。
サービス冗長デーモンの制約
SRD処理設定には、以下の制約が適用されます。
冗長性セットと冗長性グループの間には、1対1の関係が存在します。1 つの冗長性セットは、1 つの冗長性グループにのみ属することができます。
1 つの冗長性ポリシーは 1 つの冗長性セットにのみ含めることができますが、1 つの冗長性セットに複数の冗長性ポリシーを含めることができます。例えば、冗長性セットRS1には、冗長性ポリシーRP1およびRP2を含めることができます。冗長性ポリシーRP1およびRP2は、RS1以外の冗長性セットに含めることはできません。
1 つの冗長性イベントは 1 つの冗長性ポリシーにのみ含めることができますが、1 つの冗長性ポリシーに複数の冗長性イベントを含めることができます。例えば、冗長性ポリシーRP1には、冗長性イベントRE1およびRE2を含めることができます。冗長性イベントRE1およびRE2は、RP1以外の冗長性ポリシーに含めることはできません。
1 つの監視対象インターフェイスまたはリンクは 1 つの冗長性イベントにのみ含めることができますが、1 つの冗長性イベントには複数の監視対象インターフェイスを含めることができます。
1 つのサービス・セットは 1 つの冗長性セットにのみ含めることができますが、1 つの冗長性セットに複数のサービス・セットを含めることができます。
ゲートウェイ1(低い方のIPアドレスで構成されたシャーシ)がプライマリシャーシであり、そのシャーシ上でSRDを無効にすると、ゲートウェイ2への切り替わりが発生します。より高いIPアドレスで構成されたシャーシであるゲートウェイ2がプライマリシャーシであり、そのシャーシ上でSRDを無効にした場合、スイッチオーバーは発生しません。
特定の冗長性セットは 1 つのゲートウェイでのみアクティブにできますが、すべての冗長性セットを同じゲートウェイでアクティブにする必要があるわけではありません。例えば、冗長性セットAをゲートウェイ1でアクティブにし、冗長性セットBをゲートウェイ2でアクティブにすることができます。
サービス冗長デーモンの運用
SRDは次のように動作します。
SRDは、ルーティングエンジンで実行されます。設定された冗長性イベントを継続的に監視します。
冗長性イベントが検出されると、SRDは以下を実行します。
冗長性ポリシーで指定された信号ルートを追加または削除します。
サービスを次の優先スタンバイゲートウェイにスイッチします。
必要に応じてステートフル同期ロールを更新します。
結果として生じるルート変更は、以下を引き起こします。
このルートに接続されているルーティングポリシー、異なる方法でルートをアドバタイズします。
VRRP を使用して、アドバタイズされた優先順位を変更します。
スイッチオーバープロセスを要約すると:
クリティカルなイベントが発生します。
SRDは、信号ルートを追加または削除します。
ルーティングポリシーでは、ルートを異なる方法でアドバタイズします。VRRP はアドバタイズされた優先順位を変更します。
サービスは、次の優先スタンバイゲートウェイに切り替わります。
それに応じて、ステートフル同期が更新されます。
ルーティング優先度の順序は、サービスのプライマリロールの順序と一致する必要があります。
| プラットフォーム |
違い |
|---|---|
| MXシリーズ |
サービス冗長デーモンは、デフォルトでは有効になっていません。サービス冗長デーモンを有効にするには、 [edit]階層でservices redundancy bring-up-on-anyステートメントを使用して、サービス冗長デーモンを有効にできます。 |
サービス冗長性デーモンの設定
SRD処理を設定する前に、 MC-LAG用ICCPの設定をよく理解しておくことをお勧めします。このページでは、プライマリロールとスタンバイロールを交換できるゲートウェイ間のピア関係について説明しています。
以下の設定ステートメントを使用します。
-
redundancy-policy[edit policy-options]階層レベルでは -
redundancy-event[edit event-options]階層レベルで -
redundancy-set[edit services]階層レベルでは
設定された冗長性イベントが発生したときに実行するアクションは、冗長性ポリシーで定義されています。冗長性ポリシーは、冗長性セットに関連付けられています。これらは、サービス セットに関連付けられたルールに類似しています。冗長性セットは、冗長性グループIDによって冗長性グループに関連付けられます。冗長性グループの詳細は、基盤となるシャーシ間通信プロトコルデーモン(iccpd)設定によって定義されます。サービスセットと冗長性セットは、サービスセット設定の redundancy-sets ステートメントを介して関連付けられます。
次の手順では、構成され、冗長性ポリシーに関連付けられた冗長性イベントについて説明します。冗長性ポリシーは、プライマリ・ロールのリリースまたはプライマリ・ロールの取得という適切なアクションを実行するための冗長性セットに関連付けられています。イベントがプライマリロールリリースアクションを実行するポリシーに関連付けられている場合、srdは冗長性ピアの状態が準備完了か警告かを確認します。スタンバイが警告状態にある場合、プライマリロールのリリースアクションは失敗します。ヘルスチェックを復元し、プライマリロールのリリースアクションを手動で実行できます。
いずれの場合でもプライマリロールを解放するには、ポリシーアクションを release-mastership-force として設定するか、運用CLIで request services redundancy-set redundancy-set redundancy-event redundancy-event trigger force コマンドを使用します。設定で release-mastership-force オプションが指定されている場合でも、 request services redundancy-set redundancy-set redundancy-event redundancy-event trigger force CLIコマンドの使用が優先され、プライマリロールが解放されます。同様に、冗長性イベントが primary role の取得アクションを持つポリシーで設定されている場合、srd はローカルの冗長性設定状態をチェックします。待機状態の場合、 request services redundancy-set redundancy-set redundancy-event redundancy-event trigger force CLIコマンドを使用しない限り、アクションは失敗します。ヘルスチェックが失敗する理由を特定し、失敗を修正するためのアクションを実行することをお勧めします。その後、冗長性設定状態が STANDBY に戻ると、この 1 次ロール変更アクションは成功します。
特定の冗長性セットは 1 つのゲートウェイでのみアクティブにできますが、すべての冗長性セットを同じゲートウェイでアクティブにする必要があるわけではありません。例えば、冗長性セットAをゲートウェイ1でアクティブにし、冗長性セットBをゲートウェイ2でアクティブにすることができます。
srdを設定するには、以下の設定タスクを推奨される順序で実行します。プライマリロールが変更される可能性のある2つのゲートウェイの設定を示しています。
冗長性イベントの設定
冗長性イベントを設定するには:
冗長性ポリシーの設定
サービス冗長性ポリシーは、監視対象の冗長性イベントによってトリガーされるアクションを指定します。
冗長性ポリシーを設定するには:
次の例は、2つのピアゲートウェイの冗長性ポリシーを設定する方法を示しています。
user@gateway1# edit policy-options redundancy-policy ACQU_MSHIP_POL redundancy-events ACQU_MSHIP_MANUAL_EV then [edit policy-options redundancy-policy ACQU_MSHIP_POL redundancy-event ACQU_MSHIP_MANUAL_EV then] user@gateway1# set acquire-mastership add-static-route 10.45.45.0/24 receive routing-instance SGI-PRIVATE user@gateway1# top user@gateway1# edit policy-options redundancy-policy RELS_MSHIP_POL redundancy-events PEER_MSHIP_ACQU_EV then [edit policy-options redundancy-policy RELS_MSHIP_POL redundancy-events PEER_MSHIP_ACQU_EV then] user@gateway1# set release-mastership-force delete-static-route 10.45.45.0/24 receive routing-instance SGI-PRIVATE
user@gateway2# edit policy-options redundancy-policy RELS_MSHIP_POL redundancy-events PEER_MSHIP_ACQU_EV then [edit policy-options redundancy-policy ACQU_MSHIP_POL redundancy-events ACQU_MSHIP_MANUAL_EV then] user@gateway2# set release-mastership-force add-static-route 10.45.45.0/24 receive routing-instance SGI-PRIVATE user@gateway2# top user@gateway2# edit policy-options redundancy-policy ACQU_MSHIP_POL redundancy-events PEER_MSHIP_RELS_EV then [edit policy-options redundancy-policy ACQU_MSHIP_POL redundancy-events PEER_MSHIP_RELS_EV then] user@gateway2# set acquire-mastership delete-static-route 10.45.45.0/24 receive routing-instance SGI-PRIVATE user@gateway2# top user@gateway2# edit policy-options redundancy-policy WARN_POL redundancy-events WARN_EV then [edit policy-options redundancy-policy WARN_POL redundancy-events WARN_EV then] user@gateway2# set broadcast-warning
冗長性セットとグループの設定
srdが使用する冗長性グループIDは、サービス冗長性グループの設定で同じ冗長性グループIDを使用することで、既存のICCP設定階層を介してICCPデーモン(iccpd)に設定されたものに関連付けられます。
iccp {
local-ip-addr 10.1.1.1;
peer 10.2.2.2 {
redundancy-group-id-list 1;
liveness-detection {
minimum-interval 1000;
}
}
}
冗長性セットを設定するには:
冗長性をサポートするルーティングポリシーの設定
冗長性をサポートするルーティングポリシーを設定するには:
サービスセットの設定
サービスセットのサービスのステートフル同期を指定します。
[edit] user@gateway1# set services service-set service-set-name redundancy-set-id redundancy-set
例えば:
[edit] user@gateway1# set services service-set CGN4_SP-7-0-0 redundancy-set-id 1
サービス冗長デーモンスクリプトを使用したゲートウェイのステータスの表示と変更
サービス冗長性デーモン(SRD)スクリプトを実行することで、ゲートウェイのステータスの確認、ゲートウェイ上のすべてのインターフェイスの無効化または有効化、ゲートウェイからサービス関連のMIB情報の取得を行うことができます。
これらのスクリプトを使用する前に、有効にする必要があります。
srdスクリプトを有効にします。
[edit] user@host# set system scripts op file sdg-inservice.slax user@host# set system scripts op file sdg-oos.slax user@host# set system scripts op file services-oids.slax user@host# set system scripts op file srd-status.slax user@host# set system scripts op max-datasize 512m
srd スクリプトを root ユーザーとして使用します。