この節では、固有のバグ番号よりも広い範囲で、LDoms ソフトウェアの今回のリリースに関して一般的に知られている問題について説明します。回避方法がある場合は、一緒に記載しています。
Logical Domains のドキュメントの説明では、サービスプロセッサ (SP) とシステムコントローラ (SC) という用語は同じ意味で使用されます。
次のカードは、LDoms 1.2 ソフトウェアリリースではサポートされていません。
Sun Dual Port 4x IB Host Channel Adapter PCI-X カード
Dual Port 4x PCI EXPRESS® Infiniband Host Channel Adapter - ロープロファイル
このようなサポートされていない構成が LDoms 1.2 とともに使用されている場合は、制御ドメインを再起動する前に、すべての論理ドメインを停止してバインドを解除してください。この操作を行わないと、システム内のアクティブな論理ドメインがすべて失われ、システムがクラッシュする可能性があります。
サービスドメインが Solaris 10 5/09 より前のバージョンの Solaris 10 OS で動作しており、このサービスドメインからゲストドメインに仮想ディスクとして物理ディスクスライスをエクスポートしている場合、このゲストドメインではその仮想ディスクが不適切なデバイス ID で表示されます。その後、このサービスドメインを Solaris 10 5/09 にアップグレードすると、このゲストドメインでは、仮想ディスクとしてエクスポートされた物理ディスクスライスはデバイス ID がない状態で表示されます。
仮想ディスクのデバイス ID を削除すると、仮想ディスクのデバイス ID を参照しようとするアプリケーションで問題が発生する可能性があります。特に、これが原因で Solaris Volume Manager (SVM) がその構成を確認できなくなったり、メタデバイスにアクセスできなくなったりする可能性があります。
回避方法: サービスドメインを Solaris 10 5/09 にアップグレードしたあとで、ゲストドメインでその SVM 構成またはメタデバイスを確認できない場合は、次の手順を実行してください。
ゲストドメインを起動します。
次の行を /kernel/dr/md.conf ファイルに追加して、SVM の devid 機能を無効にします。
md_devid_destroy=1; md_keep_repl_state=1; |
ゲストドメインを再起動します。
ドメインが起動したあとで、SVM 構成とメタデバイスが確認できるようになるはずです。
SVM 構成が正しいことを確認します。
手順 2 で追加した 2 行を /kernel/drv/md.conf ファイルから削除して、SVM の devid 機能を再度有効にします。
ゲストドメインを再起動します。
再起動時に次のようなメッセージが表示されます。
NOTICE: mddb: unable to get devid for 'vdc', 0x10 |
これらのメッセージは正常で、問題を報告するものではありません。
論理ドメインで使用できる LDC の数には制限があります。UltraSPARC T1 ベースのプラットフォームでは、この制限は 256 です。ほかのすべてのプラットフォームでの制限は 512 です。実際には、この制限が問題になるのは制御ドメインのみです。これは、制御ドメインには I/O サブシステムの少なくとも一部が割り当てられているためです。また、仮想 I/O データ通信と Logical Domains Manager によるその他の論理ドメインの制御の両方に対して多数の LDC が作成される可能性があるため、この制限が問題になる場合があります。
この節では、UltraSPARC T1 ベースのプラットフォームを使用した場合の例を示します。ただし、サポートされるほかのプラットフォームで制限を超えた場合でも、同じ動作になります。
サービスの追加やドメインのバインドを実行しようとすると LDC チャネルの数が制御ドメインで制限を超えるため、処理は失敗し、次のようなエラーメッセージが表示されます。
13 additional LDCs are required on guest primary to meet this request, but only 9 LDCs are available |
次のガイドラインによって、制御ドメインで LDC 機能がオーバーフローする可能性のある構成を作成することを防止できます。
制御ドメインは、ハイパーバイザ、障害管理アーキテクチャー (FMA)、およびシステムコントローラ (SC) とのさまざまな通信用に、12 個の LDC を割り当てます。これは、構成済みのほかの論理ドメインの数には依存しません。
制御ドメインは、制御ドメイン自身を含む各論理ドメインに対して、制御トラフィック用に LDC を 1 つ割り当てます。
制御ドメインの各仮想 I/O サービスは、そのサービスに接続されているクライアントごとに LDC を 1 つ使用します。
たとえば、制御ドメインが 1 つとそれ以外の論理ドメインが 8 つある場合について考えます。各論理ドメインには少なくとも次のものが必要です。
仮想ネットワーク
仮想ディスク
仮想コンソール
前述のガイドラインに従うと、次のような結果になります。丸括弧内の数字は、値の算出に用いた前述のガイドラインの番号に対応しています。
12 (1) + 9 (2) + 8 × 3 (3) = LDC の合計数 45
次に、ドメインの数が 8 ではなく 32 で、各ドメインに 3 つの仮想ディスク、3 つの仮想ネットワーク、および 1 つの仮想コンソールがある場合について考えます。この場合、数式は次のようになります。
12 + 33 + 32 × 7 = LDC の合計数 269
使用するプラットフォームでサポートされる LDC の数に応じて、Logical Domains Manager が構成を受け入れるか拒否するかが決まります。
Logical Domains ソフトウェアでは、ドメインの作成時にメモリーサイズの制限がありません。メモリーサイズの要件は、ゲストオペレーティングシステム特有のものです。Logical Domains の機能によっては、現在のメモリー容量が推奨サイズより少ないと動作しない場合があります。メモリーサイズの推奨要件と最小要件については、使用しているオペレーティングシステムのインストールガイドを参照してください。『Solaris 10 5/09 Installation Guide: Planning for Installation and Upgrade』の「System Requirements and Recommendations」 を参照してください。
OpenBootTM PROM では、ドメインの最小サイズに関する制限があります。現在、制限値は 12M バイトです。このサイズより小さいドメインが存在すると、Logical Domains Manager はそのドメインのサイズを自動的に 12M バイトに引き上げます。メモリーサイズの要件については、使用しているシステムファームウェアのリリースノートを参照してください。
使用しているプラットフォームに応じて、次の数のドメインを起動できます。
UltraSPARC T2 Plus ベースサーバーでは最大 128
UltraSPARC T2 ベースサーバーでは最大 64
UltraSPARC T1 ベースサーバーでは最大 32
未割り当ての仮想 CPU を使用できる場合は、それらをサービスドメインに割り当てて、仮想 I/O 要求の処理に役立てます。32 を超えるドメインを作成する場合は、サービスドメインに 4 ~ 8 個の仮想 CPU を割り当ててください。ドメインの最大構成ではサービスドメインに CPU が 1 つしか含まれない場合、ドメインを構成して使用する際は、この単一の CPU に余分な負荷を与えないようにします。仮想スイッチ (vsw) サービスは、マシンで使用できるネットワークアダプタ全体に接続する必要があります。たとえば、Sun SPARC Enterprise T5240 サーバーで 128 のドメインを起動する場合、4 つの vsw サービスを作成し、各サービスで 32 の仮想ネット (vnet) インスタンスを処理します。1 つの vsw サービスで 32 を超える vnet インスタンスを処理しないでください。1 つの vsw に 32 を超えるインスタンスを関連付けると、サービスドメインでハードハングが発生する可能性があるためです。
最大構成を実行するには、使用しているプラットフォームに応じて次の容量のメモリーをマシンに搭載して、ゲストドメインに適切なメモリー容量を割り当てられるようにする必要があります。
UltraSPARC T2 Plus ベースサーバーでは 128G バイトのメモリー
UltraSPARC T2 ベースサーバーでは 64G バイトのメモリー
UltraSPARC T1 ベースサーバーでは 32G バイトのメモリー
ゲストドメインのメモリーおよびスワップ空間の使用率は、そのドメインで使用する vsw サービスが、複数のドメインで多数の仮想ネットワークにサービスを提供する場合に増加します。これは、vswに接続するすべての vnet の間のピア・ツー・ピア接続によるものです。サービスドメインでは、追加のメモリーを設定すると役立ちます。64 を超えるドメインが動作する場合は、4G バイト以上にすることをお勧めします。10 以下のドメインをグループにまとめて起動し、起動が完了するまで待機してから次のグループを起動します。この方法は、ドメインにオペレーティングシステムをインストールする際にも適用されます。
最後に構成を SC に保存してから構成に変更を加えた場合は、Logical Domains システムの電源を切って再投入する前に、保持する必要のある最新の構成を必ず保存してください。
I/O ドメイン以外のすべてのドメインを停止して、バインドを解除します。
アクティブな I/O ドメインをすべて停止して、バインドを解除します。
primary
ドメインを停止します。
ほかにバインドされているドメインは存在しないため、ファームウェアは自動的にシステムの電源を切ります。
I/O ドメイン以外のすべてのドメインを停止して、バインドを解除します。
アクティブな I/O ドメインをすべて停止して、バインドを解除します。
primary
ドメインを再起動します。
ほかにバインドされているドメインは存在しないため、システムを再起動する前に、ファームウェアは自動的にシステムの電源を再投入します。システムの再起動時には、最後に保存された、または明示的に設定された Logical Domains 構成で起動します。
特定の状況では、Logical Domains Manager は、要求されたメモリー割り当てを 8K バイトまたは 4M バイトの倍数のいずれかに切り上げます。次の ldm list-domain -l コマンドの出力例では、制約値が実際に割り当てられるサイズより小さくなっていることがわかります。
Memory: Constraints: 1965 M raddr paddr5 size 0x1000000 0x291000000 1968M |
ドメイン化が有効になっていると、変数の更新は再起動の場合には保持されますが、電源を再投入した場合には、制御ドメインの OpenBoot ファームウェアから開始されるか、変数の更新後に SC に構成が保存されていないかぎり保持されません。
ここでは、次のような制御ドメインの再起動によって、システムの電源の再投入が開始される可能性があることに注意することが重要です。
バインドされているゲストドメインが存在せず、遅延再構成が進行中でない場合に制御ドメインが再起動すると、SC はシステムの電源を再投入します。
バインドされているゲストドメインまたはアクティブなゲストドメインが存在する場合 (または制御ドメインで遅延再構成が進行中の場合) に制御ドメインが再起動すると、SC はシステムの電源を再投入しません。
ドメインの LDom 変数は、次のいずれかの方法で指定できます。
OpenBoot プロンプトを使用する
Solaris OS の eeprom(1M) コマンドを使用する
Logical Domains Manager CLI (ldm
) を使用する
システムコントローラ (SC) から bootmode コマンドを使用して変更する。これは、限定的な方法で、factory-default 構成の場合のみで、かつ特定の変数しか変更できません。
これらいずれかの方法で更新された変数がドメインを再起動しても必ず保持されるようにすることが目標です。また、更新された変数がこのあと SC に保存されたすべての論理ドメイン構成に必ず反映されるようにします。
LDoms 1.2 ソフトウェアでは、更新された変数が期待どおりに保持されない場合がいくつかあります。
ドメイン化が有効になっていると、どの方法で変数を更新した場合でも、変数はそのドメインを再起動しても保持されます。ただし、システムの電源を再投入すると、新しい論理ドメイン構成が SC に保存されていないかぎり、更新された変数は保持されません。変数を更新する方法としては、OpenBoot ファームウェア、eeprom コマンド、および ldm コマンドを使用できます。ドメイン化は、UltraSPARC T1000 および T2000 システムが factory-default 構成で動作している場合を除き、デフォルトで有効になっています。また、制御ドメインでは、OpenBoot ファームウェアを使用した変数の更新は、システムの電源を再投入しても、つまり、あとで新しい論理ドメイン構成を SC に保存しなくても保持されます。
ドメイン化が有効になっていない場合、eeprom(1M) コマンドで指定された変数の更新は、primary ドメインを同じ factory-default 構成で再起動した場合には保持されますが、SC に保存された構成で再起動した場合は保持されません。逆に、この場合は、Logical Domains Manager で指定された変数の更新は再起動すると保持されませんが、SC に保存された構成には反映されます。
そのため、ドメイン化が有効になっていない場合に、同じ factory-default 構成で再起動しても変数の更新が保持されるようにするには、eeprom コマンドを使用します。変数の更新を、SC に新しく保存される論理ドメイン構成の一部として保存する場合は、適切な Logical Domains Manager コマンドを使用します。
あらゆる場合において、Logical Domains Manager で生成された構成から factory-default 構成に戻すと、すべての LDoms 変数はデフォルト値に戻ります。
これらの問題を解決するために、バグ ID 6520041、6540368、6540937、および 6590259 が報告されています。
Sun Simple Management Network Protocol (SNMP) Management Agent は複数ドメインをサポートしません。単一のグローバルドメインのみをサポートします。
UltraSPARC T1 プロセッサに基づくシステムで sysfwdownload ユーティリティーを Logical Domains 環境内から実行すると、実行時間が大幅に長くなります。LDoms ソフトウェアが有効な状態で sysfwdownload ユーティリティーを使用すると、この状況が発生します。
回避方法: このユーティリティーを使用する前に、LDoms ソフトウェアを無効にした状態で factory-default 構成で起動してください。
CPU の動的再構成 (DR) を使用した仮想 CPU の電源切断は、プロセッサセット、資源プール、またはゾーンの専用 CPU 機能とともに機能しません。
CPU Power Management をエラスティックモードで使用している場合、Solaris OS のゲストは電源が入っているドメインに割り当てられた CPU のみを確認できます。つまり、現在電源が管理されている CPU の数に応じて、psrinfo(1M) コマンドの出力が動的に変わります。これが原因で、プロセッサセットとプールで問題が発生します。プロセッサセットとプールではそれらのセットへの割り当てが可能になるように実際の CPU ID を静的にする必要があります。また、ゾーンの専用 CPU 機能に影響を及ぼす場合もあります。
回避方法: Power Management ポリシーをパフォーマンスモードに設定します。
ドメインは、起動中、停止中、ok プロンプトの表示中、またはカーネルデバッガの実行中は移行状態になります。ゲストドメインが移行状態かどうかを判断するには、ldm list コマンドを使用します。このコマンドの出力で、移行状態のすべてのドメインに t フラグが表示されます。その他のドメインで CPU Power Management を有効にするには、移行状態のゲストドメインを起動するか、または ldm stop コマンドを使用してゲストドメインを停止します。
FMA および CPU の電源管理に関して、いくつかの問題があります。エラスティックモードで動作中の CPU に障害が発生した場合、障害が発生した CPU が回復するまでパフォーマンスモードに切り替えてください。障害が発生したすべての CPU が回復したら、エラスティックモードを再度使用できます。
障害が発生したリソースの詳細は、OpenSolaris の「Fault Management」Web ページ を参照してください。
primary ドメインが遅延再構成状態にある場合、CPU の電源は、primary ドメインが再起動したあとに管理されます。つまり、primary ドメインが再起動して遅延再構成状態がクリアされるまで、そのドメインが高負荷で使用されている場合は CPU Power Management によって別の CPU が追加でオンラインになることはありません。
エラスティックモードのソースマシンまたはターゲットマシンに対するドメインの移行はサポートされていません。パフォーマンスモードで移行が行われており、Power Management ポリシーがエラスティックモードに設定されている場合、ポリシーの切り替えは移行が完了するまで遅延されます。ソースマシンまたはターゲットマシンのいずれかがエラスティックモードの場合にドメインの移行を試みると、migration コマンドはエラーを返します。
Power Management 機能が動作するには、動的な CPU DR が必要です。そのため、ドメインに暗号化装置がバインドされる場合は、Integrated Lights Out Management (ILOM) の Power Management 機能を使用しないでください。現在、Solaris OS での暗号化 DR のサポートでは、ゲストの再起動を行わない CPU DR はサポートされていません。