Solaris 10 10/08 ご使用にあたって

システム管理

ここでは、Solaris 10 OS のシステム管理に関するバグ情報について説明します。

SPARC: FKU 137137-xx では他社製のボリュームマネージャーソフトウェアがサポートされない

FKU 137137-xx パッチでは、いくつかの例外を除き、他社製のボリュームマネージャーソフトウェアがサポートされません。このサポートが欠けているのは、prepatch、postpatch、および postbackout の実装によるためです。サポートされていない他社製のボリュームマネージャーソフトウェアを使用する場合は、FKU パッチを適用できません。パッチのインストール中に次のエラーメッセージが表示されます。


unsupported root slice type xxxxx

ただし、富士通およびベリタス製のボリュームマネージャーソフトウェアはサポートされています。

回避方法: ありません。

非大域ゾーンが含まれているシステムで patchadd -M を使用してパッチをインストールしてはいけない

非大域ゾーンが含まれているシステムでは、 patchadd -M オプションを使用しないことをお勧めします。patchadd -M の現在の実装では、まず大域ゾーンにすべてのパッチが適用され、その次に非大域ゾーンに適用されます。このオプションをお勧めしないのは、いくつかのパッチが大域ゾーンには適用され、非大域ゾーンにはまだ適用されていないときに問題が発生した場合、大域ゾーンと非大域ゾーンの同期が大幅にずれてしまい、回復が困難な状況に陥る可能性があるからです。

回避方法: patchadd -a - M を使用して、パッチセットの有効なインストールシーケンスを作成し、パッチが問題なく確実にインストールされるようにすることができます。

