1


Sun Fire ハイエンドシステムの DR の概要

この章では、Sun Fire ハイエンドサーバーの動的再構成 (DR) 機能の一般的な概念について説明します。


DR の概要

Sun Fire ハイエンドシステムの動的再構成 (DR) 機能を使用すると、Solaris オペレーティングシステムが稼動しているライブドメインのハードウェア構成を、コンピュータを停止せずに変更することができます。DR とホットスワップを組み合わせて使用すれば、サーバーを動作させたまま、ボードを取り付けたり、取り外したりすることもできます。

DR コマンドの実行場所

DR の操作は、Sun Fire ハイエンドサーバーのシステムコントローラ (SC) から System Management Services (SMS) コマンド (addboard(1M)、moveboard(1M)、deleteboard(1M)、rcfgadm(1M)) を使用するか、ドメインから cfgadm(1M) コマンドを使用して実行できます。SMSコマンドを使用したDRの操作方法の詳細は、第 5 章 DR ドメイン手順を参照してください。



注 - DR 操作中に、addboard(1M)、moveboard(1M)、deleteboard(1M)、rcfgadm(1M)、cfgadm(1M) のいずれかのコマンドの実行が失敗すると、対象のボードは元の状態に戻りません。dxs または dca のエラーメッセージが、ドメインのログに出力されます。エラーが回復可能であれば、失敗したコマンドを再試行できます。エラーが回復不能な場合、そのボードを使用するには、ドメインの再起動が必要です。



コマンド行インタフェース (CLI)

DR ソフトウェアには、構成管理プログラムである cfgadm(1M) コマンドを使用するコマンド行インタフェースがあります。DR エージェントには、Sun Management Center ソフトウェアへの遠隔インタフェースもあります。

グラフィカルユーザーインタフェース (GUI)

オプションの Sun Management Center ソフトウェアは、ドメイン管理などの機能に加え、DR 操作用のグラフィカルユーザーインタフェース (GUI) を備えています。コマンド行インタフェースではなく、グラフィカルユーザーインタフェースを使用したい場合、Sun Management Center ソフトウェアを使用してください。

Sun Management Center Platform ソフトウェアを使用するには、システムコントローラボードをネットワークに接続する必要があります。ネットワークに接続すると、コマンド行インタフェースとグラフィカルユーザーインタフェースの両方を表示できます。Sun Management Center ソフトウェアの使用方法は、Sun Management Center ソフトウェアに付属の『Sun Management Center ユーザーマニュアル』を参照してください。システムコントローラをシステムコントローラボードのネットワーク接続につなぐには、使用しているシステムのインストールマニュアルを参照してください。

自動 DR

自動 DR を使用すると、ユーザーの介入なしにアプリケーションが自動的に DR の操作を実行できます。この機能は、Reconfiguration Coordination Manager (RCM) とシステムイベント機能 (sysevent と呼ぶ) を含む拡張 DR フレームワークによって実現されています。RCM は、アプリケーションに固有のロード可能モジュールがコールバックを登録できるようにします。これらのコールバックは、DR 操作前の準備タスク、DR 操作中のエラー回復、または DR 操作後のクリーンアップを実行します。sysevent 機能では、アプリケーションはあらかじめシステムイベントを登録しておくことで、これらについて通知を受けることができます。自動 DR フレームワークは RCM 機能と sysevent 機能を使って、アプリケーションが、資源の構成を解除する前に自動的にそれらを解放したり、新しい資源がドメインに構成されたときに自動的にそれらの資源を獲得できるようにします。

システムの可用性の向上

DR 機能を使用すると、サーバーを停止せずにシステムボードをホットスワップできます。これは、障害が発生したシステムボードの資源をドメインから構成解除して、システムボードをサーバーから切り離せるようにするために使用されます。修理済みボードまたは交換用ボードは、Solaris オペレーティングシステムを停止させることなくドメインに挿入できます。ボードがドメインに挿入されると、DR がボード上の資源を構成してドメインに組み込みます。DR 機能を使用してシステムボードまたはコンポーネントを追加ないし削除した場合、そのボードまたはコンポーネントは常に既知の構成状態のままになります。システムボードとコンポーネントの構成状態の詳細は、第 2 章 DR の状態モデルと条件モデルを参照してください。


