Sun Enterprise 10000 SSP 3.4 ユーザーマニュアル

第 10 章 デュアル制御ボードの取り扱い

プラットフォームに 2 枚の制御ボードを装着して、冗長機能を実現することができます。一方は主制御ボードで、他方はスペア制御ボードです。障害発生時に主制御ボードからスペア制御ボードに切り替えることを、制御ボードのフェイルオーバーと呼びます。このフェイルオーバーは自動的に行われます。必要な場合には、制御ボードのフェイルオーバーを強制することもできます。

この章では、デュアル構成での制御ボードの機能と制御ボードのフェイルオーバーの動作について説明します。


注 -

デュアル SSP 構成 (メイン SSP およびスペア SSP) と同様にシングル SSP 構成でもデュアル制御ボードを装備することができます。制御ボードのフェイルオーバー動作は、両方の構成で同じです。


制御ボードエグゼクティブ

制御ボードエグゼクティブ (CBE) は、制御ボード上で実行され、SSP とプラットフォーム間のやり取りを容易にします。

電源を入れると、メイン SSP から両方の制御ボードが起動されます。起動された CBE は、SSP 上で実行されている制御ボードサーバーと fod (フェイルオーバー) デーモンが接続を確立するのを待ちます。fod デーモンと制御ボードの間の接続によって、SSP と制御ボードのフェイルオーバーが容易になります。

CBE 内のフェイルオーバータスクによって、メイン SSP とスペア SSP を接続し、フェイルオーバー状態を監視することができます。このタスクは、メイン SSP およびスペア SSP 上で実行されている fod デーモンからの TCP/IP 接続をチェックし受け付けます。また、フェイルオーバータスクはハートビートメッセージを読み取り、メインとスペアの両方の SSP 上の fod デーモンにこのメッセージを転送します。

主制御ボード

SSP 上で実行されている制御ボードサーバーが制御ボード上で実行されている CBE に接続されると、CBE はその制御ボードを主制御ボードとして認識します。主制御ボードが、JTAG インタフェースを提供します。主制御ボードはシステムクロックも供給します。

制御ボードサーバー

SSP を起動すると、fod を含むいくつかのデーモンとともに制御ボードサーバー (CBS) が自動的に起動します。SSP と主制御ボードの間の非フェイルオーバー通信は、すべて CBS によって行われます。

CBS が接続を試みるのは、制御ボードの構成ファイルで主制御ボードとして指定されているボードだけです。


注 -

制御ボードの構成ファイルを手動で変更しないでください。この構成ファイルの変更には、ssp_config(1M) コマンドを使用してください。


制御ボードの構成ファイルの形式は、以下のとおりです。


platform_name:platform_type:cb0_hostname:status0:cb1_hostname:status1

ここで、

platform_name は、システム管理者が割り当てた名前です。

platform_type は、Ultra-Enterprise-10000 です。

cb0_hostname は、有効であれば、制御ボード 0 のホスト名です。

status0 は、制御ボード 0 が主制御ボードであるかどうかを示します (P の場合は主制御ボードです。それ以外の文字の場合は、主制御ボードではありません) 。

cb1_hostname は、有効であれば、制御ボード 1 のホスト名です。

status1 は、制御ボード 1 が主制御ボードであるかどうかを示します。

たとえば、以下のようになります。


xf2:Ultra-Enterprise-10000:xf2-cb0:P:xf2-cb1:

この例では、プラットフォーム xf2 に 2 個の制御ボードが装着されています。制御ボードは、xf2-cb0xf2-cb1 です。xf2-cb0 が主制御ボードに指定されています。詳細は、マニュアルページの cb_config(4) を参照してください。

制御ボードサーバーと制御ボードエグゼクティブの間の通信に使用される通信ポートは、/tftpboot/xxxxxxxx.cb_port に指定されます。xxxxxxxx は制御ボードの IP アドレスであり、16 進数で表されます。

CBE (制御ボードエグゼクティブ) イメージファイルとポート指定ファイル

メイン SSP は、制御ボードの起動サーバーです。起動時には、制御ボードの起動 PROM によって 2 つのファイルがダウンロードされます。1 つは CBE のイメージファイルであり、もう 1 つはポート番号指定ファイルです。これらのファイルは SSP の /tftpboot に保存されていて、以下の形式の名前になっています。


/tftpboot/xxxxxxxx for the cbe image
/tftpboot/xxxxxxxx.cb_port for the port number

xxxxxxxx は制御ボードの IP アドレスであり、16 進数で表示されます。

たとえば、制御ボード xf2-cb0 用のファイルは以下のようになります。


/tftpboot/81990313
/tftpboot/81990313.cb_port

NIS を使用している場合は、xf2-cb0 の IP アドレスは、以下のコマンドによって確認することができます。


% ypcat hosts | grep xf2-cb0

返されるアドレスは 129.153.3.19 です。このアドレスは、81990313 に変換されます。

スペア制御ボードへの自動フェイルオーバー

制御ボードのフェイルオーバーは、SSP のインストールまたはアップグレード時に自動的に使用可能になります。制御ボードおよびその他のフェイルオーバーコンポーネントのフェイルオーバー監視は、fod デーモンによって行われます。主制御ボードが正しく機能していない場合は、fod デーモンがスペア制御ボードへの自動フェイルオーバーを起動します。ただし、障害の状態によっては、制御ボードのフェイルオーバーが使用不可になることがあります。障害状態の詳細と実行されるフェイルオーバー動作の概要は、第 11 章「SSP の内部構造」を参照してください。

