特記事項: Sun Ultra 450、Sun Enterprise 450

第 2 章 システム設定パラメタ

この章では、Ultra 450 システムの以下の動作を設定するための NVRAM 設定変数および OpenBoot PROM (OBP) のコマンドについて説明します。

この章で説明する NVRAM 設定変数は以下のとおりです。

この章で説明する OBP コマンドは以下のとおりです。

UPA のプローブ

Ultra 450 システムは、UltraSPARC(TM) を基礎とする他のすべてのシステムと同様に、高速の UPA (Ultra Port Architecture) バスに基づいて設計されています。UPA バスは、CPU、入出力ブリッジ、フレームバッファー などの、マザーボード上の高速デバイスに対して最大で 32 個のポート ID アドレス (またはスロット) を提供する交換型システムバスです。ほとんどの Ultra システムでは、有効な UPA ポートは 3 〜 4 つですが、Ultra 450 システムは、以下のサブシステムに対して最大で 9 つの有効なポートを提供します。

表 2-1 有効なポート

デバイスの種類 

UPA スロット 

物理的な実装形態 

CPU 

0 〜 3 

差し込み式スロット × 4 

UPA-PCI ブリッジ 

4、6、1f 

マザーボードに直付け 

UPA グラフィックスフレームバッファー 

1d、1e 

差し込み式スロット × 2 

これらの 9 つのポート ID のプローブの順序はユーザーが制御することはできませんが、upa-port-skip-list NVRAM 変数を使用して、ポートをプローブ対象から除外することはできます。以下の例では、upa-port-skip-list 変数を使用して、UPA プローブリストから UPA-PCI ブリッジの 1 つと、主 UPA グラフィックスカードを除外しています。


ok setenv upa-port-skip-list 4,1d

この機能を使用することによって、差し込み式カードを物理的に取り外さずに、システムによるプローブ対象からそのデバイスを除外し、以降使用されないようにすることができます。この方法は、一時的な障害が発生したシステムで障害の発生したカードを特定する際に有用です。

PCI のプローブ

Ultra 450 システムの 6 つの PCI バスのうち、Bus 0 (デバイスツリーの /pci@1f,4000) は、標準の Ethernet および SCSI コントローラなどのマザーボードデバイス (差し込み式ではないデバイス) が接続される唯一の PCI バスという点で特別なバスです。マザーボードデバイスは、取り外して交換することによってプローブの順序を変更することはできません。マザーボードデバイスのプローブの順序を制御するために、NVRAM 変数の pci0-probe-list がシステムに用意されています。pci0-probe-list は、PCI バス 0 上のデバイスのプローブの順序とプローブ対象からの除外の両方を制御します。以下は、pci0-probe-list に対して指定することができる値です。

表 2-2 pci0-probe-list の値

PCI デバイス番号 

機能 

0

UPA-PCI バスブリッジ (プローブしない) 

1

EBus/Ethernet インタフェース (常にプローブ、プローブリストに含まない) 

2

着脱式能媒体用デバイスと外部 SCSI ポート用のオンボード SCSI コントローラ 

3

4 スロットの UltraSCSI バックプレーン用のオンボード SCSI コントローラ 

4

バックプレーンの PCI スロット 10 


注 -

この表の値は、PCI デバイス番号に基づいています。背面パネルのスロット番号の 1 〜 10 には対応していません。


以下の例では、pci0-probe-list 変数を使用してプローブの順序を 3、4 に設定し、着脱式媒体デバイスと外部 SCSI ポート用のオンボード SCSI コントローラをプローブリストから除外しています。


ok setenv pci0-probe-list 3,4

他の 5 つの PCI バス (PCI スロット 1 〜 9) のプローブ順序をユーザーが制御することはできません。これらのスロットは、常に 5-3-2-1-4-9-8-7-6 の順序でプローブされます。ただし、NVRAM 変数の pci-slot-skip-list を使用して、 PCI スロットをプローブ対象から除外することができます。以下の例では、pci-slot-skip-list 変数を使用して、PCI プローブリストから背面パネルのスロット 3 と 8 を除外しています。