DR の概念

この節では、Sun Fire ハイエンドシステムドメインに関する一般的な DR の概念について説明します。SC における DR の概念について詳しくは、『System Management Services (SMS) Dynamic Reconfiguration ユーザーマニュアル』を参照してください。

切り離し可能性

切り離し可能なデバイスは、次の条件を満たしている必要があります。

一部のボードは、その資源を移動できないために切り離すことができません。たとえば、ドメインに CPU ボードが 1 つしかない場合、その CPU ボードは切り離せません。入出力ボードは、起動ドライブを制御している場合は切り離せません。

入出力ボードの代替パスがない場合は、次の方法で可能になります。



注 - デバイスの切り離しが可能かどうか明確でない場合には、購入先にお問い合わせください。



休止

常時メモリー (OpenBoottrademark ROM またはカーネルメモリー) を搭載したシステムボードでの構成解除操作中、オペレーティングシステムは一時停止しますが、これはオペレーティングシステムの「休止」と呼ばれています。この重要な操作段階では、ドメインでのすべてのオペレーティングシステムとデバイスの動作を停止する必要があります。

休止を実行するには、オペレーティングシステムがすべてのプロセス、CPU、およびデバイスの動作を一時的に中断する必要があります。オペレーティングシステムが休止できない場合は、以下のような理由が表示されます。



注 - リアルタイムプロセスによって、休止が妨げられることはありません。



プロセスが中断できない状況は、通常一時的なものです。障害の理由を調べ、オペレーティングシステムがプロセスを中断できない場合には、その操作を再試行します。

一時停止に対して安全なデバイスと一時停止に対して危険なデバイス

DR がオペレーティングシステムを一時停止する場合は、オペレーティングシステムに接続されたデバイスドライバもすべて一時停止する必要があります。ドライバを一時停止できない (または再開できない) 場合、DR 操作は失敗します。

一時停止に対して安全なデバイスは、オペレーティングシステムが休止状態にある間、メモリーへのアクセスもシステムへの割り込みも行いません。ドライバは、オペレーティングシステムの休止をサポートする (一時停止して再開できる) 場合、「一時停止に対して安全な」ドライバです。また、一時停止に対して安全なドライバでは、一時停止要求が正常に完了すると、一時停止要求が出されてそのデバイスがオープンされている場合でも、そのドライバが管理するデバイスはメモリーにまったくアクセスしません。

一時停止に対して危険なデバイスでは、オペレーティングシステムが休止状態でも、メモリーへのアクセスやシステムへの割り込みが行われてしまいます。

DR では、dr.conf ファイルにある危険なドライバリストを使用して、DR 操作中に危険なデバイスがメモリーにアクセスしたり、オペレーティングシステムへの割り込みを行ったりできないようにします。dr.conf ファイルは次のディレクトリにあります。/platform/SUNW,Sun-Fire-モデル番号/kernel/drv/ ここで、モデル番号には、15000 などのシステム名を指定します。危険なドライバリストとは、dr.conf ファイル内の次の形式のプロパティーのことです。

unsupported-io-drivers="driver1","driver2","driver3";

DR は、オペレーティングシステムを一時停止してメモリーコンポーネントの構成を解除できるように、一時停止の準備中にこのリストを読み取ります。危険なドライバリスト内でアクティブドライバが検出されると、DR 操作は中止され、エラーメッセージが返されます。このメッセージには、危険なアクティブドライバの識別情報が示されています。次のいずれか、または複数の操作を行って、そのデバイスの使用を手動で中止する必要があります。

  • 該当デバイスを使用しているプロセスを強制終了する
  • modunload(1M) コマンドを使用して該当ドライバの読み込みを解除する
  • ケーブルを切り離す (デバイスの種類によって異なる)

デバイスの使用を中止したら、DR 操作に移ることができます。



注 - デバイスが一時停止に対して安全かどうか明確でない場合には、購入先にお問い合わせください。



