このセクションでは、Oracle Solaris 障害管理アーキテクチャー (FMA) によって報告された情報と、障害としてマークされている論理ドメインリソースを相互に関連付ける方法について説明します。
FMA では、物理 CPU 番号に関する CPU エラーと、物理メモリーアドレスに関するメモリーエラーを報告します。
エラーが発生した論理ドメインと、そのドメイン内の対応する仮想 CPU 番号または実メモリーアドレスを確認する場合は、マッピングを実行する必要があります。
特定の物理 CPU 番号に対応しているドメインとそのドメイン内の仮想 CPU 番号を調べることができます。
最初に、次のコマンドを使用してすべてのドメインの解析可能な長形式のリストを生成します。
primary# ldm list -l -p
リストの VCPU セクションで、物理 CPU 番号に等しい pid フィールドを持つエントリを探します。
このようなエントリが見つかった場合、CPU はそのエントリが表示されたドメインに存在し、そのドメイン内の仮想 CPU 番号がエントリの vid フィールドに指定されています。
このようなエントリが見つからない場合、CPU はどのドメインにも存在しません。
特定の物理メモリーアドレス (PA) に対応しているドメインとそのドメイン内の実メモリーアドレスを調べることができます。
最初に、すべてのドメインの解析可能な長形式のリストを生成します。
primary# ldm list -l -p
リストの MEMORY セクションの行を検索します。この場合、PA は pa から (pa + size - 1) の包括範囲内にあります。つまり、pa <= PA <= (pa + size - 1) です。pa および size は、行で対応するフィールドの値を指します。
このようなエントリが見つかった場合、PA はそのエントリが表示されたドメインに存在し、そのドメイン内の対応する実アドレスが ra + (PA - pa) によって求められます。
このようなエントリが見つからない場合、PA はどのドメインにも存在しません。
次のコマンドは、論理ドメイン構成の解析可能な長形式のリストを生成します。
primary# ldm list -l -p VERSION 1.6 DOMAIN|name=primary|state=active|flags=normal,control,vio-service| cons=SP|ncpu=4|mem=1073741824|util=0.6|uptime=64801| softstate=Solaris running VCPU |vid=0|pid=0|util=0.9|strand=100 |vid=1|pid=1|util=0.5|strand=100 |vid=2|pid=2|util=0.6|strand=100 |vid=3|pid=3|util=0.6|strand=100 MEMORY |ra=0x8000000|pa=0x8000000|size=1073741824 IO |dev=pci@780|alias=bus_a |dev=pci@7c0|alias=bus_b ... DOMAIN|name=ldg1|state=active|flags=normal|cons=5000| ncpu=2|mem=805306368|util=29|uptime=903| softstate=Solaris running VCPU |vid=0|pid=4|util=29|strand=100 |vid=1|pid=5|util=29|strand=100 MEMORY |ra=0x8000000|pa=0x48000000|size=805306368 ... DOMAIN|name=ldg2|state=active|flags=normal|cons=5001| ncpu=3|mem=1073741824|util=35|uptime=775| softstate=Solaris running VCPU |vid=0|pid=6|util=35|strand=100 |vid=1|pid=7|util=34|strand=100 |vid=2|pid=8|util=35|strand=100 MEMORY |ra=0x8000000|pa=0x78000000|size=1073741824 ...使用例 17-5 物理 CPU 番号に対応する仮想 CPU の特定
論理ドメイン構成は、Example 17–4 に示されています。この例では、物理 CPU 番号が 5 であるドメインと仮想 CPU、および物理アドレス 0x7e816000 に対応するドメインおよび実アドレスを特定する方法について説明します。
リストで pid フィールドが 5 である VCPU エントリを探すと、論理ドメイン ldg1 の下に次のエントリが見つかります。
|vid=1|pid=5|util=29|strand=100
したがって、物理 CPU 番号 5 はドメイン ldg1 に存在し、そのドメイン内には仮想 CPU 番号 1 があります。
リストの MEMORY エントリを探すと、ドメイン ldg2 の下に次のエントリが見つかります。
ra=0x8000000|pa=0x78000000|size=1073741824
この場合、0x78000000 <= 0x7e816000 <= (0x78000000 + 1073741824 - 1)、つまり、pa <= PA <= (pa + size - 1) となります。したがって、PA はドメイン ldg2 にあり、対応する実アドレスは 0x8000000 + (0x7e816000 - 0x78000000) = 0xe816000 です。