ok setenv pci-slot-skip-list 3,8


注 -

pci-slot-skip-list の値は、背面パネルの番号 1 〜 10 に対応しています。スロット 10 が pci-slot-skip-list に存在すると、pci0-probe-list にデバイス番号 4 (背面パネルのスロット 10) が含まれていても、スロット 10 がプローブ対象から除外されます。


メモリーインタリーブ

Ultra 450 システムでは、NVRAM 変数の memory-interleave でメモリーインタリーブを制御します。次の表に、この変数に指定することができる値と、それらの値によるメモリー構成の変化を示します。メモリーインタリーブとメモリー構成の指針については、『Sun Ultra 450 ワークステーションユーザーマニュアル』または『Ultra Enterprise 450 システムユーザーマニュアル』を参照してください。

表 2-3 memory-interleave の値

設定 

メモリー構成の変化 

auto (デフォルト)

4 つのメモリーバンクがすべて同じ容量の DIMM で構成されている場合は、4-way インタリーブが有効になります。バンク A と B だけ使用されていて、両方のバンクが同じ容量の DIMM で構成されている場合は、2-way インタリーブが有効になります。それ以外の場合、インタリーブは無効です。 

max-size

auto 設定と同じ働きをします。

max-interleave

現在のメモリー構成で実現できる最高レベルのインタリーブを可能にします。ただし、取り付けられている DIMM の容量が異なる場合は、一部のメモリーが使用されません。各 DIMM について、最小容量の DIMM の容量を超える分は使用されません。 

1

インタリーブを無効にします。使用可能なメモリー容量をすべて使用します。 

2

バンク A と B 間の 2-way インタリーブを強制的に有効にします。ただし、取り付けられている DIMM の容量が異なる場合は、一部のメモリーが使用されません。バンク B に最小容量の DIMM を取り付けてください。バンク C と D に DIMM が取り付けられていても使用されません。 

4

4 つのバンク間の 4-way インタリーブを強制的に有効にします。ただし、取り付けられている DIMM の容量が異なる場合は、一部のメモリーが使用されません。バンク D に最小容量の DIMM を取り付けてください。 

最高レベルのインタリーブの設定例を以下に示します。


ok setenv memory-interleave max-interleave

環境の監視と制御

Ultra 450 システムでは、環境の監視および制御機能が、オペレーティングシステムと OBP ファームウェアの両方のレベルで提供されています。これによって、システムが停止したり起動することができなくなっても、監視機能を使用することができます。環境の温度超過に対して OBP が行う監視と対処の方法は、NVRAM 変数の env-monitor で制御します。以下の表に、env-monitor 変数の設定と、それらの設定に対応する OBP の動作を示します。システムの環境監視機能の詳細については、『Ultra Enterprise 450 システムユーザーマニュアル』または『Sun Ultra 450 ワークステーションユーザーマニュアル』の「信頼性、可用性、保守性に関する諸機能」を参照してください。

表 2-4 env-monitor の値

設定 

監視機能 

OBP の動作 

enabled (デフォルト)

有効 

CPU またはディスクファントレイが異常に過熱したかファントレイに障害が発生した場合は、OBP は警告を出し、30 秒後に自動的にシステムを停止します。 

advice

有効 

OBP は警告を出すのみで、システムは停止しません。 

disabled

無効 

OBP は、何も行いません。OBP レベルの環境の監視は無効です。 

以下の例では、env-monitor 変数を使用して、OBP レベルの環境の監視を無効にしています。


ok setenv env-monitor disabled


注 -

この NVRAM 変数は、オペレーティングシステムの動作中は、システム環境の監視および制御機能に影響を与えません。


自動システム回復 (ASR)