接続点

接続点とは、ボードスロットとスロット内に取り付けられているシステムボード、およびボードに接続されているあらゆるデバイスをまとめて表す用語です。DR では、ボード、ボードスロット、および接続点の状態を表示できます。占有装置」という用語は、ボートとそれに接続されているデバイス全体を意味します。

  • ボードスロット (受容体とも呼ばれる) には、ホストマシンから占有装置を電気的に分離する機能があります。ソフトウェアはボードスロットを低電力モードにすることができます。
  • ボードスロットは、スロット番号に従って名前を付けることも、匿名 (たとえば SCSI チェーン) にすることもできます。
  • 占有入出力ボードには、インタフェースケーブルによって接続されたすべての外部記憶装置が含まれます。

接続点には、次に示す 2 つのタイプの名前があります。

  • 物理接続点は、スロットのソフトウェアドライバと位置を示します。物理接続点名の例を次に示します。
  • /devices/pseudo/dr@0:SBx (スロット 0 の CPU/メモリーボードの場合)
    
     
    
    /devices/pseudo/dr@0:IOx (スロット 1 の入出力ボードまたは最大 CPU ボードの場合)
    

ここで、x は特定ボードの拡張ボード番号を示します。たとえば、Sun Fire 15K システムでは 0〜17、Sun Fire 12K システムでは 0〜8 です。


注 - CPU/メモリーボードを取り付けることができるのはスロット 0 のみ、入出力ボードと最大 CPU ボードはスロット 1 のみです。



  • 論理接続点は、システムによって物理接続点を参照するために作成された簡易名です。論理接続点は、次のどちらかの形式をとります。
  • SBx (スロット 0 の CPU/メモリーボードの場合)
    
    または
    
    IOx (スロット 1 の入出力ボードまたは最大 CPU ボードの場合)
    

使用可能な全論理接続点のリストを取得するには、cfgadm(1M) コマンドを -l オプション付きで実行します。

条件と状態

状態とは、ボードスロットまたはスロット内に取り付けられた占有装置の操作状態をいいます。条件とは、接続点の操作状態をいいます。cfgadm(1M) コマンドは、9 つのタイプの状態と条件を表示できます。システムボードとコンポーネントの条件と状態の説明は、第 2 章 DR の状態モデルと条件モデルを参照してください。

DR の操作

ボードに関連する操作は大きく分けて、接続、構成、構成解除、および切り離しの 4 種類です。ドメインに追加するボードは、まず接続され、続いて構成されます。ドメインから削除するボードは、まず構成解除され、続いて切り離されます。

接続操作中、システムはスロットに電力を供給し、オペレーティングシステムがボードの温度の監視を開始します。

構成操作中、オペレーティングシステムはボードに機能上の役割を割り当てて、そのボードのデバイスドライバとボードに接続されているデバイスのデバイスドライバをそれぞれ読み込みます。

構成解除操作中、オペレーティングシステムからボードが論理的に切り離されて、関連するデバイスドライバがオフラインになります。環境の監視は続けられますが、ボード上のデバイスをシステム用に使用することはできません。

切り離し操作中、ボードの監視は停止されてスロットの電源は切断されます。

使用中のボード (構成されているボード) への電源供給を停止するには、まず使用を停止 (構成解除) し、続いてボードをドメインから切り離します。新しいシステムボードまたはアップグレードしたシステムボードをスロットに挿入したら、そのボードを接続し、構成します。

cfgadm(1M) コマンドは、1 つのコマンドで接続と構成 (または構成解除と切り離し) を実行できます。ボードの接続と構成を 1 つのコマンドで実行する方法は、ボードの追加を参照してください。ボードの構成解除と切り離しを 1 つのコマンドで実行する方法は、ボードの削除を参照してください。

cfgadm(1M) コマンドでは、必要であれば、各操作 (接続、構成、構成解除、または切り離し) を個別に実行できます。

ホットプラグハードウェア

ホットプラグのボードとモジュールには、コンタクトボードまたはモジュールに電力を供給してからデータピンに電流を通す特殊なコネクタがあります。ホットプラグコネクタのないボードとデバイスは、システムの実行中には着脱することはできません。

