シャーシ クラスタ内のノードの監視
クラスターを監視するには、冗長性グループを検出する必要があります。シャーシ クラスタ モードでデバイスを初期化すると、システムはこのトピックで冗長グループ 0 と呼ばれる冗長グループを作成します。冗長グループ0は、クラスタの各ノード上のルーティングエンジン間の優位性とフェイルオーバーを管理します。すべての冗長性グループの場合と同様に、冗長性グループ0は、一度に1つのノードでのみプライマリになることができます。冗長グループ0がプライマリであるノードによって、クラスタ内でどのルーティングエンジンがアクティブかが決まります。ルーティング エンジンがアクティブなノードである場合、ノードはクラスタのプライマリ ノードと見なされます。このセクションで冗長グループ x と呼ばれる、1 〜 128 の番号が付けられた 1 つ以上の冗長性グループを設定できます。冗長性グループの最大数は、設定した冗長イーサネットインターフェイス+1の数と同じになります。各冗長性グループxは、フェイルオーバーの独立したユニットとして機能し、一度に1つのノードでのみプライマリになります。この情報の取得に使用できる MIBS はありません。
Junos OS XML 管理プロトコルまたは NETCONF XML 管理プロトコルの使用
get-configuration
リモート プロシージャ コール(RPC)を使用して、デバイスに存在する冗長構成と冗長グループを取得します。これにより、構成された冗長性グループが提供されます。
構成を取得するための XML RPC
<rpc> <get-configuration inherit="inherit" database="committed"> <configuration> <chassis> <cluster> </cluster> </chassis> </configuration> </get-configuration> </rpc>
応答:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/10.4I0/junos"> <configuration xmlns="http://xml.juniper.net/xnm/1.1/xnm" junos:commit-seconds="1277806450" junos:commit-localtime="2010-06-29 03:14:10 PDT" junos:commit-user="regress"> <chassis> <cluster> <reth-count>10</reth-count> <control-ports> <fpc>4</fpc> <port>0</port> </control-ports> <control-ports> <fpc>10</fpc> <port>0</port> </control-ports> <redundancy-group> <name>0</name> <node> <name>0</name> <priority>254</priority> </node> <node> <name>1</name> <priority>1</priority> </node> </redundancy-group> <redundancy-group> <name>1</name> <node> <name>0</name> <priority>100</priority> </node> <node> <name>1</name> <priority>1</priority> </node> </redundancy-group> </cluster> </chassis> </configuration> </rpc-reply> ]]>]]>
シャーシ クラスタ冗長イーサネット インターフェイス
冗長イーサネットインターフェイスは、クラスターの各ノードから少なくとも 1 つの物理インターフェイスを含む疑似インターフェイスです。冗長イーサネット インターフェイスは、設定コマンドでは reth と呼ばれます。次のサンプル出力は、2つの冗長性グループが存在し、設定されていることを示しています。
Junos OS XML 管理プロトコルまたは NETCONF XML 管理プロトコルの使用
リモート プロシージャ コール(RPC)を使用して、
get-chassis-cluster-interfaces
reth インターフェイスの詳細を取得します。以下のサンプル出力は、4つのrethインターフェイスが設定されていることを示しています。シャーシ クラスタ インターフェイスの XML RPC
user@host>
show chassis cluster interfaces |display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/11.4R5/junos"> <chassis-cluster-interface-statistics> <control-interface-status>Up</control-interface-status> <control-link-interfaces> <control-information> <control-link-interface-index>0</control-link-interface-index> <control-link-interface-name>em0</control-link-interface-name> <control-link-interface-status>Up</control-link-interface-status> </control-information> <control-information> <control-link-interface-index>1</control-link-interface-index> <control-link-interface-name>em1</control-link-interface-name> <control-link-interface-status>Down</control-link-interface-status> </control-information> </control-link-interfaces> <dataplane-interface-status>Up</dataplane-interface-status> <dataplane-interfaces> <fabric-information> <fabric-interface-index>0</fabric-interface-index> <fabric-child-interface-name>ge-6/0/15</fabric-child-interface-name> <fabric-child-interface-status>Up</fabric-child-interface-status> <fabric-interface-index>0</fabric-interface-index> </fabric-information> <fabric-information> <fabric-interface-index>1</fabric-interface-index> <fabric-child-interface-name>ge-19/0/15</fabric-child-interface-name> <fabric-child-interface-status>Up</fabric-child-interface-status> <fabric-interface-index>1</fabric-interface-index> </fabric-information> </dataplane-interfaces> <reth> <reth-name>reth0</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth1</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>Not configured</redundancy-group-id-for-reth> <reth-name>reth2</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth3</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>Not configured</redundancy-group-id-for-reth> <reth-name>reth4</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth5</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth6</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth7</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth8</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth9</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth10</reth-name> <reth-status>Up</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth11</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth12</reth-name> <reth-status>Down</reth-status> <redundancy-group-id-for-reth>Not configured</redundancy-group-id-for-reth> <reth-name>reth13</reth-name> <reth-status>Up</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth14</reth-name> <reth-status>Up</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth15</reth-name> <reth-status>Up</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> <reth-name>reth16</reth-name> <reth-status>Up</reth-status> <redundancy-group-id-for-reth>1</redundancy-group-id-for-reth> </reth> <interface-monitoring> </interface-monitoring> </chassis-cluster-interface-statistics> <cli> <banner>{secondary:node0}</banner> </cli> </rpc-reply> user@host>show chassis cluster interfaces
Control link status: Up Control interfaces: Index Interface Status 0 em0 Up 1 em1 Down Fabric link status: Up Fabric interfaces: Name Child-interface Status fab0 ge-6/0/15 Up fab0 fab1 ge-19/0/15 Up fab1 Redundant-ethernet Information: Name Status Redundancy-group reth0 Down 1 reth1 Down Not configured reth2 Down 1 reth3 Down Not configured reth4 Down 1 reth5 Down 1 reth6 Down 1 reth7 Down 1 reth8 Down 1 reth9 Down 1 reth10 Up 1 reth11 Down 1 reth12 Down Not configured reth13 Up 1 reth14 Up 1 reth15 Up 1 reth16 Up 1 {secondary:node0}get-interface-information
リモート プロシージャ コール(RPC)を使用して、reth インターフェイスの詳細を表示し、デバイス上の reth インターフェイスを識別します。このRPCは、次のサンプル出力に示すように、どのギガビットイーサネットまたはファストイーサネットインターフェイスがどのrethインターフェイスに属しているかも表示します。インターフェイス情報の XML RPC
<rpc> <get-interface-information> <terse/> <interface-name>reth0</interface-name> </get-interface-information> </rpc><rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/10.4I0/junos"> <interface-information xmlns="http://xml.juniper.net/junos/10.4I0/junos-interface" junos:style="terse"> <physical-interface> <name> reth0 </name> <admin-status> up </admin-status> <oper-status> up </oper-status> <logical-interface> <name> reth0.0 </name> <admin-status> up </admin-status> <oper-status> up </oper-status> <filter-information> </filter-information> <address-family> <address-family-name> inet </address-family-name> <interface-address> <ifa-local junos:emit="emit"> 192.168.29.2/24 </ifa-local> </interface-address> </address-family> <address-family> <address-family-name> multiservice </address-family-name> </address-family> </logical-interface> </physical-interface> </interface-information> Now, the interface that belongs to this. Extracting only the relevant information <rpc> <get-interface-information> <terse/> </get-interface-information> </rpc><rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/10.4I0/junos"> <interface-information xmlns="http://xml.juniper.net/junos/10.4I0/junos-interface" junos:style="terse"> <physical-interface> <name> ge-5/1/1 </name> <admin-status> up </admin-status> <oper-status> up </oper-status> <logical-interface> <name> ge-5/1/1.0 </name> <admin-status> up </admin-status> <oper-status> up </oper-status> <filter-information> </filter-information> <address-family> <address-family-name> aenet </address-family-name> <ae-bundle-name> reth0.0 </ae-bundle-name> </address-family> </logical-interface> </physical-interface> </interface-information>
サンプル出力では、 タグは
ae-bundle-name
それが属する reth インターフェイスを識別します。
SNMP を使用する
ifTable MIB テーブルは、すべての reth インターフェイスを報告します。
ifStackStatus MIB テーブルを使用して、reth インターフェイスをプライマリおよびセカンダリ ノードの基盤となるインターフェイスにマッピングします。reth インターフェイスは上位レイヤーであり、両方のノードからの個々のインターフェイスは下位レイヤー インデックスとして表示されます。
Rethインターフェイスの詳細のサンプルSNMPデータ
以下のサンプルでは、ge-5/1/1 と ge-11/1/1 は reth0 に属しています。
{primary:node0} user@host>
show interfaces terse | grep reth0
ge-5/1/1.0 up up aenet --> reth0.0 ge-11/1/1.0 up up aenet --> reth0.0 reth0 up up reth0.0 up up inet 192.168.29.2/24ifTable からすべてのインターフェイスのインデックスを検索します。以下の情報は、この例で必要なインターフェイスのインデックスを示しています。
{primary:node0} user@host>
show snmp mib walk ifDescr | grep reth0
ifDescr.503 = reth0.0 ifDescr.528 = reth0次に、ifStackStatus テーブルで reth0 のインデックスを検索します。次のサンプル出力では、reth0 インデックス 503 が上位レイヤー インデックスで、インデックス 522 と 552 が下位レイヤー インデックスです。インデックス 522 および 552 は、それぞれインターフェイス ge-5/1/1.0 および ge-11/1/1.0 を表します。
{primary:node0} user@host>
show snmp mib walk ifStackStatus | grep 503
ifStackStatus.0.503 = 1 ifStackStatus.503.522 = 1 ifStackStatus.503.552 = 1 {primary:node0} user@host>show snmp mib walk ifDescr | grep 522
ifDescr.522 = ge-5/1/1.0 {primary:node0} user@host>show snmp mib walk ifDescr | grep 552
ifDescr.552 = ge-11/1/1.0
コントロールプレーンの使用
アクティブ/バックアップモードで動作するコントロールプレーンソフトウェアは、クラスタのプライマリノードでアクティブなJunos OSの不可欠な部分です。状態、設定、その他の情報をセカンダリノード上の非アクティブなルーティングエンジンに伝達することで、冗長性を実現しています。プライマリルーティングエンジンに障害が発生した場合、セカンダリルーティングエンジンが制御を引き継ぐ準備ができています。次のメソッドを使用して、制御ポート情報を検出できます。
Junos OS XML 管理プロトコルまたは NETCONF XML 管理プロトコルの使用
次のサンプル出力に示すように、 get-configuration
リモート プロシージャ コール(RPC)を使用して制御ポートの設定を取得します。
冗長グループ構成のための XML RPC
<rpc> <get-configuration inherit="inherit" database="committed"> <configuration> <chassis> <cluster> </cluster> </chassis> </configuration> </get-configuration> </rpc>
データ プレーンの使用
アクティブ/アクティブモードで動作するデータプレーンソフトウェアは、フロー処理とセッション状態の冗長性を管理し、トランジットトラフィックを処理します。特定のセッションに属するすべてのパケットは、同じノード上で処理され、同じセキュリティ処理が適用されます。システムは、セッションがアクティブであるノードを識別し、そのパケットをそのノードに転送して処理します。このデータ リンクは、ファブリック インターフェイスと呼ばれます。クラスタのパケット転送エンジンはこれを使用して、トランジットトラフィックを送信し、データプレーンソフトウェアの動的なランタイム状態を同期させます。ファブリック インターフェイスを作成すると、パケット送信に使用する内部派生 IP アドレスが割り当てられます。ファブリックは、クラスタの2つのノード間の物理的な接続であり、1対のイーサネットインターフェイスを背中合わせ(各ノードから1つずつ)接続することによって形成されます。以下の方法を使用して、データプレーンインターフェイスを決定できます。
Junos OS XML 管理プロトコルまたは NETCONF XML 管理プロトコルの使用
次のサンプル出力に示すように、 get-chassis-cluster-data-plane-interfaces
リモート プロシージャ コール(RPC)を使用してデータ プレーン インターフェイスを取得します。
クラスタ データプレーン インターフェイスの詳細に関する XML RPC
<rpc> <get-chassis-cluster-data-plane-interfaces> </get-chassis-cluster-data-plane-interfaces> </rpc><rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/10.4I0/junos"> <chassis-cluster-dataplane-interfaces> <fabric-interface-index>0</fabric-interface-index> <fabric-information> <child-interface-name>xe-5/0/0</child-interface-name> <child-interface-status>up</child-interface-status> </fabric-information> <fabric-interface-index>1</fabric-interface-index> <fabric-information> <child-interface-name>xe-11/0/0</child-interface-name> <child-interface-status>up</child-interface-status> </fabric-information> </chassis-cluster-dataplane-interfaces>
SNMP を使用する
ifTable MIB テーブルは、ファブリック(fab)インターフェイスとリンク インターフェイスを報告します。ただし、基盤となるインターフェイスとファブリック インターフェイスの関係は、SNMP では判別できません。
シャーシ クラスタ ノードのプロビジョニング
SRXシリーズデバイスとJunos OSデバイスの設定とプロビジョニングには、NETCONF XML管理プロトコルを使用します。グループを使用してSRXシリーズのシャーシクラスターを設定することをお勧めします。ノード間で共通のすべての構成にグローバル グループを使用します。
Junos OSのコミットスクリプトを使用して、必要に応じて設定をカスタマイズすることができます。
Junos OSのコミットスクリプトは以下の通りです。
コミット時に実行
受信した構成を検査します
次のようなアクションを実行します。
コミットの失敗(自己防衛)
設定の変更(自己修正)
コミットスクリプトでは、次のことができます。
カスタムエラー/警告/syslogメッセージの生成
設定の変更または修正
コミットスクリプトを使用すると、デバイスが以下を実施するように設定する方法をより適切に制御できます。
デザインルール
実装の詳細
設計基準の100%