Ultra 450 システムは、自動システム回復 (ASR) 機能によって、ハードウェア障害の発生後に動作を再開することができます。電源投入時自己診断 (POST: power-on self-test) 機能および OpenBoot 診断 (OBDiag) 機能が、障害の発生したハードウェア部品を自動的に検出し、OBP ファームウェアに組み込まれた自動構成機能によって、システムは障害のある部品を構成解除し、システムの動作を回復します。障害の発生した部品がシステムの動作に必要なものでない場合は、ASR 機能によって、システムはユーザーの介入なしに自動的に再起動します。このような「縮退起動」によって、システムは、障害のある部品の交換を求める保守呼び出しを生成した上で、動作を継続することができます。

電源投入処理中に障害のある部品が検出された場合、その部品は構成解除され、システムがその部品なしで動作を継続することができる場合は、起動処理が継続されます。動作中のシステムにおける特定の種類の障害 (プロセッサ障害など) によって、自動的にシステムリセットが発生する場合があります。そのような障害では、障害のある部品なしでシステムが動作できる場合に、ASR 機能によってシステムがただちに再起動します。これによって、障害のある部品が原因で、システム全体が停止したままになったり、システムに再度障害が発生することが防止されます。

状態属性によるソフト構成解除

縮退起動を可能にするために、OBP は IEEE 1275 クライアントインタフェースを使用して、デバイスを failed (障害発生) または disabled (無効) として「指定」します。これは、対応するデバイスツリーノードに適切な「状態」属性を設定することによって行います。UNIX の慣例により、このように指定されたサブシステムのドライバは起動されません。

したがって、障害のある部品が電気的に休止している (ランダムバスエラーや信号ノイズなどを発生しない) かぎり、システムは保守呼び出しを生成した上で、自動的に再起動して、動作を再開することができます。

ハード構成解除

2 つの特別なサブシステム (CPU およびメモリー) の構成解除では、OBP は、単にデバイスツリーに適切な「状態」属性を設定する以上の処置を行います。システムの他の部分が正しく動作するように、OBP は、リセットの直後にこれらの機能を初期化して、設定し直すか、省略する必要があります。この処置は、NVRAM 設定変数の post-status および asr-status の状態に基づいて行われます。post-status および asr-status は、POST または手動による指定 (「ASR に対する手動による優先指定」を参照) によって提供された優先指定情報を保持しています。

CPU の構成解除

POST によって CPU が failed として指定されたか、ユーザーが CPU を disabled にした場合、OBP は、その CPU の主無効化ビットを設定し、次回の電源投入によるシステムリセットまで、CPU は無効な UPA デバイスになります。

メモリーの構成解除

システムメモリーの問題を検出し、特定することは、難しい診断作業の 1 つです。システムに様々なメモリーインタリーブモードがあり、同じバンク内で容量の異なる DIMM メモリーが使用されている可能性もあるため、さらに複雑な障害になることがあります。

メモリー部品に障害が発生すると、ファームウェアは障害の発生したバンク全体を構成解除します。インタリーブ率によっては、縮退構成によってインタリーブ率が低下したり、残りのバンクが 100% 利用できなくなったり、あるいはその両方が発生する可能性があることを意味します。

ASR に対する手動による優先指定

Ultra 450 システムに対する構成または構成解除は、ほとんどの場合、デフォルトの設定のままで正しく行われますが、上級のユーザーのために手動による優先指定機能も用意されています。構成解除の方法にはソフトとハードの 2 種類があるため、優先指定機能も 2 種類用意されています。

ソフト構成解除の優先指定

明確に 1 つのデバイスツリーノードとして表されるサブシステムの場合は、NVRAM 変数の asr-disable-list を使用してその機能を無効にすることができます。asr-disable-list は、空白で区切られたデバイスツリーパスのリストです。


ok setenv asr-disable-list /pci@1f,2000 /pci@1f,4000/scsi@3,1

Ultra 450 の OBP は、この情報を使用して、asr-disable-list 変数に設定されたノードのそれぞれについて状態属性を disabled に設定します。

ハード構成解除の優先指定

ハード構成解除を必要とするサブシステム (CPU およびメモリー) に対しては、OBP コマンドの asr-enable および asr-disable を使用して、個々のサブシステムを有効または無効にします。