Sun Fire ハイエンドサーバーで使用される入出力ボードと CPU/メモリーボードは、ホットプラグデバイスです。周辺装置用電源などの一部のデバイスはホットプラグモジュールではないため、システムの実行中には取り外せません。


動的システムドメイン

Sun Fire ハイエンドサーバーは、システムボードスロットを論理的および物理的にグループ分けした複数の動的システムドメインに分割できます。各ドメインは、ハードウェアパーティションに電気的に分離されるため、あるドメインで障害が発生しても、他のドメインには影響することはありません。

ドメイン構成は、SC に存在するプラットフォーム構成データベース (PCD) 内のドメイン構成テーブルによって決定されます。ドメインテーブルは、システムボードスロットを複数のドメインに論理的に分割する方法を規定します。ドメイン構成とは、予定のドメイン構成を表します。したがって、構成には空のスロットや占有状態のスロットを含めることができます。

特定のドメインで使用できるスロットの数は、システムコントローラで維持される使用可能構成要素リストによって制御されます (使用可能構成要素リストの詳細は、『System Management Services (SMS) 管理者マニュアル』を参照してください) 。ドメインに割り当てられたスロットはそのドメインには見えますが、他のドメインからは使用できず、また見えません。逆に言えば、スロットを他のドメインに割り当てて接続するには、そのスロットをそのドメインから切り離して割り当てを解除する必要があります。

論理ドメインとは、ドメインに属する一連のスロットをいいます。物理ドメインとは、物理的に相互接続された一連のボードをいいます。論理ドメインのメンバーのスロットが、必ずしも物理ドメインに含まれるとは限りません。

ドメインが起動したら、システムボードと空スロットを論理ドメインに割り当てたり、論理ドメインから割り当て解除したりできます。ただし、オペレーティングシステムから要求があるまでは、物理ドメインの一部にすることはできません。

ドメインに割り当てていないシステムボードやスロットは、それらを使用可能構成要素リストに示されている全ドメインで使用できます。プラットフォーム管理者はこれらのボードをドメインに割り当てることができます。使用可能構成要素リストをシステムコントローラに設定して、適切な特権を持つユーザーが使用可能なボードをドメインに割り当てられるようにすることもできます。


コンポーネントタイプ

DR を使用すると、いくつかのタイプのコンポーネントを構成または構成解除できます。

コンポーネントタイプ

説明

cpu

個々の CPU

memory

ボード上のすべてのメモリー

pci

すべての入出力デバイス、コントローラ、またはバス



入出力ボードでの DR

デバイスが接続されている入出力ボードを追加または削除するときには、注意が必要です。入出力デバイスのあるボードを削除するには、まずその全デバイスを閉じて、その全ファイルシステムをマウント解除する必要があります。

デバイスが接続されている入出力ボードをドメインから一時的に削除して、入出力デバイスのある他のボードを追加する前に再び追加する場合、再構成は不要であり実行する必要はありません。この場合、ボードデバイスへのデバイスパスはそのままです。

入出力デバイスで発生する問題の解決

  • showdevices(1M) を SC に対して実行して、デバイスの状態と使用法を判断する。
  • ボードに接続したディスクミラーリングされたデバイスにアクセスしている場合は、デバイスを再構成して、他のシステムボード上のコントローラによってアクセスできるようにする。
  • ファイルシステムをマウント解除する。
  • マルチパスデータベースをボード常駐パーティションから削除する。マルチパスデータベースの位置は、ユーザーにより明示的に選択され、また変更が可能です。
入出力デバイスに関する特殊な指示は、『System Management Services (SMS) Dynamic Reconfiguration ユーザーマニュアル』を参照してください。
  • ボリュームマネージャーが使用する占有領域すべてを削除する。デフォルトでは、ボリュームマネージャーは、それが制御する各デバイス上の占有領域を使用します。このようなデバイスは、切り離し前にボリュームマネージャーの制御から除外しておく必要があります。
  • rm6 または rdacutil コマンドを使用して、RSM 2000 コントローラをすべてオフラインにする。
  • スワップ構成からディスクパーティションを削除する。
  • 切り離しが安全ではないデバイスがボード上に存在する場合は、そのデバイスのインスタンスをすべて閉じ、modunload(1M) を使用してドライバを読み込み解除にする。
  • ファイルシステムのマウント解除は、NFS クライアントシステムに影響する場合があります。


