ここでは、Solaris 10 OS のシステム管理に関するバグ情報について説明します。
Solaris Trusted Extensions を有効にしたあと、SolarisTM 管理コンソールがハングアップし、Solaris 管理コンソールに root としてログインできません。Solaris 管理コンソールがハングアップする際に、次のエラーメッセージが表示されることがあります。
Configuring the Management Server... |
回避方法: 次の手順を実行します。
Solaris Trusted Extensions を設定してから、Solaris 管理コンソールを起動します。
「コンソール」メニューから「ツールボックスを開く」を選択します。
localhost を選択します (リストに含まれている場合)。
localhost がリストに含まれていない場合は、localhost と入力します。
Policy=TSOL ツールボックスを選択します。
もう一度 Solaris 管理コンソールに root としてログインします。
(省略可能) Solaris 管理コンソールへの 2 回目のログインも失敗した場合は、手順 1 〜 5 を繰り返します。その際、手順 3 では localhost ではなく127.0.0.1 と入力してください。
元のホストと新しいホストに同じパッチレベルのパッケージがインストールされていても、中間のパッチ履歴が異なっている場合は、ゾーンの接続に失敗することがあります。さまざまなエラーメッセージが表示されます。表示されるエラーメッセージは、2 つのホストのパッチ履歴によって異なります。
回避方法: 元のホストマシンと新しいホストマシンとで、各パッチが同じバージョン順序で適用されるようにします。
AHCI 準拠の SATA コントローラを備えたシステムの場合、通常は BIOS 設定でコントローラを AHCI、レガシー、または RAID モードに設定できます。Solaris は AHCI モードとレガシーモードをサポートしています。
Solaris の初期インストール後は、BIOS の SATA モードの設定を変更してはいけません。Solaris のアップグレードの前後にも、SATA モードの設定を変更してはいけません。Solaris のインストール後に BIOS の SATA モード設定を変更すると、システムがリセットされ、ブートに失敗しますが、その原因は示されません。
回避方法: BIOS 設定を変更した結果ブートに失敗した場合、Solaris をブートするには、元の設定に戻してください。
パッチ 119254-42 および 119255-42 以降、パッチインストールユーティリティー patchadd および patchrm が変更され、実行中のシステムと互換性のない既存ファイルや新しい機能を提供する一部のパッチの処理方法が変わりました。このユーティリティーの変更は、これらのパッチをどの Solaris 10 リリースにインストールする場合にも影響します。これらの「遅延起動」パッチは、カーネルパッチで提供される広範な変更をより適切に処理します。
遅延起動パッチでは、ループバックファイルシステム lofs を使ってルートファイルシステムのコピーが作成されます。パッチ対象の元のファイルは安全な場所にコピーされ、ルートファイルシステムの lofs コピーにパッチが適用されます。次に、元のファイルは、パッチが適用された状態で、新しいファイルの上に、lofs マウントで戻されます。このことは、パッチを適用している間、実行中のシステムの一貫性が保持され、ユーザーがリブートするまで、新しい機能がアクティブにならず、互換性のない変更がすべて隠されることを意味します。
ユーザーは遅延起動パッチの適用後はできるだけ早くリブートする必要がありますが、即座にリブートする必要はなく、引き続き追加のパッチを適用してからリブートしてもかまいません。
パッチの README に、どのパッチがリブートを必要とするかが記載されています。
パッチの操作は、パッチの README で推奨されている場合は特に、シングルユーザーモードで実行することを強くお勧めします。
非大域ゾーンを実行している場合や lofs が無効になっている場合は、遅延起動パッチをインストールまたは削除する際に、次の点を考慮してください。
このパッチ操作のためには、すべての非大域ゾーンを停止状態にする必要があります。パッチを適用する前に、非大域ゾーンを停止してください。
遅延起動パッチの適用を正常に完了するには、ループバックファイルシステム lofs が必要です。Sun Cluster 3.1 か Sun Cluster 3.2 を実行しているシステムは、lofs が有効になったときの HA-NFS 機能の制限によって、lofs が無効になっている可能性が高いです。したがって、遅延起動パッチをインストールする前に、次の手順に従ってループバックファイルシステムを再度有効にする必要があります。
/etc/system ファイルにある次の行を削除するかコメントにします。
exclude:lofs |
システムをリブートします。
パッチをインストールします。
パッチのインストール操作が完了したあと、/etc/system ファイルに同じ行を戻すかコメントを解除します。
リブートして通常の操作を再開します。
エラーメッセージは表示されません。
回避方法: Sun は Solaris Live Upgrade によるパッチ管理を推奨します。Solaris Live Upgrade は、実行中システムへのパッチ適用の問題を防ぎます。Solaris Live Upgrade を使用するとパッチに伴う停止時間が短縮され、また問題が起こった場合のフォールバック機能によってリスクが減少します。詳細は、『Solaris 10 5/08 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。
ZFS などの大規模なファイルシステムで実行されるアプリケーションでは、statvfs(2) または statfs(2) を使用してファイルシステムの状態に関する情報を取得すると、エラーが発生します。次のエラーメッセージが表示されます。
Value too large for defined data type |
回避方法: アプリケーションでは、代わりに statvfs64() を使用するようにしてください。
ゾーンに対応していない Solaris リリースを実行しているシステムでは、非大域ゾーンがインストールされている大域ゾーンの代替ルートパスを指定するために、patchadd -R などの -R オプションを受け入れるコマンドを使用しても正常に機能しません。
luupgrade [-t、-T、-p、-P] コマンドを使用した場合に表示されるエラーメッセージとは異なり、この場合は、コマンドレベルでの適切な制限の使用に関するエラーメッセージは表示されません。
-R オプションが機能しなかったことを示すものは何もありません。このコマンドが失敗した結果として、インストールされているどの非大域ゾーンにも Solaris 10 のパッケージやパッチはインストールされません。
この問題は、パッケージやパッチをインストールまたはアンインストールするときに発生します。
代替ブート環境に非大域ゾーンが構成されていても、非大域ゾーンがインストール済みでない場合には、-R オプションが機能します。ただし、潜在的な問題を回避するには、あるいは、代替ルートパスとして使用される非大域ゾーンがインストールされているかどうかわからない場合は、常に -R オプションの使用を制限してください。
詳細は、次のマニュアルページを参照してください。
patchadd(1M)
patchrm(1M)
pkgadd(1M)
pkgrm(1M)
回避方法 1: OS を Solaris 10 1/06 リリース以上にアップグレードします。
Solaris 10 3/05 リリースを実行している場合は、次のパッチをインストールして、代替ルートパスを作成するための -R オプションを受け入れるコマンドを使用可能にします。
SPARC ベースのシステムの場合は、パッチ ID 119254-19。
x86 ベースのシステムの場合は、パッチ ID 119255-19。
回避方法 2: patchadd -R コマンドなど、代替ルートパスを作成するための -R オプションを受け入れるすべてのコマンドの使用を制限します。
代わりに、代替ルート (Solaris 10 リリースなど) をアクティブ OS としてブートします。その後、-R オプションは使用せずに、Solaris 10 のパッケージとパッチのインストールやアンインストールを行います。
Sun Patch Manager Tool 2.0 が動作するシステムでは、Sun Patch Manager Tool 1.0 などのパッチマネージャーツールが動作するリモートシステムを管理できます。
ただし、旧バージョンのパッチマネージャーツールが動作するシステムで、Patch Manager Tool 2.0 が動作するリモートシステムを管理することはできません。旧バージョンは次のとおりです。
Sun Patch Manager Base Software 1.x
Sun Patch Manager Tool 1.0
Solaris 8 OS にはパッチマネージャーツール用の CIM/WBEM (Common Information Model/Web Based Enterprise Management) サポートがありません。したがって、Solaris 8 システムではパッチマネージャーによるリモート管理が行えません。
smdiskless コマンドを使用してディスクレスクライアントを削除すると、コマンドは失敗します。ディスクレスクライアントは、システムデータベースから削除されません。次のエラーメッセージが表示されます。
Failing with error EXM_BMS. |
回避方法: クライアントを追加する前に、/export パーティションの共有を解除してください。
smosservice delete コマンドを使用してディスクレスクライアントサービスを削除した場合、すべてのサービスディレクトリが正常に削除されるとは限りません。
回避方法: 次の手順を実行します。
そのサービスを使用するクライアントが存在しないことを確認します。
# 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 |
次のエントリを /etc/bootparams ファイルから削除します。
fs1-24 boottype=:os |
このエントリを削除するのは、このファイルサーバーが関数や資源をほかのサービスに提供していない場合に限られます。
次のエントリを /etc/dfs/dfstab ファイルから削除します。
share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr |
/var/sadm/system/admin/services/Solaris_10 ファイルを変更します。
ファイルサーバーが Solaris_10 でない場合は、そのファイルを削除します。
ファイルサーバーが Solaris_10 である場合は、冒頭の 3 行を残し、あとのエントリをすべて削除します。削除した行は、/export/root/templates/Solaris_10 に含まれるサービス USR_PATH および SPOOLED ROOT のパッケージとサポートされるプラットフォームを示します。
snmpd.conf の内容を変更したあとは、コマンド kill -HUP snmp Process ID を実行できます。このコマンドによって snmp プロセスが停止します。その後、システム管理エージェントのマスターエージェント(snmpd) に信号が送信されて snmpd.conf が再度読み取られ、導入した変更が実装されます。このコマンドによって必ずしもマスターエージェントが構成ファイルを再度読み取るとは限りません。その結果、このコマンドを使用しても、必ずしも構成ファイル内の変更が有効になるとは限りません。
回避方法: kill -HUP を使用する代わりに、変更を snmpd.conf に追加したあとでシステム管理エージェントを再起動してください。次の手順を実行します。
スーパーユーザーになります。
次のコマンドを入力します。
# /etc/init.d/init.sma restart
これは、Solaris 10 OS (x86 版) がインストールされた、サービスパーティションを保持する Sun LX50 のブート時に発生します。F4 ファンクションキーを押すことでサービスパーティションのブートを選択できますが、オプションを選択すると画面が空白になります。その後、システムはサービスパーティションのブートに失敗します。
回避方法: BIOS ブート画面の表示時に、F4 キーを押さないでください。タイムアウト後に「Current Disk Partition Information」画面が表示されます。type=DIAGNOSTIC に対応する「Part#」列の番号を選択します。続いて Return キーを押します。サービスパーティションがブートします。
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 |