この章では、ときどき発生するが比較的修正しやすい、さまざまなソフトウェアの問題について説明します。特定のソフトウェアアプリケーションや内容に関連しない問題 (リブートの失敗やファイルシステムがフルになるなど) の解決方法も含みます。これらの問題の解決方法は、この後の節で説明します。
この章で説明する情報は次のとおりです。
この節で説明する情報の一部は、Oracle Solaris 10 リリースのみに関連しています。
システムがリブートに失敗した場合またはリブートしたがクラッシュした場合は、システムのブートを妨害しているソフトウェアまたはハードウェアの障害があると考えられます。
システムがブートしない原因 |
問題の解決方法 |
---|---|
システムが /platform/`uname -m`/kernel/unix を見つけられない |
SPARC システムの PROM 内の boot-device 設定を変更します。デフォルトのブートデバイスの変更については、『Solaris のシステム管理 (基本編)』の「ブート PROM を使用してデフォルトのブートデバイスを変更する方法」を参照してください。 |
Oracle Solaris 10: x86 システムで、デフォルトのブートデバイスが存在しない。次のメッセージが表示される。 Not a UFS filesystem. |
Oracle Solaris 10: Configuration Assistant (構成用補助) フロッピーディスク (ブートフロッピーとも呼ぶ) を使用してシステムをブートし、ブートするディスクを選択します。 |
Solaris 10 1/06: GRUB ブートアーカイブが壊れている。または、SMF ブートアーカイブサービスが失敗した。svcs -x コマンドを実行すると、エラーメッセージが表示される |
Solaris 10 1/06: フェイルセーフアーカイブをブートします。 |
/etc/passwd ファイル内に無効なエントリが存在する |
無効な passwd ファイルの復元については、『Solaris のシステム管理 (基本編)』の第 12 章「Oracle Solaris システムのブート (手順)」を参照してください。 |
ディスクなどのデバイスに、ハードウェアの問題がある |
ハードウェアの接続を確認します。
|
上記のリストで問題が解決できない場合は、ご購入先にお問い合わせください。
ルートパスワードを忘れると、システムにログインできなくなります。その場合、次の手順を実行する必要があります。
キーボードの停止シーケンスを使用して、システムを停止する。
Oracle Solaris 10: ブートサーバーやインストールサーバー、またはローカル CD-ROM からシステムをブートする。
ルート (/) ファイルシステムをマウントする。
/etc/shadow ファイルからルートパスワードを削除する。
システムを再起動します。
ログインして、ルートのパスワードを設定する。
ルートパスワードを忘れると、システムにログインできなくなります。その場合、次の手順を実行する必要があります。
キーボードの停止シーケンスを使用して、システムを停止する。
Solaris 10 1/06 リリース以降: x86 ベースのシステムでは、Solaris フェイルセーフアーカイブでシステムをブートする。
Oracle Solaris 10: ブートサーバーやインストールサーバー、またはローカル CD-ROM からシステムをブートする。
ルート (/) ファイルシステムをマウントする。
/etc/shadow ファイルからルートパスワードを削除する。
システムを再起動します。
ログインして、ルートのパスワードを設定する。
この手順については、『Solaris のシステム管理 (基本編)』の第 12 章「Oracle Solaris システムのブート (手順)」に詳述されています。
GRUB ベースのブートは、今回のリリースでは、SPARC ベースのシステムには使用できません。
次の例では、SPARC システムおよび x86 システムでルートパスワードを忘れた場合の対処方法について説明します。
次の例は、ルートパスワードを忘れた場合にネットワークからブートして回復する方法について説明します。この例では、ブートサーバーがすでに有効になっているものとします。システムのリブート後に、必ず新しいルートパスワードを適用してください。
(Use keyboard abort sequence--Press Stop A keys to stop the system) ok boot net -s # mount /dev/dsk/c0t3d0s0 /a # cd /a/etc # TERM=vt100 # export TERM # vi shadow (Remove root's encrypted password string) # cd / # umount /a # init 6 |
この例では、ブートサーバーがすでに有効になっているものとします。システムのリブート後に、必ず新しいルートパスワードを適用してください。
GNU GRUB version 0.95 (637K lower / 3144640K upper memory) +-------------------------------------------------------------------+ | be1 | be1 failsafe | be3 | be3 failsafe | be2 | be2 failfafe +------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
Searching for installed OS instances... An out of sync boot archive was detected on /dev/dsk/c0t0d0s0. The boot archive is a cache of files used during boot and should be kept in sync to ensure proper system operation. Do you wish to automatically update this boot archive? [y,n,?] n Searching for installed OS instances... Multiple OS instances were found. To check and mount one of them read-write under /a, select it from the following list. To not mount any, select 'q'. 1 pool10:13292304648356142148 ROOT/be10 2 rpool:14465159259155950256 ROOT/be01 Please select a device to be mounted (q for none) [?,??,q]: 1 mounting /dev/dsk/c0t0d0s0 on /a starting shell. . . . # cd /a/etc # vi shadow (Remove root's encrypted password string) # cd / # umount /a # reboot |
Oracle Solaris 10: 次の例は、ルートパスワードを忘れた場合にネットワークからブートして回復する方法について説明します。この例では、ブートサーバーがすでに有効になっているものとします。システムのリブート後に、必ず新しいルートパスワードを適用してください。
Press any key to reboot. Resetting... . . . Initializing system Please wait... <<< Current Boot Parameters >>> Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -s SunOS Release 5.10 Version amd64-gate-2004-09-30 32-bit Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. DEBUG enabled Booting to milestone "milestone/single-user:default". Hostname: venus NIS domain name is example.com Requesting System Maintenance Mode SINGLE USER MODE Root password for system maintenance (control-d to bypass): xxxxxx Entering System Maintenance Mode . . . # mount /dev/dsk/c0t0d0s0 /a . . . # cd /a/etc # vi shadow (Remove root's encrypted password string) # cd / # umount /a # init 6 |
この手順の対象は、Oracle Solaris 10 リリースを実行するシステムのみです。
Solaris 10 1/06: システムがクラッシュした場合、システムのリブート時に、ブートアーカイブ SMF サービスである svc:/system/boot-archive:default が失敗する場合があります。ブートアーカイブサービスが失敗した場合、svcs -x コマンドを実行すると、次のようなメッセージが表示されます。
svc:/system/boot-archive:default (check boot archive content) State: maintenance since Fri Jun 03 10:24:52 2005 Reason: Start method exited with $SMF_EXIT_ERR_FATAL. See: http://sun.com/msg/SMF-8000-KS See: /etc/svc/volatile/system-boot-archive:default.log Impact: 48 dependent services are not running. (Use -v for list.) svc:/network/rpc/gss:default (Generic Security Service) State: uninitialized since Fri Jun 03 10:24:51 2005 Reason: Restarter svc:/network/inetd:default is not running. See: http://sun.com/msg/SMF-8000-5H See: gssd(1M) Impact: 10 dependent services are not running. (Use -v for list.) svc:/application/print/server:default (LP print server) State: disabled since Fri Jun 03 10:24:51 2005 Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: lpsched(1M) Impact: 1 dependent service is not running. (Use -v for list.) |
問題を修正するには、次の処置を行います。
システムをリブートし、GRUB ブートメニューからフェイルセーフアーカイブのオプションを選択します。
システムが、ブートアーカイブを再構築するかを尋ねるプロンプトを表示したら、y キーを押します。
ブートアーカイブの再構築後、システムはブートの準備が完了します。
ブートを継続するには、次のコマンドを使用して SMF ブートアーカイブサービスをクリアします。
# svcadm clear boot-archive |
このコマンドを実行するには、スーパーユーザーまたは同等の役割になっている必要があります。
GRUB ブートアーカイブの再構築の詳細については、『Solaris のシステム管理 (基本編)』の「x86 システムをフェイルセーフモードでブートする方法」および bootadm(1M) のマニュアルページを参照してください。
ソフトウェアプロセスに問題がある場合、システムは完全にクラッシュせずに凍結、つまりハングすることがあります。ハングしたシステムから回復するには、次の手順に従ってください。
システムがウィンドウ環境を実行していたかどうかを調べて、次の推奨事項に従ってください。これらのリストで問題が解決できなかった場合は、手順 2 に進みます。
コマンドを入力しているウィンドウの中に、ポインタがあることを確認します。
間違って Control-s キー (画面を凍結する) を押した場合は、Control-q キーを押します。Control-s キーはウィンドウだけを凍結し、画面全体は凍結しません。ウィンドウが凍結している場合は、他のウィンドウを試します。
可能であれば、ネットワーク上の他のシステムからリモートでログインします。pgrep コマンドを使用して、ハングしているプロセスを見つけます。ウィンドウシステムがハングしている場合は、そのプロセスを特定して強制終了します。
リモートからログインして、システムをハングさせているプロセスを特定して強制終了します。
リモートからログインして、スーパーユーザーまたは同等の役割になり、システムをリブートします。
システムがまだ応答しない場合は、強制的にクラッシュダンプしてリブートします。強制的にクラッシュダンプしてブートする方法については、『Solaris のシステム管理 (基本編)』の「クラッシュダンプを強制してシステムをリブートする」を参照してください。
ルート (/) ファイルシステムや他のファイルシステムが一杯になると、次のようなメッセージがコンソールウィンドウに表示されます。
.... file system full |
ファイルシステムが一杯になる原因はいくつかあります。次の節では、一杯になったファイルシステムを回復する方法をいくつか説明します。ファイルシステムが一杯にならないように、古い使用されていないファイルを日常的に整理する方法については第 6 章ディスク使用の管理 (手順)を参照してください。
エラーの原因 |
問題の解決方法 |
---|---|
ファイルかディレクトリを間違った場所にコピーした。これは、アプリケーションがクラッシュして、大きなコアファイルをファイルシステムに書き込んだときにも発生する |
スーパーユーザーとしてログインするか、同等の役割になり、特定のファイルシステムで ls -tl コマンドを使用し、新しく作成された大きなファイルを特定して削除します。コアファイルの削除については、「コアファイルを見つけて削除する方法」を参照してください。 |
エラーの原因 |
問題の解決方法 |
---|---|
これは、tmpfs に許可されているよりも多く書き込もうとした、または現在のプロセスがメモリーを多く使用している場合に発生する |
tmpfs に関連するエラーメッセージから回復する方法については、tmpfs(7FS) のマニュアルページを参照してください。 |
エラーの原因 |
問題の解決方法 |
---|---|
ACL を持つファイルまたはディレクトリを /tmp ディレクトリにコピーしたり復元したりすると、ACL 属性が消失する。/tmp ディレクトリは、通常、一時ファイルシステムとしてマウントされ、ACL などの UFS ファイルシステム属性はサポートしない |
代わりに、/var/tmp ディレクトリにファイルをコピーまたは復元する |
この節では、データをバックアップまたは復元するときのいくつかの基本的な問題の解決方法について説明します。
ファイルシステムをバックアップしている際に、ルート (/) ファイルシステムが一杯になる場合があります。このとき、媒体には何も書き込まれず、ufsdump コマンドは、媒体の 2 番目のボリュームを挿入するようにプロンプトを表示します。
エラーの原因 |
問題の解決方法 |
---|---|
-f オプションに無効な宛先デバイス名を使用した場合、ufsdump コマンドはファイルをルート (/) ファイルシステムの /dev ディレクトリに書き込み、このファイルシステムが一杯になる。たとえば、/dev/rmt/0 ではなく /dev/rmt/st0 と入力した場合、バックアップファイルはテープドライブに送信されず、/dev/rmt/st0 としてディスクに作成される |
/dev ディレクトリで ls -tl コマンドを使用して、新しく作成された異常に大きなファイルを特定して削除する |
ufsrestore コマンドを使用できるのは、 ufsdump コマンドを使用してバックアップしたファイルを復元する場合だけです。tar コマンドを使用してバックアップした場合は、tar コマンドを使用して復元します。ほかのコマンドで書き込まれたテープを ufsrestore コマンドで復元しようとした場合、テープが ufsdump 形式でないことを知らせるエラーメッセージが表示されます。
ファイルを復元する場合に、間違った場所に復元してしまうことがよくあります。ufsdump コマンドは、常にファイルシステムのルートからのフルパス名でファイルをコピーします。したがって ufsrestore コマンドを実行する前に、ファイルシステムのルートディレクトリに移動しなければなりません。それよりも下のディレクトリでファイルを復元すると、そのディレクトリの下に完全なファイルツリーが作成されます。
対話型コマンドを使用すると、次の例のような ufsrestore> プロンプトが表示されます。
# ufsrestore ivf /dev/rmt/0 Verify volume and initialize maps Media block size is 126 Dump date: Fri Jan 30 10:13:46 2004 Dumped from: the epoch Level 0 dump of /export/home on starbug:/dev/dsk/c0t0d0s7 Label: none Extract directories from tape Initialize symbol table. ufsrestore > |
この節では、共通エージェントコンテナ共有コンポーネントで発生する可能性のある問題について説明します。この Oracle Solaris OS リリースでは、Oracle Solaris OS 内に共通エージェントコンテナ Java プログラムが含まれています。このプログラムは、Java 管理アプリケーション用のコンテナを実装します。通常、このコンテナはユーザーに表示されません。
発生する可能性のある問題は、次のとおりです。
ポート番号の衝突
スーパーユーザーパスワードのセキュリティーの危殆化
共通エージェントコンテナは、デフォルトでは次のポート番号を占有します。
JMX ポート (TCP) = 11162
SNMP アダプタポート (UDP) = 11161
トラップ用 SNMP アダプタポート (UDP) = 11162
コマンドストリームアダプタポート (TCP) = 11163
RMI コネクタポート (TCP) = 11164
Oracle Solaris Cluster のインストールの問題を解決する場合は、ポートの割り当てが異なります。
インストール時にこれらのポート番号のいずれかがすでに予約されている場合は、次の手順に従って共通エージェントコンテナの占有するポート番号を変更してください。
この手順では、ポートを確認する方法を示します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
共通エージェントコンテナの管理デーモンを停止します。
# /usr/sbin/cacaoadm stop |
次の構文を使用してポート番号を変更します。
# /usr/sbin/cacaoadm set-param param=value |
たとえば、SNMPAdaptor の占有するポートをデフォルトの 11161 から 11165 に変更するには、次のように入力します。
# /usr/sbin/cacaoadm set-param snmp-adaptor-port=11165 |
共通エージェントコンテナの管理デーモンを再起動します。
# /usr/sbin/cacaoadm start |
Java ES が稼働しているホストで、セキュリティー鍵の再生成が必要になる場合があります。たとえば、スーパーユーザーパスワードが公開されたり危殆化した危険がある場合は、セキュリティー鍵を再生成するべきです。共通エージェントコンテナサービスで使用される鍵は、/etc/cacao/instances/instance-name/security ディレクトリに格納されます。次の手順では、Oracle Solaris OS のセキュリティー鍵を生成する方法を示します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
共通エージェントコンテナの管理デーモンを停止します。
# /usr/sbin/cacaoadm stop |
セキュリティー鍵を再生成します。
# /usr/sbin/cacaoadm create-keys --force |
共通エージェントコンテナの管理デーモンを再起動します。
# /usr/sbin/cacaoadm start |
Sun Cluster ソフトウェアの場合は、クラスタ内のすべてのノードにこの変更を伝達する必要があります。