注 - デバイスまたは raw パーティションを直接開くすべてのプロセスを終了するか、またはそれらのプロセスに対してボード上の開いたデバイスを閉じるように指示する。ndd(1M) コマンドを使用してネットワークドライバの構成パラメタを構成した場合、そのパラメタは DR 操作後、存続しないことがあります。/etc/system ファイルまたは driver.conf ファイルを特定のドライバに使用して、パラメタを永続的に設定してください。



Golden IOSRAM

ドメイン内のすべての入出力ボードは、いずれも IOSRAM デバイスを 1 つ備えています。ただし、SC とドメインの通信に使用されるのは、一度に 1 つの IOSRAM デバイスだけです。この IOSRAM デバイスは、Golden IOSRAM と呼ばれます。Golden IOSRAM には、SC とドメインの通信に使用される「トンネル」があります。DR では入出力ボードを削除できるため、使用中の Golden IOSRAM を停止して、他の IOSRAM デバイスを Golden IOSRAM にする処理が必要になることがあります。この処理は「トンネルスイッチ」と呼ばれ、使用中の Golden IOSRAM が DR によって構成解除されるたびに実行されます。

通常、ドメインの起動直後には、そのドメイン内で最も小さい番号を割り当てられた入出力ボードが Golden IOSRAM になります。

hsPCI+ 入出力ボードでの DR

DRは、hsPCI+ 入出力ボードの動的再構成をサポートしています。各 hsPCI+ 入出力ボードは、XMITS ASIC を 2 つとホットプラグ対応の hsPCI スロットを4つ搭載しています。


常時メモリーと非常時メモリー

ボードを削除するには、まずオペレーティングシステムがそのボード上のメモリーを無効にする必要があります。ボードの無効化とは、その非常時メモリーの内容をスワップ空間にフラッシュして、その常時メモリーの内容 (つまり、カーネルと OpenBoottrademark ROM ソフトウェア) を別のメモリーボードにコピーすることをいいます。

常時メモリーを再配置するときは、ドメインのオペレーティングシステムを一時的に休止する必要があります。休止期間は、ドメインの入出力構成と実行中の作業負荷によって異なります。

オペレーティングシステムは常時メモリーのあるボードを切り離すときにのみ休止されるため、常時メモリーの存在する場所を認識把握しておき、ドメインの操作に重大な影響を与えないようにする必要があります。常時メモリーの容量を確認するには、cfgadm(1M) コマンドを -av オプション付きで実行します。常時メモリーを搭載したボードを無効化する場合、オペレーティングシステムは十分な大きさの利用可能なメモリブロック (ターゲットメモリー) を見つけ、その中に常時メモリー (ソースメモリー) の現在の内容をコピーする必要があります。

ターゲットメモリーの制約

常時メモリーに格納されている内容をコピーできるメモリー領域がターゲットドメインに存在しないと、DR メモリー操作は許可されないことがあります。

訂正可能なメモリーエラー

訂正可能なメモリーエラーとは、システムボードのメモリー (つまり、その 1 つまたは複数のデュアルインラインメモリーモジュール (DIMM)、あるいはハードウェア相互接続の一部) に障害があって、交換が必要であることを示します。SC は、訂正可能なメモリーエラーを検出すると、レコード停止ダンプを開始して診断データを保存しますが、これにより DR 操作が妨げられる可能性があります。

訂正可能メモリーエラーによるレコード停止が発生したときには、DR 操作を開始する前に、レコード停止ダンプを完了させてください。

障害の発生したコンポーネントによって訂正可能なメモリーエラーが繰り返し報告される場合、SC は複数のレコード停止ダンプを実行します。この場合は、SC のダンプ検出メカニズムを一時的に使用不可にして、現在のダンプを終了してから、DR 操作を開始する必要があります。DR 操作が終了したら、ダンプ検出を再度使用可能にする必要があります。