制御ボードのフェイルオーバーは、ドメインが実行されているかどうかによって部分的または完全のいずれかになります。

制御ボードフェイルオーバーの管理

制御ボードのフェイルオーバーを使用可能、使用不可にしたり、強制することができます。メイン SSP 上で setfailover(1M) コマンドを使用して、フェイルオーバー状態を管理します。たとえば、制御ボードのフェイルオーバーが発生した後に、setfailover(1M) コマンドを使用して制御ボードのフェイルオーバー機能を再び使用可能にする必要があります。

制御ボードのフェイルオーバーを使用不可、使用可能にしたり強制する手順は、以下のとおりです。

制御ボードフェイルオーバーを使用不可にする
  1. ユーザー名 ssp でメイン SSP にログインし、以下のように入力します。


    ssp% setfailover -t cb off
    

    制御ボードのフェイルオーバーは、ユーザーが使用可能にするまで使用不可のままです。制御ボードフェイルオーバーが使用不可になっているかどうかを判定するには、「制御ボードフェイルオーバー情報の取得」で説明するように、showfailover(1M) コマンドを使用してフェイルオーバー状態を調べます。

制御ボードフェイルオーバーを使用可能にする
  1. ユーザー名 ssp でメイン SSP にログインし、以下のように入力します。


    ssp% setfailover -t cb on
    

    すべての接続リンクが正しく機能している場合に、制御ボードのフェイルオーバーが有効になります。障害のある接続が 1 つでもあると、制御ボードフェイルオーバーは使用不可になります。showfailover(1M) コマンドを使用すれば、制御ボードフェイルオーバーが使用可能かどうかを調べて、接続状態を見直すことができます。

完全な制御ボードフェイルオーバーを強制する

注 -

完全な制御ボードフェイルオーバー (JTAG 接続とシステムクロックソースの両方が主制御ボードからスペア制御ボードに移されます) を強制するには、まず、実行中のドメインをすべて停止します。次に、すべてのシステムボードの電源を切断し再び電源を投入した後で、制御ボードのスイッチを入れます。一部でも停止していないドメインがあると、部分的な制御ボードフェイルオーバーが発生します。この場合は、JTAG 接続はスペア制御ボードに移されますが、システムクロックソースは元の主制御ボードに残ります。


  1. 実行されているドメインがあれば、標準的な shutdown(1M) コマンドを使用してこれらのドメインを停止してください。

  2. ユーザー名 ssp でメイン SSP にログインします。

  3. ドメインが停止しているかどうかを確認するために、以下の処理を行います。

    1. イベント検出の監視を停止します。


      ssp% edd_cmd -x stop
      
    2. すべてのシステムボードの電源を切断します。


      ssp% power -off -all
      
    3. すべてのシステムボードの電源を投入します。


      ssp% power -on -all
      
    4. イベント検出の監視を開始します。


      ssp% edd_cmd -x start
      
  4. 以下のように入力して、制御ボードフェイルオーバーを強制します。


    ssp% setfailover -t cb force
    
  5. すべてのドメインに対して bringup(1M) コマンドを実行します。

制御ボードフェイルオーバー情報の取得

メイン SSP 上で showfailover(1M) コマンドを使用すれば、SSP または制御ボードのフェイルオーバー状態と専用接続リンクの状態を知ることができます。SSP と制御ボードの名前も知ることができます。また、JTAG インタフェースとシステムクロックを管理している制御ボードも識別できます。表示されるフェイルオーバー情報の詳細は、「フェイルオーバー状態情報の取得」を参照してください。

以下の例は、主制御ボードに障害がある場合に制御ボードフェイルオーバーについて表示される情報です。


ssp% showfailover  
Failover State:
     SSP Failover: Active
     CB Failover:  Failed
Failover Connection Map:
     Main SSP to Spare SSP thru Main Hub:   GOOD
     Main SSP to Spare SSP thru Spare Hub:  GOOD
     Main SSP to Primary Control Board:     FAILED
     Main SSP to Spare Control Board:       GOOD
     Spare SSP to Main SSP thru Main Hub:   GOOD
     Spare SSP to Main SSP thru Spare Hub:  GOOD
     Spare SSP to Primary Control Board:    FAILED
     Spare SSP to Spare Control Board:      GOOD
SSP/CB Host Information
     Main SSP:                              xf12-ssp
     Spare SSP:                             xf12-ssp2
     Primary Control Board (JTAG source):   xf12-cb1
     Spare Control Board:                   xf12-cb0
     System Clock source:                   xf12-cb1

Hostview を使用して、制御ボードフェイルオーバーのタイプ (完全または部分的) を確認することもできます。Hostview において、JTAG インタフェースとシステムクロックを管理している制御ボードが、文字「J」 (JTAG) と「C」 (システムクロックソース) で示されます。

図 10-1 は、部分的な制御ボードフェイルオーバーの後の Hostview ウィンドウの例です。この例では、1 つの制御ボードが JTAG インタフェースを処理し、もう 1 つの制御ボードがシステムクロックソースとして機能しています。

図 10-1 部分的な制御ボードフェイルオーバーの後の Hostview ウィンドウの例

Graphic

制御ボードフェイルオーバー後の作業

制御ボードフェイルオーバーの発生後、以下の回復作業を行う必要があります。