注 -

ソフト優先指定とハード優先指定の両方が可能な部品があります。そのような部品に対しては、できるだけハード優先指定コマンドの asr-enable および asr-disable を使用してください。


新しいユーザーコマンドの .asr を使用して、手動による優先指定の状態を確認することができます。このコマンドを実行すると、現在の設定が表示されます。


ok asr-disable cpu1 bank3
ok .asr
CPU0:                       Enabled
CPU1:                       Disabled
SC-MP:                      Enabled
Psycho@1f:                  Enabled
Cheerio:                    Enabled
SCSI:                       Enabled
Mem Bank0:                  Enabled
Mem Bank1:                  Enabled
Mem Bank2:                  Enabled
Mem Bank3:                  Disabled
PROM:                       Enabled
NVRAM:                      Enabled
TTY:                        Enabled
SuperIO:                    Enabled
PCI Slots:                  Enabled

auto-boot のオプション

OpenBoot には、auto-boot? というNVRAM 制御スイッチがあります。このスイッチは、リセット時にオペレーティングシステムを自動的に起動するかどうかを決定します。サンのハードウェアでは、このスイッチのデフォルト値は true です。

電源投入時の診断でシステムに問題があることが発見された場合、auto-boot? は無視され、ユーザーが手動で行わないかぎり、システムは起動しません。縮退起動では、この動作は明らかに適切でないため、Ultra 450 の OBP には、auto-boot-on-error? という別の NVRAM 制御スイッチも用意されています。このスイッチは、サブシステム障害が検出された場合にシステムに縮退起動を行わせるかどうかを制御します。縮退起動を有効にするには、auto-boot? および auto-boot-on-error? スイッチの両方を true に設定する必要があります。


ok setenv auto-boot-on-error? true


注 -

auto-boot-on-error? のデフォルト値は false です。このため、この設定を true にしないかぎり、システムが縮退起動を試みることはありません。また、縮退起動が有効であっても、致命的で回復不能なエラーが発生した場合は、システムが縮退起動を試みることはありません。致命的で回復不能なエラーの例として、システムのすべての CPU が無効になった場合 (POST または手動による優先指定の結果として) があります。


リセットが発生する状況

標準のシステムリセットプロトコルでは、NVRAM 変数の diag-switch?true に設定されないかぎり、ファームウェア診断は完全に省略されます。diag-switch? のデフォルト値は false です。

Ultra 450 システムで ASR 機能を使用するためには、すべてのリセット処理でファームウェア診断 (POST/OBDiag) を実行できるようにしてください。diag-switch? を単純に true に変更する方法は副作用を伴うため (『OpenBoot 3.x コマンド・リファレンスマニュアル』を参照)、Ultra 450 の OBP には、POST/OBDiag と自動的に連動するリセット処理を選択するための diag-trigger という新しい NVRAM 変数が用意されています。以下の表に、diag-trigger 変数の設定と機能を示します。


注 -

diag-switch?true に設定されていないかぎり、diag-trigger の効果はありません。


表 2-5 power-reseterror-resetsoft-reset の設定

設定 

機能 

power-reset(デフォルト)

電源投入によるリセットに対してのみ診断を実行します。 

error-reset

電源投入によるリセット、致命的なハードウェアエラー、ウォッチドッグリセット処理の発生時にのみ診断を実行します。 

soft-reset

UNIX の init 6reboot コマンドによって発生するリセットなど、すべてのリセット (XIR リセットは除く) で診断を実行します。

none

リセット処理による診断の自動起動を無効にします。この場合でも、電源投入時に Stop キーを押しながら d キーを押すか、正面パネルのキースイッチを「診断」位置にして電源を入れることによって、手動で診断を起動することができます。 

以下の例のように diag-trigger 変数を設定すると、XIR リセットを除くすべてのリセットで POST および OpenBoot 診断が起動されます。


ok setenv diag-switch? true
ok setenv diag-trigger soft-reset