COD (Capacity on Demand)

COD オプションを使用して、Sun Fire ハイエンドシステムに取り付けた COD CPU/メモリーボードに CPU リソースを追加できます。システムは、最小数の標準 (アクティブ) CPU/メモリーボード構成で出荷されますが、たとえば Sun Fire 15K サーバーでは、標準 CPU/メモリーボードと COD CPU/メモリーボードの両方を混在させて、最大で 18 個まで取り付けることができます。システムの各ドメインには、アクティブな CPU が少なくとも 1 つ必要です。

COD ボードでの DR

DR を使用して、標準の CPU/メモリーボードの場合と同じ方法で、COD ボードをドメインに取り付けたり、取り外したりできます。

該当する RTU (right-to-use) ライセンスを購入してからでないと、COD ボード上の CPU を使用できません。COD RTU ライセンスごとに、COD RTU ライセンスキーを取得できます。このキーにより、単一のシステムの COD ボードで特定の数の CPU を使用できるようになります。DR を使用してドメインに COD ボードを構成する場合は常に、COD ボードの各アクティブ CPU を有効にするのに十分な数の RTU ライセンスが対象のドメインにあることを確認してください。COD ボードを追加する際、対象ドメインに対して十分な RTU ライセンスがない場合、ドメインで有効にできない各 CPU に関するステータスメッセージが表示されます。

COD オプションについての詳細は、『System Management Services (SMS) 管理者マニュアル』を参照してください。


Solaris 8 オペレーティングシステムを実行しているドメインでの DR の有効化

Solaris 9 4/03 オペレーティングシステムは DR の全機能をサポートしていますが、前のバージョンの Solaris オペレーティングシステムの一部は、入出力ボードの再構成をサポートしていませんでした。

Solaris 8 2/02 ソフトウェアは、ドメインでの DR の全機能をサポートしている Solaris 8 オペレーティングシステムの最初のリリースです。ただし、ドメインには適切なパッチと新しいカーネルアップデートのインストールが必要で、システムコントローラ (SC) には SMS 1.3 以降の SMS ソフトウェアのインストールが必要です。

Solaris 8 ソフトウェアを実行しているドメイン上の DR を有効にする方法の詳細は、以下の Web サイトを参照してください。

http://www.sun.com/servers/highend/dr_sunfire


DR 概念図

DR では、システムを停止せずに、システム回路基板の切り離し、再取り付けが可能です。DR を使用すれば、システムが動作状態のまま、システム資源を追加あるいは削除できます。

システム資源の再構成を理解するために、次の図に示す Sun Fire 15K システムの構成を考えてみましょう。



注 - 次の図は、Sun Fire 15K システムに対する DR 操作を示しています。Sun Fire 12K システムの場合も、ボードの最大数 (0〜8 番の 9 つ) を除けば、実行するコマンドなどすべての点で共通です。



ドメイン A には、システムボード 0 と 2、入出力ボード 2 が含まれています。ドメイン B には、システムボード 1 と 3、および入出力ボード 1 と 3 と 4 が含まれています。

図 1-1 再構成前のドメイン A および B

システムボード 4 と入出力ボード 0 をドメイン A に割り当ててから、入力ボード 4 をドメイン B からドメイン A に移動するには、Sun Management Center ソフトウェアの GUI を使います。または、各ドメインで CLI を使って次の手順を手動で実施することもできます。

1. ドメイン B のコマンド行に次のコマンドを入力して、システムボード 4 を切り離します。

# cfgadm -c disconnect -o nopoweroff,unassign IO4

2. ドメイン A でコマンド行に次の単一のコマンドを入力して、ドメイン A にシステムボード 4 と入出力ボード 0 と 4 を割り当て、接続し、構成します。

# cfgadm -c configure SB4 IO0 IO4

次のシステム構成はこの結果です。ボードの接続方法だけが変更されて、キャビネット内のボードの物理的配置は変わっていません。

図 1-2 再構成後のドメイン A および B