第2章 |
|
この章では、DR を使用する前に理解しておくべき DR の概念について説明します。
ハイエンドサーバーのシステムコントローラ (SC) で、SMS DR コマンドを使って DR 操作を実行する場合は、第 5 章の SC からの SMS DR 操作 (ハイエンドシステムのみ)を必ずお読みください。この章の内容と第 5 章の内容は一部重複していますが、説明の視点が異なっています。両方の章をお読みいただくことで、DR の機能の全体像を把握しやすくなります。
注 - UltraSPARC IV+ ボードには、デュアルコア CPU が搭載されています。このマニュアルに記載されている CPU やプロセッサは、シングルコアタイプかダブルコアタイプのどちらか一方を指している場合があります。このマニュアルに記載されているすべての手順は、この両方のタイプに共通です。 |
Sun Fire システムは、いくつかのドメインに分割できます。各ドメインは、そのドメインに割り当てられるシステムボードスロットに対応しています。これらのドメインは、いくつかのハードウェアパーティションに電気的に分離されます。したがって、あるドメインで障害が発生しても、サーバーのほかのドメインに影響はありません。
各ドメインの構成は、SC 上の構成データベース内で決定されます。構成データベース (ハイエンドシステムの場合、プラットフォーム構成データベース (PCD)) は、システムボードスロットを複数のドメインに論理的に分割する方法を制御します。ドメイン構成とは、予定のドメイン構成を表します。したがって、ドメイン構成には、空のスロットと占有状態のスロットを含めることができます。物理ドメインは論理ドメインによって決定されます。
特定のドメインで使用できるスロットの数は、ACL で制御されます。ACL は、ハイエンドシステムドメインでは使用可能なコンポーネントのリスト、ミッドレンジシステムドメインではアクセス制御リストを意味します。すべてのドメインの ACL は、SC で管理されます。スロットの状態を変更するには、まずスロットをドメインに割り当て、使用可能な状態にする必要があります。ドメインに割り当てられたスロットはそのドメインには見えますが、他のドメインからは使用できず、また見えません。逆に言えば、スロットをほかのドメインに割り当てて接続するには、あらかじめそのスロットを元のドメインから切り離し、割り当てを解除しておく必要があります。
論理ドメインとは、ドメインに属する一連のスロットのことです。物理ドメインとは、物理的に相互接続された一連のボードのことです。論理ドメインのメンバーのスロットが、必ずしも物理ドメインに含まれるとは限りません。ドメインが起動したら、システムボードと空スロットを論理ドメインに割り当てたり、論理ドメインから割り当て解除したりできます。ただし、オペレーティングシステムから要求があるまでは、物理ドメインの一部にすることはできません。いずれのドメインにも割り当てられていないシステムボードやスロットは、すべてのドメインで使用できます。プラットフォーム管理者は、これらのボードをドメインに割り当てることができます。SC で ACL の設定を行い、適切な特権を持つユーザーが使用可能なボードをドメインに割り当てられるようにすることもできます。
「接続点」とは、ボードやデバイスとそれらが取り付けられているスロット、およびボード上のあらゆるコンポーネントをまとめて表す用語です。スロットは、「受容体」とも呼ばれます。
Sun Fire システムは、以下の接続点をサポートします。
注 - 多くのユーザーは、ボードやデバイスのステータスの変化しか確認しません。そこで、このマニュアル内の手順では簡略化のために、ボード接続点を「ボード」、PCI 接続点を「PCI カード」、コンポーネント接続点を「CPU またはメモリーモジュール」と表記することがあります。ただし、混乱を招く可能性のある箇所では、正式な名称を使用します。 |
「占有装置」とは、ボードとそれに接続されているデバイス (インタフェースケーブルで接続されているすべての外部記憶装置を含む) の組み合わせを指す用語です。
ボードスロットには、スロット番号に従って名前を付けることができます。また、SCSI チェーンで使用する場合などは、匿名にすることもできます。
すべての使用可能な論理接続点のリストを取得するには、ドメイン内で以下のコマンドを実行します。
Sun Fire システムは、接続点のクラスをサポートします。DR ユーザーは、「sbd」と「pci」の 2 つのクラスについて知る必要があります。
接続点とそれぞれに関連付けられているボードのタイプのリストを表示するには、スーパーユーザーになって、以下のコマンドを実行します。
0 はノード 0、SB はシステムボード、IO は入出力ボード、x は特定のボードのボード番号または拡張ボード番号です。システムボードと入出力ボードには、0 から 17 までの番号が付けられています。
注 - システムボードを取り付けることができるのはスロット 0 のみです。入出力ボードや Max CPU ボードを取り付けることができるのはスロット 1 のみです。 |
ハイエンドシステムの論理接続点は、以下の 2 つのいずれかの形式です。
N0 はノード 0、SB はシステムボード、IB は入出力ボード、x はスロット番号 (システムボードは 0 から 5、入出力ボードは 6 から 9) です。
ミッドレンジシステムの論理接続点は、以下の 2 つのいずれかの形式です。
cfgadm(1M) コマンドを使って、接続点を変更できます。以下の変更が可能です。
状態については、以下の節で説明します。接続点について詳細は、cfgadm(1M) のマニュアルページを参照してください。
この節では、ボード、スロット、コンポーネント、および接続点の状態と条件について説明します。
cfgadm(1M) コマンドでは、9 種類の状態および条件を表示できます。詳細は、コンポーネントの状態および コンポーネントの条件を参照してください。
注 - 以下に示すボードとボードスロットに関する情報は、それらに取り付けられている PCI カードと PCI バスにも適用されます。 |
ボードスロットにボードが取り付けられていない場合、スロットは空の状態 (empty) になります。スロットにボードが取り付けられている場合、ボードは切り離された状態 (disconnected) または接続された状態 (connected) になります。
![]() |
注意 - 接続された状態 (connected) のボードや、電源が入ったままで切り離された状態 (disconnected) のボードを物理的に取り外すと、オペレーティングシステムがクラッシュして、システムボードに永続的な損傷が生じるおそれがあります。 |
接続された状態 (connected) のボードは、構成された状態 (configured) または構成解除された状態 (unconfigured) です。切り離された状態 (disconnected) のボードは、常に構成解除された状態 (unconfigured) です。
スロット (ボードが取り付けられているかどうかを問わない) は、特定のドメインに割り当てられています。しかし、スロットを使用できるようにハードウェアが構成されていません。 |
|
スロットに取り付けられたボードが、割り当て先のドメインによって実際に使用されています。アクティブなボードを再割り当てすることはできません。 |
ボードは、unknown、ok、または failed のいずれかの条件になります。ボードが取り付けられているスロットが、unusable に指定されている場合があります。
ボードとは違って、CPU やメモリーモジュールは、個別に接続したり切り離したりできません。したがって、こうしたコンポーネントはすべて接続された状態 (connected) になります。
接続された状態のコンポーネントは、構成された状態 (configured) または構成解除された状態 (unconfigured) になります。
CPU またはメモリーモジュールは、unknown、ok、または failed のいずれかの条件になります。
切り離し可能なデバイスとは、以下の規則を満たすデバイスのことです。
一部のボードは、そのリソースを移動することができないので、切り離すことができません。たとえば、ドメインに CPU ボードが 1 つしかない場合、この CPU ボードは切り離せません。また、起動ドライブを制御している入出力ボードは切り離せません。
入出力ボードに代替パスがない場合は、以下のいずれかの方法で切り離すことができます。
ボードを削除するには、まずオペレーティングシステムがそのボード上のメモリーを空にする必要があります。ボードの無効化には、非永続メモリーの内容をスワップ空間にフラッシュし、永続メモリーの内容 (つまり、カーネルと OpenBoot PROM ソフトウェア) を別のメモリーボードにコピーすることが伴います。
永続メモリーを再配置するときは、ドメインのオペレーティングシステムを一時的に休止する必要があります。休止期間は、ドメインの入出力構成と実行中の作業負荷によって異なります。
オペレーティングシステムは永続メモリーのあるボードを切り離すときにのみ休止されるため、永続メモリーの存在する場所を把握しておき、ドメインの操作に重大な影響を与えないようにするべきです。永続メモリーの容量を表示するには、cfgadm(1M) コマンドを -av オプション付きで実行します。永続メモリーを搭載したボードを無効にする場合、オペレーティングシステムは十分な容量の使用可能メモリーブロック (ターゲットメモリー) を見つけ出して、そこに永続メモリー (ソースメモリー) の現在の内容をコピーする必要があります。
ユーザープロセスは、メモリーをスワップデバイスに追い出す (ページアウト) ことにより、メモリーを解放できます。しかし、永続メモリー上の Solaris カーネルは、この方法では解放できません。代わりに、cfgadm は、コピーと名前の変更という方式を使用してメモリーを解放します。OS が適切なターゲットボード (移動対象の永続メモリーを十分に格納できるメモリー容量があるボード) を検出すると、DR ソフトウェアにより、以下の手順が実行されます。
1. ターゲットボード上のメモリーをスワップに追い出して (ページアウト)、空にします。
3. ソースボードの内容 (永続メモリー) をターゲットボードにコピーします。これが、「コピーと名前の変更」操作の「コピー」部分です。
4. ハードウェアを再プログラムして、ソースボードとターゲットボードのメモリーアドレス範囲をスワップします。これが、「コピーと名前の変更」操作の「名前の変更」部分です。
システムメモリーが複数のシステムボード上でインタリーブされている場合、システムボードを動的に再構成することはできません。PCI カードと入出力ボードは、メモリーのインタリーブが行われているかどうかに関係なく、動的に再構成することができます。
ハイエンドシステムでのメモリーインタリーブについては、『Sun Fire High-End Systems Administration Manual』を参照してください。ミッドレンジシステムの場合、setupdomain コマンドの interleave-scope パラメタを参照してください。これについては、『Sun Fire ミッドレンジシステムプラットフォーム管理ガイド』と『Sun Fire ミッドレンジシステムコントローラコマンドリファレンスマニュアル』に記載されています。
修正可能なメモリーエラーは、システムボード上のメモリー (単一または複数の DIMM (Dual Inline Memory Module) やハードウェアの相互接続部分) に障害があり、修復が必要な状態である可能性があることを示しています。SC は、修正可能なメモリーエラーを検出すると、診断データの保存を目的としたレコード停止ダンプを開始します。このため、DR 操作に影響が出る場合があります。
修正可能なメモリーエラーによりレコード停止が発生した場合は、レコード停止ダンプ処理が完了してから、DR 操作を開始します。
障害の発生したコンポーネントから修正可能なメモリーエラーに関するメッセージが繰り返し報告されると、SC はレコード停止ダンプを複数回実行します。この場合は、SC 上のダンプ検出機構を一時的に無効にし、実行中のダンプ処理が完了してから DR 操作を開始することをお勧めします。DR 操作が完了したら、ダンプ検出機構を再度有効にします。
永続メモリー (OpenBoot PROM またはカーネルメモリー) を搭載したシステムボードでの構成解除操作中、オペレーティングシステムは一時停止します。これは、オペレーティングシステムの「休止」と呼ばれています。この重要な操作段階では、ドメインのすべてのオペレーティングシステムとデバイスの動作を停止する必要があります。
ボードに永続メモリーが搭載されているかどうかを簡単に判定するには、以下のコマンドを実行します。
ミッドレンジシステム上のシステムボード 0 (ゼロ) を示す次のような出力が表示されます。
N0.SB0::memory connected configured ok base address 0x0, 4194304 KBytes total, 668072 KBytes permanent |
オペレーティングシステムを休止できない場合、以下のような原因が考えられます。
プロセスが中断できない状況は、通常、一時的なものです。障害の原因を調べ、オペレーティングシステムがプロセスを中断できない状態になった場合は、その操作を再試行します。
休止中、システムは停止し、ネットワークパケットなどの外部イベントに応答しなくなります。休止期間は、2 つの要因によって決定されます。1 つは停止する必要がある入出力デバイスとスレッドの数、もう 1 つはコピーする必要があるメモリーの量です。通常、必要な休止期間は入出力デバイスの数によって決まります。これは、入出力デバイスを一時停止または一時停止解除する必要があるからです。通常、休止状態は 2 分より長く続きます。
休止にはかなりの影響力があります。したがって、cfgadm は、休止を行う前に確認を要求します。次のように入力するとします。
Sun Management Center を使って DR 操作を実行する場合は、ポップアップウィンドウにこのプロンプトが表示されます。
DR によってオペレーティングシステムが一時停止する場合、オペレーティングシステムに接続されたデバイスドライバも一時停止する必要があります。ドライバを一時停止できない (または再開できない) 場合、DR 操作は失敗します。
一時停止に対して安全なデバイスは、オペレーティングシステムが休止状態にある間、メモリーへのアクセスもシステムへの割り込みも行いません。オペレーティングシステムの休止をサポートする (オペレーティングシステムを一時停止後、再開できる) ドライバは、一時停止に対して安全です。また、一時停止に対して安全なドライバでは、一時停止要求が正常に完了すると、このドライバの管理下のデバイスは、一時停止要求が出された時点で開かれた状態にある場合でも、メモリーへのアクセスを試みません。
一時停止に対して危険なデバイスは、オペレーティングシステムが休止状態にあっても、メモリーへのアクセスやシステムへの割り込みを実行できます。
ハイエンドシステムでの DR では、dr.conf ファイルにある「危険なドライバリスト」を使って、DR 操作中に危険なデバイスがメモリーにアクセスしたりオペレーティングシステムへの割り込み処理を行なったりするのを防ぎます。dr.conf ファイルは /platform/SUNW,Sun-Fire-model_number/kernel/drv/ ディレクトリにあります (model_number は 15000 などのマシン名)。危険なドライバリストとは、dr.conf ファイル内の以下の形式のプロパティーのことです。
DR は、メモリーコンポーネントの構成を解除するため、オペレーティングシステムの一時停止の準備中にこのリストを読み取ります。危険なドライバリスト内でアクティブドライバが検出されると、DR 操作は中止され、エラーメッセージが表示されます。このメッセージには、危険なアクティブドライバの識別情報が含まれています。以下のタスク (1 つでも複数でも可) を実行して、デバイスの使用を手動で中止する必要があります。
入出力デバイスが接続されているボードの追加と削除は、慎重に行う必要があります。入出力デバイスが接続されているボードを削除するには、そのすべてのデバイスを終了し、すべてのファイルシステムのマウントを解除する必要があります。
入出力デバイスが接続されているボードをドメインから一時的に削除し、入出力デバイスが接続されているほかのボードを追加する前に再び追加する場合、再構成は不要です。この場合、ボードデバイスのデバイスパスはそのままです。一方、入出力デバイスが接続されている第 1 のボードを削除してから、入出力デバイスが接続されている第 2 のボードを追加し、第 1 のボードを再び追加する場合、第 1 のボードのデバイスパスは変更されているので、再構成が必要です。
注 - ドメイン内の入出力ボードで DR 操作を実行する前に、このドメインで使用可能な CPU が 2 つ以上あることを確認します。さらに、そのうちの少なくとも 1 つの CPU がシステムボード上にあり、プロセスが 1 つも割り当てられていないことを確認します。プロセスの割り当てについては、pbind(1M) のマニュアルページを参照してください。 |
ハイエンドシステムドメイン内のすべての入出力ボードは、IOSRAM デバイスを備えています。ただし、SC とドメインの通信で一度に使用されるのは、「Golden IOSRAM」と呼ばれる IOSRAM デバイス 1 つだけです。この Golden IOSRAM には、SC とドメインの通信に使用される「トンネル」があります。DR では入出力ボードを削除できるため、使用中の Golden IOSRAM を停止して、ほかの IOSRAM デバイスを Golden IOSRAM にする処理が必要になることがあります。この処理は「トンネルスイッチ」と呼ばれ、使用中の Golden IOSRAM が DR によって構成解除されるたびに実行されます。通常、ドメインの起動時には、ドメイン内でもっともボード番号の小さい入出力ボードが最初の Golden IOSRAM として選択されます。
DR は、ハイエンドシステムの入出力ボード上の入出力バスと、任意の PCI カード、およびそれらを取り付ける MaxCPU ボードをサポートします。DR は、hsPCI+ カードの動的再構成をサポートします。hsPCI+ カードには、XMITS ASIC が 2 つずつ、ホットプラグ可能な hsPCI+ スロットが 4 つずつあります。
Sun Fire ミッドレンジシステムの DR は、SAI/P (BugID 4466378) も HIPPI/P のいずれもサポートしません。これまでのリリースでは、SunHSI/P ドライバをサポートしていませんでしたが、このサポートを妨げていたバグ 4496362 は、パッチ 106922 (2.0) と 109715 (3.0) で修正されました。詳細は、SunSolve のサイトとdevfsadm(1M) のマニュアルページを参照してください。
注 - 1 つ以上の UltraSPARC IV+ システムボードで構成されたシングルパーティションのミッドレンジシステムでは、DR の接続操作や構成操作を使って、ドメインに入出力ボードを追加することはできません。これは、入出力ボードをテストできる二次ドメインが存在しないからです。しかし、このようなシステムの入出力ボード上で、DR の構成解除コマンドや切り離しコマンドを実行することは可能です。詳細は、ボードのテストと、Firmware Release 5.19.0 の『Sun Fire ミッドレンジシステムプラットフォーム管理ガイド』を参照してください。 |
以下の制限事項は、CompactPCI アセンブリ関連の再構成に対して適用されます。
CompactPCI カードを構成解除すると、自動的に切り離しも行われます。自動構成機能が有効になっている場合、CompactPCI カードを接続すると構成も行われます。
自動構成機能が無効になっている場合には、手動で構成する必要があります。
スロットのシステムボードが使用可能で、論理ドメインに割り当てられていない場合、DR はボードの接続操作中に、ドメインにボードスロットを割り当てようとします。スロットの割り当てが完了すると、DR は SC に電源をオンにしてボードをテストするように要求します。ボードのテストが完了すると、DR は SC にボードを電気的にシステムに接続し、物理ドメインに割り当てるように要求します。すると、オペレーティングシステムにより、ボード上のコンポーネントの検査が行われます。
注 - DR 操作中に cfgadm(1M) コマンドの実行が失敗すると、対象のボードは元の状態に戻りません。エラーが回復可能であれば、失敗したコマンドを再試行できます。エラーが回復不能な場合、対象のボードを使用するには、ドメインを再起動する必要があります。 |
ボードが挿入される前の接続点の状態と条件は、以下のとおりです。
ボードが物理的に挿入されると、状態と条件は以下のように変わります。
接続点が論理的に接続されると、状態と条件は以下のように変わります。
構成操作中、ボードスロットの状態が disconnected であれば、DR はボードスロットを接続しようとします。さらに、接続操作中に作成されたデバイスツリー をたどります。DR は必要に応じて Solaris OS のデバイスツリーノードを作成して、デバイスドライバを接続します。
CPU が CPU リストに追加され、メモリーは初期化されて、システムメモリープールに追加されます。構成機能が正常に完了すると、CPU とメモリーが使用可能な状態になります。
入出力デバイスの場合は、mount(1M) コマンドと ifconfig(1M) コマンドを実行してからでないと、デバイスを使用できません。
cfgadm を使ってボードをドメイン内に構成すると、そのボードは自動的に接続され、構成されます。
切り離し操作中、DR フレームワークは SC との通信を通じて、システムボードが物理ドメインから削除されるように、相互接続をプログラミングします。さらに、構成解除操作に関連するタスクを実行しようとします。
ボードは、電源を切断しなくても、切り離された状態にすることができます。ただし、ボードをスロットから取り外すときは、ボードの電源を切断し、切り離された状態にする必要があります。
ボードが切り離されると、状態と条件は以下のように変わります。
構成解除操作は、永続メモリーの有無によって、単一の操作か、異なる 2 つの操作になります。システムボードに永続メモリーが搭載されている場合、DR は構成解除操作の前に、メモリーの内容を指定のボードからドメイン内の別のターゲットボード上の使用可能なメモリーに移動します。永続メモリーを搭載したボードについて詳細は、永続メモリーと非永続メモリーを参照してください。
DR では、システムを停止せずにシステム回路基盤を切り離し、接続しなおすことができます。DR を使用すれば、システムを稼働させた状態で、システムリソースを追加したり削除したりできます。
以下は Sun Fire ハイエンドシステムの例ですが、基本的な考え方はミッドレンジシステムにも共通しています。
注 - Sun Fire E25K システムと Sun Fire 15K システムでは、同時に 18 枚までのシステムボードと入出力ボード (番号 0 〜 17) をサポートします。 |
ドメイン A には、システムボード 0 と 2、入出力ボード 2 があります。ドメイン B には、システムボード 1 と 3、入出力ボード 1、3、および 4 があります。
ドメイン A にシステムボード 4 と入出力ボード 0 を割り当て、ドメイン B からドメイン A へ入出力ボード 4 を移動するには、Sun Management Center ソフトウェアの GUI を使用できます。または、各ドメインで cfgadm(1M) を実行する方法もあります。
1. ドメイン B で以下のコマンドを実行して、入出力ボード 4 を切り離します。
2. ドメイン A で以下のコマンドを実行して、ドメイン A にシステムボード 4 と入出力ボード 0 および 4 を割り当て、接続し、構成します。
以下のようなシステム構成になります。変更されたのはボードの接続方法だけで、キャビネット内のボードの物理的配置は変わっていません。
Copyright© 2005, Sun Microsystems, Inc. All rights reserved.