サーバ管理
SolarisはOSがパニックを起こしリブートした際に、メモリの内容をクラッシュダンプとして保存します。Solaris7以降では、デフォルトで起動スクリプト/etc/rc2.d/S75savecoreによりsavecoreコマンドが実行され、起動時にクラッシュダンプが取得されます。大まかな流れは以下の通りです。
このクラッシュダンプはパニックの原因が何であったか調査するために役立ちます。
ベンダーから「調査のためにクラッシュダンプファイルを送って下さい」と言われたら、/var/crash/host名/{vmcore.n,unix.n}(nは連番)ファイルを送ります。
なお、デフォルトでは、ダンプ先デバイスはswap、ダンプ保存先ディレクトリは/var/crash/host名となってますが、dumpadmコマンドで設定を色々変更することが出来ます。設定内容は、/etc/dumpadm.confに保存されます。
以下のようなオプションが有ります。
オプション | 意味 |
---|---|
c <type> | kernel,curproc,allのいずれか。ダンプコンテンツの種類を指定します。 |
n | savecore無効(クラッシュダンプを取得しない) |
y | savecore有効(クラッシュダンプを取得。デフォルト) |
d | ダンプ先デバイスの変更 |
s | ダンプ保存先ディレクトリ変更 |
m <しきい値> | 必要な空き容量設定(/var/crash/host/minfreeに設定)。しきい値を超過する場合クラッシュダンプは取得されません。/varの圧迫を防止できます。 |
# dumpadm -m 10m # dumpadm -s /var/tmp # dumpadm -c all
また、OS起動後に手動でクラッシュダンプを取得することも出来ます。
# savecore -L
DiskSuite使用環境下においてダンプ先デバイスがメタデバイスになっていない場合、/var/adm/messagesに"initial dump header corrupt"と言うワーニングを出力してクラッシュダンプの取得に失敗します。そうした場合、dumpadmコマンドにてダンプ先デバイスをメタデバイスに変更する必要があります。
現在のクラッシュダンプの設定を確認。
# dumpadm --- Dump content: kernel pages Dump device: /dev/dsk/c0t0d0s1 (dedicated) Savecore directory: /var/crash/host Savecore enabled: yes
ダンプ先デバイスをメタデバイスに変更する。
# dumpadm -d /dev/md/dsk/d1 --- Dump content: kernel pages Dump device: /dev/md/dsk/d1 (swap) // ←ここ Savecore directory: /var/crash/host Savecore enabled: yes