詳細は、BigAdmin Patching Hub の成功事例の記事 (http://www.sun.com/bigadmin/features/articles/patch_management.jsp) を参照してください。

::findleaks コマンドが失敗する (6720107)

Solaris 10 10/08 OS では、mdb デバッガの ::findleaks コマンドは失敗します。次のエラーメッセージが表示されます。


mdb: couldn't walk 'modctl': unknown walk name

回避方法: ::findleaks コマンドを使用する前に、::load krtld コマンドを入力します。

vold によって Solaris 10 10/08 DVD メディアが自動的にマウントされないことがある (6712352)

実行時に、Solaris 10 10/08 DVD はデフォルトではマウントされません。エラーメッセージは表示されません。

回避方法: 次の手順を実行します。

  1. スーパーユーザーになります。

  2. vold を無効にします。

    • Solaris 10 システム:


      # svcadm disable -t volfs
    • Solaris 8 および Solaris 9 システム:


      /etc/init.d/volmgt stop
  3. # mount -F hsfs <ブロックデバイスへのパス> <マウントポイントへのパス> コマンドを使用して手動でメディアをマウントします。次に例を示します。


    # mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt

Solaris Trusted Extensions を有効にしたあとで Solaris 管理コンソールにログインできない (6639493)

Solaris Trusted Extensions を有効にしたあと、SolarisTM 管理コンソールがハングアップし、Solaris 管理コンソールに root としてログインできません。Solaris 管理コンソールがハングアップする際に、次のエラーメッセージが表示されることがあります。


Configuring the Management Server...

回避方法: 次の手順を実行します。

  1. Solaris Trusted Extensions を設定してから、Solaris 管理コンソールを起動します。

  2. 「コンソール」メニューから「ツールボックスを開く」を選択します。

  3. localhost を選択します (リストに含まれている場合)。

  4. localhost がリストに含まれていない場合は、localhost と入力します。

  5. Policy=TSOL ツールボックスを選択します。

  6. もう一度 Solaris 管理コンソールに root としてログインします。

  7. (省略可能) Solaris 管理コンソールへの 2 回目のログインも失敗した場合は、手順 1 - 5 を繰り返します。その際、手順 3 では localhost ではなく127.0.0.1 と入力してください。

zoneadm attach コマンドが失敗することがある (6550154)

元のホストと新しいホストに同じパッチレベルのパッケージがインストールされていても、中間のパッチ履歴が異なっている場合は、ゾーンの接続に失敗することがあります。さまざまなエラーメッセージが表示されます。表示されるエラーメッセージは、2 つのホストのパッチ履歴によって異なります。

回避方法: 元のホストマシンと新しいホストマシンとで、各パッチが同じバージョン順序で適用されるようにします。

SATA コントローラのレガシーモードと AHCI モードの切り替えを Solaris で処理できない (6520224)

AHCI 準拠の SATA コントローラを備えたシステムの場合、通常は BIOS 設定でコントローラを AHCI、レガシー、または RAID モードに設定できます。Solaris は AHCI モードとレガシーモードをサポートしています。

Solaris の初期インストール後は、BIOS の SATA モードの設定を変更してはいけません。Solaris のアップグレードの前後にも、SATA モードの設定を変更してはいけません。Solaris のインストール後に BIOS の SATA モード設定を変更すると、システムがリセットされ、ブートに失敗しますが、その原因は示されません。

回避方法: BIOS 設定を変更した結果ブートに失敗した場合、Solaris をブートするには、元の設定に戻してください。

遅延起動パッチの適用 (6486471)

パッチ 119254-42 および 119255-42 以降、パッチインストールユーティリティー patchadd および patchrm が変更され、実行中のシステムと互換性のない既存ファイルや新しい機能を提供する一部のパッチの処理方法が変わりました。このユーティリティーの変更は、これらのパッチをどの Solaris 10 リリースにインストールする場合にも影響します。これらの「遅延起動」パッチは、カーネルパッチで提供される広範な変更をより適切に処理します。

遅延起動パッチでは、ループバックファイルシステム lofs を使ってルートファイルシステムのコピーが作成されます。パッチ対象の元のファイルは安全な場所にコピーされ、ルートファイルシステムの lofs コピーにパッチが適用されます。次に、元のファイルは、パッチが適用された状態で、新しいファイルの上に、lofs マウントで戻されます。このことは、パッチを適用している間、実行中のシステムの一貫性が保持され、ユーザーがリブートするまで、新しい機能がアクティブにならず、互換性のない変更がすべて隠されることを意味します。

ユーザーは遅延起動パッチの適用後はできるだけ早くリブートする必要がありますが、即座にリブートする必要はなく、引き続き追加のパッチを適用してからリブートしてもかまいません。

パッチの README には、どのパッチでリブートが必要になるかが説明されています。


注 –

パッチの操作は、パッチの README で推奨されている場合は特に、シングルユーザーモードで実行することを強くお勧めします。


非大域ゾーンを実行している場合や lofs が無効になっている場合は、遅延起動パッチをインストールまたは削除する際に、次の点を考慮してください。

エラーメッセージは表示されません。

回避方法: パッチの適用を管理するには Solaris Live Upgrade をお勧めします。Solaris Live Upgrade は、実行中システムへのパッチ適用の問題を防ぎます。Solaris Live Upgrade は、パッチの適用に伴う停止時間を短縮し、問題発生時のフォールバック機能を提供してリスクを低減します。詳細は、『Solaris 10 10/08 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。

大規模なファイルシステムで、32 ビットアプリケーションでファイルシステムの状態を取得する際にエラーが発生する可能性がある (6468905)

ZFS などの大規模なファイルシステムで実行されるアプリケーションでは、statvfs(2) または statfs(2) を使用してファイルシステムの状態に関する情報を取得すると、エラーが発生します。次のエラーメッセージが表示されます。


Value too large for defined data type

回避方法: アプリケーションでは、代わりに statvfs64() を使用するようにしてください。

ゾーンに対応していないシステムでは、patchadd-R オプションを使用して代替ルートパスを指定することは制限すべき (6464969)

ゾーンに対応していない Solaris リリースを実行しているシステムでは、patchadd -R コマンドなどの -R オプションを受け入れるコマンドを使用して、非大域ゾーンがインストールされている大域ゾーンに代替ルートパスを指定しても、正常に機能しません。

luupgrade [-t-T-p-P] コマンドを使用した場合に表示されるエラーメッセージとは異なり、この場合は、コマンドレベルでの妥当な制限の使用に関するエラーメッセージは表示されません。

-R オプションが機能しなかったことを示すものは何もありません。このコマンドが失敗した結果として、インストールされているどの非大域ゾーンにも Solaris 10 のパッケージやパッチはインストールされません。

この問題は、パッケージやパッチをインストールまたはアンインストールするときに発生します。


注 –

代替ブート環境に非大域ゾーンが構成されていても、非大域ゾーンがインストール済みでない場合には、-R オプションが機能します。ただし、潜在的な問題を回避するには、あるいは、代替ルートパスとして使用される非大域ゾーンがインストールされているかどうかわからない場合は、常に -R オプションの使用を制限してください。


詳細は、次のマニュアルページを参照してください。

回避方法 1: OS を Solaris 10 1/06 リリース以上にアップグレードします。

Solaris 10 3/05 リリースを実行している場合は、次のパッチをインストールして、代替ルートパスを作成するための -R オプションを受け入れるコマンドを使用可能にします。

回避方法 2: patchadd -R コマンドなど、代替ルートパスを作成するための -R オプションを受け入れるすべてのコマンドの使用を制限します。

代わりに、代替ルート (Solaris 10 リリースなど) をアクティブ OS としてブートします。その後、-R オプションは使用せずに、Solaris 10 のパッケージとパッチのインストールやアンインストールを行います。

Sun Patch Manager Tool 2.0 に旧バージョンとの互換性がない

Sun Patch Manager Tool 2.0 が動作するシステムでは、Sun Patch Manager Tool 1.0 などのパッチマネージャーツールが動作するリモートシステムを管理できます。

ただし、旧バージョンのパッチマネージャーツールが動作するシステムで、Patch Manager Tool 2.0 が動作するリモートシステムを管理することはできません。旧バージョンは次のとおりです。


注 –

Solaris 8 OS にはパッチマネージャーツール用の CIM/WBEM (Common Information Model/Web Based Enterprise Management) サポートがありません。したがって、Solaris 8 システムではパッチマネージャーによるリモート管理が行えません。


既存のディスクレスクライアントをシステムから削除できない (6205746)

smdiskless コマンドを使用してディスクレスクライアントを削除すると、コマンドは失敗します。ディスクレスクライアントは、システムデータベースから削除されません。次のエラーメッセージが表示されます。


Failing with error EXM_BMS.

回避方法: クライアントを追加する前に、/export パーティションの共有を解除してください。

SPARC: smosservice delete コマンドですべてのディレクトリが正常に削除されるとは限らない (6192105)

smosservice delete コマンドを使用してディスクレスクライアントサービスを削除した場合、すべてのサービスディレクトリが正常に削除されるとは限りません。

回避方法: 次の手順を実行します。

  1. そのサービスを使用するクライアントが存在しないことを確認します。


    # unshare /export/exec/Solaris_10_sparc.all
    # rm -rf /export/exec/Solaris_10_sparc.all
    # rm -rf /export/exec/.copyofSolaris_10_sparc.all
    # rm -rf /export/.copyofSolaris_10
    # rm -rf /export/Solaris_10
    # rm -rf /export/share
    # rm -rf /export/root/templates/Solaris_10
    # rm -rf /export/root/clone/Solaris_10
    # rm -rf /tftpboot/inetboot.sun4u.Solaris_10
  2. 次のエントリを /etc/bootparams ファイルから削除します。


    fs1-24 boottype=:os

    注 –

    このエントリを削除するのは、このファイルサーバーが関数や資源をほかのサービスに提供していない場合に限られます。


  3. 次のエントリを /etc/dfs/dfstab ファイルから削除します。


    share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr
  4. /var/sadm/system/admin/services/Solaris_10 ファイルを変更します。

    • ファイルサーバーが Solaris_10 でない場合は、そのファイルを削除します。

    • ファイルサーバーが Solaris_10 である場合は、冒頭の 3 行を残し、あとのエントリをすべて削除します。削除した行は、/export/root/templates/Solaris_10 に含まれるサービス USR_PATH および SPOOLED ROOT のパッケージとサポートされるプラットフォームを示します。

kill -HUP によって必ずしもエージェントが snmpd.conf 構成ファイルを再度読み取るとは限らない (4988483)

snmpd.conf の内容を変更したあとは、コマンド kill -HUP snmp Process ID を実行できます。このコマンドによって snmp プロセスが停止します。その後、システム管理エージェントのマスターエージェント(snmpd) に信号が送信されて snmpd.conf が再度読み取られ、導入した変更が実装されます。このコマンドによって必ずしもマスターエージェントが構成ファイルを再度読み取るとは限りません。その結果、このコマンドを使用しても、必ずしも構成ファイル内の変更が有効になるとは限りません。

回避方法: kill -HUP を使用する代わりに、変更を snmpd.conf に追加したあとでシステム管理エージェントを再起動してください。次の手順を実行します。

  1. スーパーユーザーになります。

  2. 次のコマンドを入力します。

    # /etc/init.d/init.sma restart

x86: BIOS のブート時に F4 キーを押すとサービスパーティションのブートに失敗する (4782757、5051157)

これは、Solaris 10 OS (x86 版) がインストールされた、サービスパーティションを保持する Sun LX50 のブート時に発生します。F4 ファンクションキーを押すことでサービスパーティションのブートを選択できますが、オプションを選択すると画面が空白になります。その後、システムはサービスパーティションのブートに失敗します。

回避方法: BIOS ブート画面の表示時に、F4 キーを押さないでください。タイムアウト後に「Current Disk Partition Information」画面が表示されます。type=DIAGNOSTIC に対応する「Part#」列の番号を選択します。続いて Return キーを押します。サービスパーティションがブートします。

XML/HTTP トランスポートプロトコル環境では com.sun アプリケーションプログラミングインタフェースメソッド呼び出しが失敗することがある (4497393、4497399、4497406、4497411)

javax アプリケーションプログラミングインタフェースではなく、com.sun アプリケーションプログラミングインタフェースを使用して WBEM ソフトウェアを開発する場合、全面的にサポートされるのは Common Information Model (CIM) リモートメソッド呼び出し (RMI) だけです。XML/HTTP など、ほかのプロトコルについては、com.sun アプリケーションプログラミングインタフェースで完全に機能するという保証はありません。

次の表に、RMI では正常に実行され、XML/HTTP では失敗する呼び出しの例を示します。

メソッド呼び出し 

エラーメッセージ 

CIMClient.close()

NullPointerException

CIMClient.execQuery()

CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED

CIMClient.getInstance()

CIM_ERR_FAILED

CIMClient.invokeMethod()

XMLERROR: ClassCastException