この章では,次の情報について説明します。
システムの起動およびシャットダウンの概要 (2.1 節)
ブート操作 (2.2 節)
システムをブートするための準備 (2.3 節)
システムのブート方法 (2.4 節)
各種のシステム実行レベル (2.5 節)
システムの実行レベルの変更方法 (2.6 節)
マルチプロセッサ・システムでのブート上の考慮事項 (2.7 節)
システムの日付および時刻の設定方法 (2.8 節)
ブートの問題に対するトラブルシューティング方法 (2.9 節)
システムのシャットダウン用のオプション (2.10 節)
マルチユーザ・モードからシステムをシャットダウンする方法 (2.11 節)
シングルユーザ (root) モードからシステムをシャットダウンする方法 (2.12 節)
システムのシャットダウンと再起動は,システム管理者が定期的に行う日常的な業務です。 コンピュータ環境によっては,システムが常に動作していて,いつでも利用可能な状態でなければなりません。 このようなシステムでは,定期的な保守作業やソフトウェアのアップグレード時にだけシャットダウンされます。
Tru64 UNIX には,シャットダウンの回数を極力減らし,システムの動作時間を最大化するために,以下の機能があります。
AdvFS (Advanced File System) には,システムをオフラインにすることなく,バックアップを可能にする機能があります。
Event Manager,sys_check,およびメモリ巡視機能のような診断ツールには,システムの問題を初期段階で検出し,それがシャットダウンの原因になる前に訂正する機能があります。 Event Manager は,第 13 章で説明されています。 sys_check についての詳細は,第 12 章を参照してください。 メモリ巡視機能は,『Managing Online Addition and Removal』で説明されています。
CPU,およびディスクやテープのようなストレージ構成要素のホット・スワップ機能は,構成要素の故障が原因となる予期しないシャットダウンを回避するのを助ける機能です。
CPU のホット・スワップ機能は,最近のハードウェア・プラットフォームだけでサポートされています。
詳細は,『Managing Online Addition and Removal』を参照してください。
ストレージ構成要素のホット・スワップ機能は,大部分の最近のプラットフォームでサポートされています。
詳細は,ご使用中のプロセッサのハードウェア・ドキュメント,『ハードウェア管理ガイド』,および
hwmgr
(8)
クラスタ・システムの場合は,クラスタを動作させたままでも,1 つのクラスタ・メンバ上で,ソフトウェアのアップグレードを行うことができます。 この機能は,「ローリング・アップグレード」と呼ばれます。
通常は,システム・ユーザへの影響が最小になるように簡単にシステムをシャットダウンすることができます。 場合によっては,システムを迅速にシャットダウンしなければならないために,ユーザにある程度の混乱をもたらすことがあります。 またシステム管理者が制御できないような状況でシステムが突然シャットダウンして,ユーザに多大な影響を及ぼすことがあります。 それぞれのサイトの運用マニュアルでは,次の事項を規定してください。
計画的シャットダウンの手順とスケジュール。
シャットダウン原因の調査手順と,次の事項の手順。
エラーまたは問題の訂正手順。 トラブルシューティングの情報については,第 11 章,第 12 章,および第 14 章を参照してください。
できるだけ早くシステムをオンラインに戻す手順。
必要に応じて,紛失したデータを回復する手順。 システムのバックアップについては,第 9 章を参照してください。
システムをシャットダウンするには,root (スーパユーザ) の権限が必要です。
システム構成に従って,システムのシャットダウンとリブートで利用できるオプションがいくつかあります。
2.1.1 シャットダウンの方法
システムは,自動でシャットダウンすることも,手動でシャットダウンすることもできます。
自動シャットダウン
あるシステム・イベントの発生でシステムを自動的にシャットダウンするように,環境モニタリングのようなシステム監視ツールを構成することができます。
イベント管理については,第 13 章を参照してください。
手動シャットダウン
SysMan Menu と SysMan Station を使用すると,ローカルまたはリモートのシステムまたはクラスタをシャットダウンできます。 SysMan Menu の「一般的なタスク」ブランチには,SysMan Menu をどのようにアクセスしたかに従って適切なユーザ・インタフェースを呼び出す,「システムのシャットダウン」タスクがあります。 また,次のコマンドを使用して,コマンド行から上記のタスクを実行することもできます。
# sysman shutdown
詳細については,第 1 章を参照してください。
/usr/sbin/shutdown
コマンド行インタフェースを,文字セル端末で実行します。
利用可能なコマンド・オプションについては,
shutdown
(8)
CDE の「アプリケーション・マネージャ - 日常管理」フォルダの「シャットダウン」アイコンは,SysMan Menu のタスク「システムのシャットダウン」を呼び出します。
オペレーティング・システムのブートは,システム・コンソールを使って実行します。
システムに電源が投入されると,コンソール・プロンプトの記号
>>>
が表示されます。
このプロンプトで,コマンドを入力したり,システムのブート時の動作を制御する変数などの,システム構成変数を設定できます。
この章では,記号
>>>
はシステム・プロンプトを表します。
コンソールは,System Reference Manual (SRM) コンソールまたはファームウェア・コンソールとも呼ばれます。
コンソール・プロンプトに入力できるコマンドについては,システムに付属のオーナーズ・マニュアルを参照してください。
次のようにシステムをブートすることができます。
コンソールから手動でブートできます。
リモート・コンソール方式などのネットワークまたはモデムの接続を使ってブートすることができます。 リモート・コンソール方式については,第 1 章を参照してください。
シャットダウン後に実行されるブート動作を指定します。 たとえば,SysMan Menu または SysMan Station を使用してシャットダウンを開始した場合は,シャットダウンが完了してからシステムをシングルユーザ・モードで自動的にリブートするように設定できます。
auto_action
コンソール変数を設定すると,システムを自動的にブートできます。
これにより,たとえば電源の異常などのシステムの予期しないシャットダウンの後に,自動的にブートが行われます。
この動作は,自動ブートとも呼ばれます。
システムのシャットダウンとリブートに関する追加ドキュメントは,マニュアル,リファレンス・ページ,およびオンライン・ヘルプにあります。
2.1.3.1 マニュアル
Tru64 UNIX オペレーティング・システムのドキュメント・セットの中で,システムのシャットダウンとリブートについて説明しているものを以下にリストします。
コンソール・コマンドとコンソール変数の詳細については,システムに付属のオーナーズ・マニュアルを参照してください。
consvar
(8)consvar
は,ファームウェアのリビジョンに応じて,オペレーティング・システム内でコンソール環境変数を操作するためのコマンドです。
損傷のあるファイル・システムのチェックと修復をリブート前に行う場合は,『AdvFS 管理ガイド』と『Logical Storage Manager』のファイル・システムに関する章を参照してください。
システムのインストレーションと初期ブート操作については,『インストレーション・ガイド』を参照してください。 この章では,インストール済みのオペレーティング・システムのブートまたはリブートについて説明します。
『Kernel Debugging』には,クラッシュ・ダンプ・ファイルの解析方法が示されています。
『ハードウェア管理ガイド』には,ハードウェアの問題を診断する方法が示されています。
このマニュアルには,シャットダウンの計画や管理,およびエラー回復に関する次の情報についても説明があります。
システムによっては,冷却ファンの故障などの問題が発生した際に自動的にシステムをシャットダウンするために使用できる,環境モニタリングをサポートしています。 この機能の構成方法については,第 12 章を参照してください。
また,エラー状況,ログ・ファイル,およびクラッシュ・ダンプについては,第 12 章を参照してください。
Event Manager および SysMan Station には,統合化されたモニタ機能およびイベント報告機能があります。 この機能によって,ローカル・システム,リモート・システム,およびクラスタがモニタできます。 これらの機能を呼び出す方法については,第 1 章を参照してください。
リモートからシステム管理作業を行う場合や,ネットワークに障害がありダイアルアップ通信が必要な場合は,第 1 章の1.11 節でリモート・シリアル・コンソールについて参照してください。
必要であれば失われたデータを回復できるようにバックアップをスケジュールする方法については,第 9 章を参照してください。
次のリファレンス・ページには,各コマンドのオプションとインタフェースについての詳細情報が記載されています。
shutdown
(8)shutdown
コマンド行インタフェースの呼び出し方法と使用方法について説明しています。
sysman
(8)sysman_station
(8)SysMan オプションの使用方法について説明し,これらのユーティリティを呼び出して「システムのシャットダウン」タスクを実行する方法を説明しています。
wall
(1)rwall
(1)ユーザに対して,システムのシャットダウンを警告するユーティリティです。
halt
(8)fasthalt
(8)システムを停止するユーティリティです。
reboot
(8)fastboot
(8)システムをブートするユーティリティです。
fsck
(8)UFS ファイル・システムを検査し,修復するユーティリティです。
init
(8)システムを初期化するユーティリティです。
rc0
(8)rc2
(8)rc3
(8)システムを停止するとき,実行レベル 2 に入るとき,および実行レベル 3 に入るときに実行するコマンド・スクリプトです。
consvar
(8)システム・ファームウェアのコンソール環境変数を操作するコマンドです。
次のオンライン・ヘルプを利用することができます。
shutdown
-h
コマンドにより,コマンド行オプションのヘルプが表示されます。
SysMan Menu で提供されるシャットダウン・ユーティリティは,強化されたオンライン・ヘルプ機能を備えています。
SysMan Menu および SysMan Station の各タスクでは,それぞれのオンライン・ヘルプを表示できます。
ヘルプの概要は,/usr/doc/netscape/sysman/index.html
を参照してください。
オンライン・ヘルプを呼び出す方法については,第 1 章を参照してください。
2.1.4 システム・ファイル
ブート操作とシャットダウン操作では,次のシステム・ファイルを使用します。
/etc/inittab
init
プログラムに,初期化プロセスの作成および実行手順を指定します。
/vmunix
カスタム・カーネルの省略時の名前です。 カスタム・カーネルを構築する際には,正当なものであれば任意のファイル名を選択できます。
/genvmunix
汎用カーネルの省略時の名前です。 カスタム・カーネルを構築する場合,またはカスタム・カーネルが破損してブートできない場合は,汎用カーネルをブートします。
/sbin/rc0
,
/sbin/rc2
,および
/sbin/rc3
実行レベルのコマンド・スクリプトです。
rc0
スクリプトには,シャットダウンを速やかに行い,システムをシングルユーザ状態にする実行コマンドが入っています。
この実行コマンドは,/sbin/rc0.d
ディレクトリに置かれます。
rc2
スクリプトには,マルチユーザ状態,実行レベル 2 に初期化する実行コマンドが入っています。
この実行コマンドは,/sbin/rc2.d
ディレクトリに置かれます。
rc3
スクリプトには,マルチユーザ状態,実行レベル 3 に初期化する実行コマンドが入っています。
この実行コマンドは,/sbin/rc3.d
ディレクトリに置かれます。
次のユーティリティも,ブート操作の際に使用する可能性があります。
fsck
fsck
コマンドは,ufs_fsck
プログラムのラッパー・プログラムです。
このコマンドは,UFS ファイル・システムを検査し,修復します。
AdvFS
ファイル・システムの検査については,
advfs
(4)
consvar
consvar
コマンドを使用すると,オペレーティング・システムの動作中に,コンソール環境変数の取得,設定,リスト表示,保存ができます。
システムが
consvar
をサポートしているかどうかは,次のコマンドで調べることができます。
# /sbin/consvar -l auto_action = HALT boot_dev = dsk0 bootdef_dev = dsk0 booted_dev = dsk0 boot_file = booted_file = boot_osflags = A . . .
consvar
がサポートされている場合,コンソール変数の現在の設定が表示されます。
オペレーティング・システムをブートすると,正常に動作するために必要な一連のタスクが開始されます。
ブート中は,カーネルをメモリにロードし,動作に必要なルーチンを初期化するため,システムは障害が発生しやすい状態にあります。
したがって,システムのブート処理中はシステムの状態を把握し,問題が発生した場合には迅速に対応できるようにしておいてください。
2.2.1 自動ブートと手動ブート
システムのブート方法には自動ブートと手動ブートがあります。
自動ブートの場合,システムが初期化プロセスを開始し,ブートが完了するか障害が発生すると,自動ブート操作を終了します。
なんらかの理由で自動ブートに失敗したときのみ,手動でブートする必要があります。
たとえば
fsck
コマンドでファイル・システムを検証できない場合です。
手動ブートの場合,システムが初期動作を実行した後で制御をユーザに渡し,ユーザの操作が終了するとシステムに制御が戻りブート操作を終了します。 システムをシングルユーザ・モードでブートする場合は,手動ブートを使用します。 自動または手動ブートの結果,正常終了するか異常終了するかによって次のような状態になります。
ブート操作が正常終了した場合
システムは初期化されます。
シングルユーザ・モードでは,コンソールまたは端末画面にスーパユーザ・プロンプト
#
が表示されます。
マルチユーザ・モードでは,login
プロンプトまたはスタートアップ表示が表示されます。
プロンプトまたはスタートアップ表示は,ハードウェアあるいは起動ソフトウェアによって異なります。
ブート操作が異常終了した場合
エラー・メッセージとその後にコンソール・プロンプト (>>>
) が表示されます。
エラーの状態によっては,コンソール・プロンプトを表示しない状態でシステムがハングします。
2.2.2 シングルユーザ・モードまたはマルチユーザ・モードへのブート
システムはブートの後,シングルユーザ・モードかマルチユーザ・モードになります。
init
操作は,制御をユーザに渡すに前に起動スクリプトを呼び出さないため,ルート・ファイル・システムは読み取り専用モードでマウントされます。
ネットワークやその他のデーモンのスタートアップは行われず,ファイルの検査や修正も行われません。
また,システムの完全な使用に必要なその他の操作も,自動的には実行されません。
他のユーザが並行して処理を行う可能性がなく,特定の管理者用のタスクのみを実行する場合は,シングルユーザ・モードにブートします。
必要なタスクを手動で実行した後,Bourne シェルを終了します。
たとえば,新しいハードウェアの検査,異常のあるファイル・システムのマウントと検査,ディスク・パーティションの変更,またはシステム・クロックの設定などを行います。
作業が終了したらシステムに制御を戻します。
init
操作は起動タスクを続行し,マルチユーザ・モードでブートします。
マルチユーザ・モードへのブートでは,システムがカーネルをロードし,ハードウェアおよび仮想メモリの初期化,資源割り当て,スケジューリング,構成,モジュールのロードなどの処理を実行します。
主要な初期化タスク (プロセス 0) が終了すると,init
プロセス (プロセス 1) は
/etc/inittab
ファイルを読み取り,そのファイル内の命令に従って動作し,コマンド実行スクリプトの実行などの一連の補助タスクを開始します。
コマンド実行スクリプトには,ファイル・システムのマウントと検査,一時的ファイルの削除,クロック・デーモンの初期化,ネットワーク・デーモンの初期化,プリント・スプーリング・ディレクトリおよびデーモンのセットアップ,エラー・ロギング機能の設定,スクリプト内または関連ディレクトリで指定されたその他のタスクの実行などの処理を開始するためのエントリが含まれています。
これらの処理が終了するとシステムは使用可能な状態になります。
Tru64 UNIX システムでは,カスタム・カーネルがブートできない場合,ブートするカーネルを選択することができます。
システムで発生している問題を解決するために汎用カーネル (/genvmunix
) でブートすることができます。
また,新しいドライバのテストや既存カーネルヘのオプションの追加のために,別のカスタム・カーネルでブートすることもできます。
2.3 インストール済みシステムのブート
システム管理者は,さまざまな状態からシステムをブートする必要があります。 以降の項では,次に示すシステム状態からのリブートの準備と開始のための手順を説明します。
電源が切られているシステム (2.3.1 項)
電源は入っているが停止しているシステム (2.3.2 項)
シングルユーザ・モードでブートしているシステム (2.3.3 項)
クラッシュしたシステム (2.3.4 項)
ネットワークから切り離されたネットワーク・システム (2.3.5 項)
注意
システムがシングルユーザ・モードで実行されている場合,
ed
エディタを使用するためにはルート・ファイル・システムの保護を読み取り/書き込み可能に変更する必要があります。 スーパユーザ・プロンプトに対して,次のコマンドを入力してください。# mount -u /
電源を投入し,システムをブートする場合は,次の手順に従ってください。
ハードウェアとすべての周辺デバイスが接続されていることを確認します。
診断出力の情報とそれに対する対処方法については,ハードウェアのオペレータ・マニュアルを参照してください。
周辺デバイスの電源をいれます。 周辺デバイスの起動については,オペレータ・マニュアルまたはハードウェアのユーザ・マニュアルを参照してください。
プロセッサの電源をいれます。
ハードウェアの起動オペレーションと診断オペレーションが終了したことを確認します。
ほとんどのハードウェアは,起動オペレーションで診断検査を行います。 ハードウェアの再起動および診断オペレーションについては,ハードウェアのオペレータ・マニュアルを参照してください。
コンソール・プロンプト (>>>
) が表示されるのを待ちます。
電源投入時にシステムが自動的にブートされるように設定してある場合は,停止ボタンを押してコンソール・プロンプトを表示させてください。
システムの停止ボタンの位置は,ハードウェアのオペレータ・マニュアルを参照してください。
システムの省略時のブートについての詳細は,2.4 節を参照してください。
起動モードを決めます。
システム管理者が実行するタスクがあり,root 以外のユーザがシステムへアクセスするのを制限したい場合は,このモードを使用します。
シングルユーザ・アクセスの制限を必要とせず,システムのすべての機能を初期化する場合は,マルチユーザ・モードの 1 つ (ネットワーキングなしまたはネットワーキングありのマルチユーザ・モード) でブートします。
希望する起動モードに対応するブート・コマンドを入力します。 システムのブートに必要なコマンドと手順については,2.4 節を参照してください。
ハードウェアに電源が入っていて使用可能な状態ではあるがプロセッサが停止している場合,システムはコンソール・モードになっています。
たとえば,shutdown -h
コマンドでプロセッサをシャットダウンした後や,halt
コマンドを実行した場合には,コンソール・プロンプト (>>>
) が表示されます。
システムがコンソール・プロンプトを表示している場合,次の手順に従ってシステムをブートしてください。
起動モードを決めます。
システム管理者が実行するタスクがあり,root 以外のユーザがシステムへアクセスするのを制限したい場合は,このモードを使用します。
シングルユーザ・アクセスの制限を必要とせず,システムのすべての機能を初期化する場合は,マルチユーザ・モードの 1 つ (ネットワーキングなしまたはネットワーキングありのマルチユーザ・モード) でブートします。
希望する起動モードに対応するブート・コマンドを入力します。 システムのブートに必要なコマンドと手順については,2.4 節を参照してください。
システムの電源が投入されて使用可能になっており,プロセッサが動作していて,かつアクセスが root に制限されている場合は,システムはシングルユーザ・モードになっています。
システムがスーパユーザ・プロンプト (#
) を表示している場合,次の手順に従って,マルチユーザ・モードへ移行する準備を行ってください。
シングルユーザ・モードで処理を続行するか,マルチユーザ・モードへ移行するかを決めます。
システム管理者がさらに実行するタスクがあり,root を除くすべてのユーザのアクセスを制限したい場合は,このモードで処理を続行します。
シングルユーザ・アクセスの制限を必要とせず,システムのすべての機能を初期化する場合は,マルチユーザ・モードの 1 つ (ネットワーキングなしまたはネットワーキングありのマルチユーザ・モード) でブートします。
マルチユーザ・モードへ移行する準備ができたら [Ctrl/d] を押します。
システムのブートに必要なコマンドと手順については,2.4 節を参照してください。
システムがクラッシュし,自動的に回復してリブートすることができない場合は,次の手順に従ってシステムをブートしてください。
クラッシュ・ダンプ・ファイルの保存方法と,クラッシュの原因をシステム・ログ・ファイルで検査する方法については,第 12 章を参照してください。
ハードウェアとすべての周辺デバイスが接続されていることを確認します。
必要なら,ハードウェアの電源をいれます。
必ず,プロセッサより先に周辺デバイスおよびその他のデバイスの電源をいれます。
ハードウェアの再起動オペレーションと診断オペレーションを監視します。
診断出力の情報と対処方法については,ハードウェアのオペレータ・マニュアルを参照してください。
診断テストでハードウェア障害が示された場合
弊社の各支店/営業所に連絡してください。 ハードウェアの障害は重大な問題なので,処理を続行したり,欠陥のあるハードウェアを無視して使用しないでください。
システムが自動的にブートするように設定してある場合
停止ボタンを押してコンソール・プロンプトを表示させます。 システムの停止ボタンの位置については,ハードウェアのオペレータ・マニュアルを参照してください。
起動モードを決めます。
root 以外のユーザがシステムへアクセスするのを制限したい場合は,このモードを使用します。 クラッシュが発生したら,シングルユーザ・モードで作業を開始するのが賢明です。 すべてのファイル・システムに矛盾がないかどうか完全に確認し,その他クラッシュ時に必要な措置を行った上で他のユーザのシステムへのアクセスを使用可能な状態にします。
ログイン・パーミッションを持つすべてのユーザにアクセスを許可する必要がある場合は,マルチユーザ・モードの 1 つ (ネットワーキングなしまたはネットワーキングありのマルチユーザ・モード) でブートします。
必要なブート・コマンドを入力します。 システムのブートに必要なコマンドと手順については,2.4 節を参照してください。
2.3.5 ネットワークから切り離されたシステムのブート準備
システムがネットワークをサポートするように構成されている場合,ブート操作では,構成されているすべてのネットワーク・サービスを起動しようとします。 これにより,システムが停止したり,サービスが存在するかをテストするために非常に長い時間がかかります。 ネットワークから動作中のシステムを削除して,システムをスタンドアロン・モードで使用したり,故障したネットワーク・デバイスなどのシステムの問題を訂正することもできます。
サービスを再構成することなくシステムがネットワークから切り離された場合や,システムがクラッシュしたためネットワークから切り離さなくてはならない場合は,追加の手順を実行してからシステムをリブートします。
また次の場合,動作中のシステムをネットワークから切り離さなければならないことがあります。
システムをスタンドアロン・モードで使用する場合
故障したネットワーク装置などの,システム障害を修復する場合
次の手順では,システムがコンソール・プロンプトの状態で停止しているものとします。
コンソール・プロンプトで
boot_osflags
環境変数に
s
を設定し,シングルユーザ・モードでブートが停止するようにします。
>>> set boot_osflags s
代替ディスクからブートしたい場合など,この時点で適切なコンソール変数を設定します。 詳細については,2.4.1 項を参照してください。
システムをブートして,シングルユーザ・モード (スタンドアロン・モード) にします。
>>> boot
システムでスーパユーザ
(#)
プロンプトが表示されたら,次のようなコマンドを使ってファイル・システムを書き込み可能でマウントします。
# mount -u /
ファイル・システムを書き込み可能でマウントすることにより,ed
ライン・エディタを使用して,システム・ファイルを編集することができます。
また,コマンドやユーティリティにアクセスすることができます。
vi
などの他のエディタは,ルート・ファイル・システム (/
) には存在してないため,ここでは使用できません。
/etc/rc.config
,/etc/rc.config.common
および
rc.config.site
ファイルを,次のように,破損に備えてコピーしておきます。
# cp /etc/rc.config /etc/orig_rc.config # cp /etc/rc.config.common /etc/orig_rc.config.common # cp /etc/rc.config.site /etc/orig_rc.config.site
注意
スタートアップ操作とシステム構成では,ファイル
/etc/rc.config
,/etc/rc.config.common
および/etc/rc.config.site
の一貫性が確保されていなければなりません。 これらのファイルは,rcmgr
コマンド以外では修正しないでください。 ファイルの形式が正しくない場合は,他のサブシステムやユーティリティでこれらのファイルが正しく解析されない可能性があります。 詳細は,を参照してください。 クラスタ・メンバでのブート操作の実行については,TruCluster のマニュアルを参照してください。 rcmgr
(8)
rcmgr
ライン・エディタを使用して,ネットワーク・サービスを呼び出す構成ファイル・エントリを変更します。
たとえば,Network Information Service (NIS) をテストしてオフにする場合は,次のようなコマンドを入力します。
# rcmgr get NIS_CONF YES # rcmgr set NIS_CONF NO
この操作を,NTP または NFS などの,起動済みのネットワーク・システムごとに繰り返します。
変更し終わったら,システムを停止して,次のようにすべてのコンソール環境変数を再設定します。
>>> set boot_osflags a >>> boot
システムは,ネットワーク・サービスを開始せずに,マルチユーザ・モードでリブートします。
システム・モデルとファームウェア・リビジョンによって,コンソール・コマンドには多少の違いがあります。
ご使用中のプロセッサのコンソール・コマンドについては,ハードウェアのドキュメントを参照してください。
2.4 システムのブート
カーネルをブートするために使用するコマンドは次の要素により異なります。
プロセッサ・タイプ
実行レベル
ブートするカーネルの位置 (システム・ディスクかリモート・サーバか)
すべてのプロセッサをブートするのか単一プロセッサのみをブートするのか (マルチプロセッサ・システムの場合)
コンソール環境変数が定義されているかどうか
省略時のカーネルをブートするのか代替カーネルをブートするのか
2.4.1 コンソール環境変数の設定とブート・コマンドの使用
この項では,典型的なコンソール設定の例を示します。 詳細情報については,システムに付属のハードウェア・ドキュメントを参照してください。 システムのブートについては,『インストレーション・ガイド』および 『インストレーション・ガイド -- 上級ユーザ編』も参照してください。
RAID ストレージ・アレイ,または記憶領域ネットワーク内のファイバ・チャネル・コントローラを使う場合は,適切なストレージ管理ソフトウェアを使ってブート・デバイス情報を取得し,設定しなければなりません。 ストレージ・アレイのドキュメントを参照してください。
システムをブートする場合,コンソール環境変数の使用方法と,ブート処理での役割について理解しておく必要があります。 表 2-1 に,コンソール環境変数とその機能を示します。
変数 | 機能 |
boot_reset |
on
に設定するとハードウェアがリセットされる。 |
boot_osflags |
ブート・ローダとカーネルを制御するために使用されるフラグの組合せ。 |
bootdef_dev |
ブート・デバイス |
boot_file |
ブートするカーネル。 |
cpu_enable |
特定のプロセッサをコンソールから選択的に有効にする。 |
ブート操作のためにハードウェアを準備するには,コンソール・プロンプトで次の操作を実行します。
auto_action
変数を
halt
に設定します。
>>> set auto_action halt
このコマンドを実行すると,システムがクラッシュした場合,あるいは停止ボタンを押した場合に,コンソール・プロンプトを表示してシステムは停止します。
ご使用のプロセッサで必要ならば,boot_reset
変数を
on
に設定して,ブートする前に強制的にハードウェアをリセットします。
例を次に示します。
>>> set boot_reset on
ご使用のプロセッサで必要ならば,SCSI デバイスをリセットするための待ち時間を設定します。
>>> set scsi_reset 4
次の手順で,boot_osflags
変数とブート・デバイスを設定します。
boot_osflags
変数に設定するオプションを決めます。
使用できるオプションを表 2-2
に示します。
表 2-2: boot_osflags 変数のオプション
オプション | アクション |
a |
マルチユーザ・モードでブートする。 省略時の設定では,カーネルはシングルユーザでブートする。 |
k |
kdebug
デバッガを使用して,カーネルをデバッグする。
詳細は,『Kernel Debugging』を参照。 |
d |
フル・クラッシュ・ダンプを使用する。 省略時の設定では,部分ダンプを使用する。 クラッシュ・ダンプについての詳細は,第 12 章を参照。 |
i |
カーネルと特別な引数の入力を促すプロンプトを表示する。 省略時の設定では,プロンプトは表示されない。 対話式ブートの例は,2.4.3 項を参照。 |
これらのオプションは,boot_osflags
変数に続けて指定することで,効果を持ちます。
たとえば,マルチユーザ・モードでブートしフル・クラッシュ・ダンプを使用する場合は,次のコマンドを入力します。
>>> set boot_osflags ad
省略時の値を設定する場合は,次のように入力して変数をクリアします。
>>> set boot_osflags ""
次のコマンドを入力して,システム・デバイスのユニット番号を調べます。
>>> show device
システムをブートする際にはブート・デバイスを指定しなければなりません。
常に同じデバイスからブートする場合は,次のコマンドで
bootdef_dev
変数に省略時のブート・デバイスを設定することができます。
たとえば,ディスクdka000
からシステムをブートするためには,次のコマンドを入力してください。
>>> set bootdef_dev dka000
ハードウェア構成には,デュアル KZPBA-CB バスに接続され,マルチバス・フェイルオーバ用に構成される HSZ コントローラを含めることができます。
この場合,bootdef_dev
コンソール変数の設定では,ブート・ディスク装置へのバス・パスを両方指定します。
デュアル・コントローラ・システムの構成時には,その片方のコントローラを優先パスとして指定します。
このコントローラ上のブート・デバイスは,bootdef_dev
コンソール変数の 1 番目の引数として指定します。
たとえば,システムに A と B の 2 つのコントローラがあり,4 つの論理ボリューム
dka0
,dka1
,dkb0
,および
dkb1
に接続されている場合,コントローラ B を優先コントローラとして指定するには,次のように,**b*
デバイスを 1 番目の引数として
bootdef_dev
コンソール変数に指定します。
例:
>>> set bootdef_dev dkb0.0.0.0.6.0, dka0.0.0.5.0
各デバイス・パスは,コンマで区切ります。 スペースやタブ文字は使用しないでください。 1 番目のデバイスからコンソールをブートできない場合,次のデバイスからのブートが試みられます。
>>> set boot_osflags i
システムは,ブート時にカーネルへのパスの入力を促します。 次に例を示します。
Enter [kernel_name] [option_1 ... option_n]: genvmunix
システムは情報メッセージを表示します。
プロセッサによっては,boot_file
変数にブートしたいカーネル名を設定することによって,代替カーネルをブートすることができます。
たとえば,汎用カーネル (genvmunix
) をブートするには次のコマンドを入力します。
>>> set boot_file genvmunix
ご使用のプロセッサによっては,省略時カーネル (/vmunix
) をブートしたい場合,boot_file
変数を次の例のようにクリアする必要があります。
>>> set boot_file ""
マルチプロセッサ・システムの場合,set cpu_enable
コマンドを使用して,有効にするプロセッサをコンソールで設定することが可能です。
コンソールから選択的に各プロセッサを有効にすることができます。
各ビットがスロット番号を表すようなビット・フィールドをマスクと呼びます。
CPU マスクを
ff
に設定することによって,すべてのプロセッサを有効にすることができます。
マスクを設定した後,システムの電源を切り,再度電源をいれてください。
Tru64 UNIX オペレーティング・システムは,各プロセッサをブート時に有効/無効にするためのメカニズムも提供します。
詳細については,『システムの構成とチューニング』 の
cpu-enable-mask
属性に関する説明を参照してください。
コンソール変数を設定したら次のコマンドを実行してシステムをブートします。
>>> b
次に,2.4.1 項に示したコマンドを変更する方法について説明します。
bootdef_dev
コンソール変数の変更
bootdef_dev
コンソール変数を無視させるには,ブート・コマンドへの引数としてブート・デバイスを指定します。
たとえば,ブート・デバイスとしてディスク
dka0
が設定されている場合に,ディスク
dkb0
からブートしたい場合には次のコマンドを入力します。
>>> b dkb0
boot_osflags
コンソール変数の変更
次のようにブート・コマンドに
-fl
オプションを指定すると,boot_osflags
変数は無視されます。
>>> b -fl
boot_osflags
変数を無視させるには,選択内容を
-fl
オプションと一緒に指定します。
たとえば,次のコマンドでは,代替カーネルを指定できるように対話モードでブートして,その後マルチユーザ・モードでブートします。
>>> b -fl ai
オプションの一覧は,表 2-2 を参照してください。 対話式ブート・セッションの例は,2.4.3 項を参照してください。
boot_file
コンソール変数の変更
boot_file
コンソール変数で指定したカーネル以外をブートするには,カーネル・ファイルへのパスを指定します。
たとえば,汎用カーネル (/genvmunix
) をブートするには,次のコマンドを入力します。
>>> b -fi genvmunix
2.4.3 対話式ブートを使うルート・ファイル・システムの検証
コンソールのブート・コマンドで -flags i オプションを使って,対話式ブート・セッションを起動します。 システムで利用できるコンソール・コマンド・オプションによっては,他のブート・オプションとパラメータを -i オプションを使って入力することができます (対話式ブート・オプションの情報については,プロセッサのオーナーズ・マニュアルを参照してください)。
対話式ブート・セッションでは,ルート・ファイル・システム (/
) にある
osf_boot
コマンドが実行されます。
このコマンドを使用すると,システムを完全にブートせずにルート・ファイル・システムを検査することができます。
次の手順を使ってこの作業を行います。
この手順では,システムがシャットダウンされていて,コンソール・プロンプトの状態であることを前提としています。
コンソール・プロンプト (>>>
) で次のコマンドを入力し,対話式モードでシステムをブートします。
>>> boot -flags i
次のメッセージが表示されます。
UNIX Boot - date Enter: <kernel_name> [option_1...option_n] or: ls [name]['help'] or quit to return to console Press return to boot 'vmunix'# #
この時点でのオプションは次のとおりです。
代替カーネルの名前を入力し,必要なブート・オプションを指定します。 使用しているシステムのブート・オプションの一覧は,オーナーズ・マニュアルを参照してください。
次のコマンドを入力して,ls
コマンドのヘルプを参照します。
# help
ls
コマンドのオプションは,ステップ 3 で説明しています。
quit
コマンドを入力するとコンソール・プロンプトに戻ります。
boot_file
コンソール変数で他のカーネルが指定されていない場合は,リターンを押して省略時のカスタム・カーネル (/vmunix
) をブートします。
ls
コマンドを使い,ルート・ファイル・システムのディレクトリの内容をリストするか,特定のファイルをリストします。
ファイル名を指定しない場合は,ディレクトリの内容全部が表示されます。
次に,有効なコマンドの例を示します。
このコマンドは,最上位レベルのルート・ディレクトリ (/
) の内容をすべてリストします。
# ls /
コンソールに表示を行っていて,他のコマンドが使えない場合は,表示出力を制御することができないため,出力がスクロールされて画面から消えることがあります。
このような場合は,疑問符 (?
) やアスタリスク (*
) のワイルドカード文字による文字や文字列の照合を使って,表示される量を少なくしてください。
たとえば次のようにします。
# ls /etc/*rc*
このコマンドは,/etc/rc.config
のように,文字列 rc と一致する,/etc
ディレクトリ内のファイルすべてを返します。
ワイルドカード文字は,ファイル名に対してはサポートされていますが,ディレクトリ名に対してはサポートされていません。
実行レベルはシステムの状態を指定するものであり,それぞれの実行レベルでどのプロセスの実行が許されるかを定義します。 一般的に使用される実行レベルは,次のとおりです。
実行レベル | システムの状態 |
0 |
停止状態 |
S
または
s |
シングルユーザ・モード |
2 |
ネットワーク・サービスなしのマルチユーザ・モード |
3 |
ネットワーク・サービス付きのマルチユーザ・モード |
null | コンソール・モード |
inittab
ファイルには,特定の実行レベルを定義する行エントリと,その実行レベルに対応するコマンド実行スクリプトが入っています。
init
プロセスは実行を開始されると,inittab
ファイルを読み取り,適切なコマンド起動スクリプトを実行します。
このスクリプトが特定の実行レベルで起動するプロセス (および,システムがあるレベルから別のレベルに変わった場合に強制終了させるプロセス) を定義します。
inittab
ファイルの見方と変更方法についての詳細は,
init
(8)inittab
(4)
2.6.2 項では,init
コマンドを使用して実行レベルを変更する方法について説明します。
新しい実行レベルに変更する前に,inittab
ファイルを見て,変更する実行レベルで必要なプロセスがサポートされていることを確認してください。
特に重要なのは
getty
プロセスです。
このプロセスはコンソールおよびその他のログイン・ユーザの端末回線アクセスを制御します。
inittab
ファイルの
getty
エントリで,すべての実行レベルでシステム・コンソール・アクセスが許されていることを確認してください。
実行レベルの定義についての詳細は,
inittab
(4)getty
(8)
実行レベルを変更するとユーザの
getty
プロセスが終了し,ログイン機能が使用不能になり,他のユーザ・プロセスが終了することがあります。
新しい実行レベルに変更する前に,wall
または
write
コマンドを使用して,実行レベルを変更することを各ユーザに警告してください。
ユーザ端末の
getty
エントリを検査して,新しい実行レベルがエントリに指定されていることを確認してください。
指定されていない場合は,init
プロセスからの
kill
シグナルに応答してプロセスが終了しないように,そのユーザにログオフするよう促します。
システムが初めて初期化される場合には,inittab
ファイル内の
initdefault
行エントリによって定義されている省略時の実行レベルに入ります。
init
プロセスが実行レベルを変更するためのシグナルを受信するまで,システムはその実行レベルのままです。
次の項で,これらのシグナルについて説明し,実行レベルを変更するためのコマンドを示します。
2.6.1 シングルユーザ・モードでの実行レベルの変更
シングルユーザ・モードで作業している場合は,[Ctrl/d] を押して実行レベルを変更します。 [Ctrl/d] を押すと,シェルが終了して次のメッセージが表示されます。
INIT: New run level: 3
このメッセージが一般的に見られるのは,ブート操作中にシングルユーザ・モードからマルチユーザ・モードに変わるときです。
その他の場合,実行レベルの入力を促すプロンプトが表示されます。
実行レベルの変更についての詳細は,
init
(8)
init
プロセスは
inittab
ファイルを検索して
boot
または
bootwait
キーワードのあるエントリを探し,これらのエントリに従って動作した後,新しい実行レベルでの実行が許可されているその他のエントリを実行します。
2.6.2 マルチユーザ・モードからの実行レベルの変更
ネットワークなし,ネットワーク付きの 2 つのマルチユーザ実行レベルのうちのいずれかで作業している場合には,init
コマンドを使用して次のように実行レベルを変更することができます。
実行レベル | システムの状態 |
0 |
停止状態 |
2 |
ローカル・プロセスとデーモンのあるマルチユーザ実行レベル |
3 |
リモート・プロセスとデーモンのあるマルチユーザ実行レベル |
1 ,4 ,5
〜
9 |
/etc/inittab
ファイル内の番号フラグで指定された実行レベルになる。
このようなエントリが存在しない場合は,何も実行されず,メッセージも表示されない。 |
M ,m |
制御がコンソール・デバイスに移され,停止してシングルユーザ・モードになる。 |
Q ,q |
init
プロセスによる
inittab
ファイルの再調査が必要であることを指定。 |
S ,s |
実行レベルが,必須のカーネル・サービスのみのシングルユーザ状態に変更される。 |
現在のマルチユーザ実行レベルから別のマルチユーザ実行レベルに変更するには,移りたい実行レベルに対応する引数を付けて
init
コマンドを入力してください。
たとえば,実行レベル 2 から実行レベル 3 に変更するには,次のコマンドを入力します。
# init 3
init
プロセスは
inittab
ファイルを読み取り,新しい実行レベルへの変化に対応する命令に従います。
2.6.2.2 シングルユーザ・モードへの変更
init
コマンドで実行レベル引数
s
を使用して現在のマルチユーザ・モードからシングルユーザ・モードに変更することができます。
たとえば,現在の実行レベルからシングルユーザ・モードに変更するには,次のコマンドを入力してください。
# init s
ユーザに 10 分の警告期間を与えてマルチユーザ・モードからシングルユーザ・モードに変更するには,次のコマンドを入力します。
# /usr/sbin/shutdown +10 Bringing system down to single-user for testing
シングルユーザ・モードからマルチユーザ・モードに戻るには,[Ctrl/d]
を入力するか,プロンプトで
exit
コマンドを入力してください。
これにより,init
コマンドは,実行レベルの入力待ち状態になります。
ネットワーク・デーモンを起動しないでマルチユーザ・モードに戻るには,プロンプトに対して
2
を入力します。
ネットワーク・デーモンを起動してマルチユーザ・モードに戻るには,3
を入力します。
別の方法として,次のコマンドのいずれかを使用して,システムをリブートすることができます。
# /usr/sbin/shutdown -r now
または
# /sbin/reboot
inittab
ファイルを再度読み取るには,次のように,q
引数を付けて
init
コマンドを入力します。
# init q
init
プロセスは
inittab
ファイルを読み取り,必要なら新しいプロセスを開始します。
たとえば,最近新しい端末回線を追加した場合は,init
プロセスは
init q
コマンドに応答してそれらの端末回線に対する
getty
プロセスを開始します。
端末回線と
init
コマンドの関係についての詳細は,
getty
(8)2.7 シンメトリック・マルチプロセシング
シンメトリック・マルチプロセシング (SMP) は,オペレーティング・システムの同一のコピーを実行する複数のプロセッサとアドレス共通メモリによって実現され,命令を同時に実行することができます。 マルチプロセッサ・システムでは,複数プロセッサの同時実行によって,複数のスレッドを同時に実行させることができます。
マルチプロセッサ・システムを使用し,そのシステムで Tru64 UNIX を実行していれば,そのシステムは SMP 環境で実行されています。
SMP 環境のオペレーティング・システムでは,システムにプロセッサを追加することによって処理能力を増強することができます。
この目的のためにオペレーティング・システムは,利用可能な複数のプロセッサで,複数のスレッドを同時に実行します。
2.7.1 既存システムへの CPU の追加
システムは,使用できる CPU の数をブート時に調べます。
マルチプロセッサ・システムの計算能力を強化するには,システムにプロセッサ・ボードをインストールしてリブートします。
カーネルを再構築する必要はありませんが,設定してあるプロセッサ数の制限を変更する必要がある場合があります。
詳細は,『システムの構成とチューニング』を参照してください。
また,PAK (製品登録キー) をインストールする必要がある場合は,『Software License Management』を参照してください。
2.7.2 マルチプロセッサ・システムでの自動リブート
マルチプロセッサ・システム内のシステムに障害が発生した場合,オペレーティング・システムは障害の発生したプロセッサを記録した後,自動的にそのシステムをリブートします。
オペレーティング・システムは処理を続行しますが,システム管理者は障害の発生したシステムを手動で再起動しなければなりません。
手順については 『インストレーション・ガイド』 を参照してください。
2.8 システム・クロックの設定および再設定
システムには,システムをインストールする際に設定する内部時計があります。 システム・クロックは,電源がオンであるかどうかに関係なく,時刻と日付を常に保守します。 しかし,時刻または日付の再設定が必要な場合があります。 たとえば,バッテリで電力を供給されるクロックの場合,バッテリ障害が発生すると時刻を再設定する必要がでてきます。 または,システム時間と標準時の同期化が必要なこともあります。
日付と時刻を設定するには,スーパユーザとしてログインし,date
コマンドを使用します。
日付パラメータと時刻パラメータのシーケンスは,どのコマンド・オプションを使用するかによって異なります。
(詳細については,
date
(1)
パラメータ | 説明 |
cc | 年の最初の 2 桁 (世紀) を 2 桁の整数で指定する。 |
yy | 2 桁の整数で年を指定する。 |
MM | 2 桁の整数で月を指定する。 |
dd | 2 桁の整数で日を指定する。 |
HH | 2 桁の整数で時間を 24 時間単位で指定する。 |
mm | 2 桁の整数で分を指定する。 |
. |
デリミタ。 |
ss | 2 桁の整数で秒を指定する。 このフィールドはオプション。 |
たとえば,[[cc]yy]mmddHHMM[.ss] のフォーマットを使用して,日付を 2002 年 9 月 7 日の午前 9 時 34 分 00 秒に設定するには,次のいずれかのコマンドを入力します。
# date 090709342002 # date 0907093402.00 # date 090709342002.00
年のデータを変更する場合,新しいデータでシステム・ディスクを更新する必要があります。
新しい年のデータを含む日付データを入力した後,シングルユーザ・モードで
mount -u /
コマンドを入力します。
このコマンドにより,新しい年のデータがシステム・ディスクのスーパブロックに書き込まれます。
ルート・ファイル・システムは,読み取り/書き込み可能でマウントされます。
2.9 ブート時の問題のトラブルシューティング
システムがブートできない場合に詳しく調査を行うための手順を,次に示します。
2.9.1 ハードウェア障害
ハードウェア・テストの手順については,システムに付属のハードウェア・マニュアルを参照してください。
ハードウェアの問題が存在する場合は,ハードウェア・マニュアルの問題解決のための手順に従ってください。
2.9.2 ソフトウェア障害
ブートできない原因として次のようなことが考えられます。
間違ったブート・パスの指定
正しいブート・パスの指定については,2.4 節またはシステムのハードウェア・マニュアルを参照してください。
カーネルの破壊
カーネルが破壊されている疑いがある場合は,汎用カーネル
/genvmunix
をブートしてください。
このカーネルをブートすると,完全に機能するシステムになり,kdbx
または
dbx
ユーティリティを使用してデバッグを開始することができます。
kdbx
および
dbx
ユーティリティについての詳細は,
kdbx
(8)dbx
(1)
ディスクまたはファイル・システムの破壊
ディスクまたはファイル・システムが破壊されている場合は,fsck
コマンドを実行してください。
fsck
コマンドは UNIX ファイル・システム (UFS) を検査して,修復します。
fsck
プロセスは,問題を発見すると,リカバリ・オプションの選択を求めてきます。
このような場合には,ファイルを誤って重ね書きしたり削除したりしないように十分に注意してください。
このコマンドの使用方法の詳細は,
fsck
(8)
AdvFS はマウント・プロシージャ実行中にディスク構造を訂正し,ディスクの回復を行います。
また
fsck
等のコマンドを実行する必要がないので AdvFS ファイルの回復は非常に高速です。
詳細については,『AdvFS 管理ガイド』を参照してください。
以降の各節では,シャットダウン手続きと,システム管理者による正常なシャットダウンおよび予期しないシャットダウンの両方で使用する回復方法を説明します。 最初の節では,制御下においてシャットダウンを行う手順について説明し,2 番目の節では,予期しないシャットダウンに対処して回復するための手順とガイドラインについて説明します。
システムをシャットダウンする一般的な理由は次のとおりです。
ソフトウェアをアップグレードする場合,または新しいハードウェアをシステムに追加する場合
システムをシャットダウンして,構成ファイルに対して必要な変更を行い,新しいカーネルを構築します。
ハードウェア・エラー・ログに警告メッセージが記録されている場合
ハードウェアに障害が発生するおそれがあるため,システムをシャットダウンして原因を調査します。
システム統計値を検査して,性能を改善するためにシステムをシャットダウンして調整します。
fsck
プログラムを実行して問題を修正するか,または問題が存在しないことを確認するためにシステムをシャットダウンします。
環境モニタリング・ユーティリティ,イベント・マネージャ (EVM) が,パラメータ値が超過し,障害発生の可能性があることを示している場合
上記のような状況,またはこれに類似した状況では,解決方法としてさまざまな選択肢があります。 解決方法に関係なく,最初の手順はシステムのシャットダウンを行うことです。 シングルユーザ・モードまたはマルチユーザ・モードからシステムをシャットダウンするための,実用的で合理的な方法がいくつかあります。
パニックまたはクラッシュしたシステムでは,正常にシャットダウンしたシステムとは違う状況が発生します。
この章では正常なシャットダウンについてのみ解説します。
システム・クラッシュについては,第 12 章を参照してください。
2.11 マルチユーザ・モードにおけるシステムの停止
マルチユーザ・モードで実行しているときにシステムをシャットダウンするには,shutdown
コマンドを使用するか,SysMan Menu のタスク「システムのシャットダウン」を起動します。
-h
または
-r
フラグを指定して
shutdown
コマンドを入力すると,このプログラムは通常,次の処理を順に実行します。
wall
プログラムを実行して,シャットダウンすることをすべてのユーザに通知します。
新規ログインを禁止します。
すべての課金プロセスおよびエラー・ログ・プロセスを停止します。
killall
プログラムを実行して,すべてのプロセスを停止します。
sync
プログラムを実行して,ディスクを同期化します。
ログ・ファイルにシャットダウンのログを記録します。
ファイル・システムをディスマウントします。
システムを停止します。
次の項では,一般的なシャットダウン操作を説明し,コマンド・フラグを使用した場合の例を示します。
詳細については,
shutdown
(8)2.11.1 SysMan シャットダウンの使用
sysman shutdown
コマンドを使って SysMan Menu のシャットダウン・タスクを呼び出します。
このインタフェースは,SysMan Station または SysMan Menu からも呼び出すことができます。
SysMan Menu の「一般的なタスク」ブランチから「システムのシャットダウン」オプションを選択するなど,別の SysMan インタフェースを呼び出す方法については,第 1 章を参照してください。
sysman shutdown
を入力すると,「シャットダウン:
host name」というタイトルのウィンドウが表示されます。
host name
には,ローカル・システム名が表示されます。
クラスタ・メンバをシャットダウンする場合,シャットダウン・タスクには追加のオプションがあります。
クラスタのメンバを 1 つ以上シャットダウンする場合は,TruCluster のドキュメントを参照してください。
次のオプションを使用できます。
このオプション・メニューを使用して,次のシャットダウン・オプションのいずれかを選択します。
オペレーティング・システムを停止し,コンソール・プロンプトを表示する。
システムをシャットダウンして停止してから,自動的にリブートする。
シングルユーザ・モードにシャットダウンして,スーパユーザ・プロンプト (#
) を表示する。
現在のシステム・ユーザすべてに,メッセージをブロードキャストする。 システムはシャットダウンしません。
マウス・ボタン 1 (MB1) を押したままスライダ・バーを移動して,シャットダウン動作が始まるまでの時間 (シャットダウン遅延) を分単位で指定します。 時間はこのバーの横に表示されます。 このスライダ・バーを使用すると,0 〜 60 分の範囲から選択できます。 文字セル端末を使用している場合など,ユーザ環境によってはスライダ・バーが使用できないことがあります。 この場合は,数値を入力してシャットダウン遅延を指定します。 このようなインタフェースでは,60 分を超える時間を指定できます。
すぐにシャットダウンすることを警告してログアウトするように要求する,ユーザへのメッセージを入力します。 このメッセージは,省略時のメッセージに追加して表示されます。
すぐに
シャットダウンしない場合は,シャットダウン要求時と,それ以降定期的に,メッセージが表示されます。
たとえば,55 分後のシャットダウンを要求した場合,メッセージは,シャットダウンの 55 分,50 分,40 分,30 分,20 分,10 分,5 分,1 分,30 秒前と,シャットダウン時に表示されます。
このボックスをチェックすると,ローカル NFS ファイル・システムのリモート・ユーザにメッセージがブロードキャストされます。
このローカル・システムがエクスポートしたファイル・システムに接続しているすべてのリモート・ユーザは,すぐにシャットダウンするという警告を受け取ります。
このようなメッセージを送信するには,リモート・ユーザのシステムで
rwalld
デーモンが動作していなければなりません。
このボックスをチェックすると,/sbin/rc[
N.d]/[K
nn_name]
ファイルにある既存の実行レベル移行スクリプト (たとえば,/sbin/rc0.d/K45.syslog
) を実行できます。
詳細は,
shutdown
(8)-s
オプションを参照してください。
シャットダウンが完了する前に実行したいカスタム・スクリプトへのパスを指定します。 このスクリプトはシャットダウン時に実行され,シャットダウンが完了するまでに,指定されたすべてのタスクが完了します。 このスクリプト (または,このスクリプトが呼び出す中間スクリプト) が正常に終了しないと,システムのシャットダウンが正しく行われないことがあります。
このオプションをチェックすると,システムのシャットダウンを高速化する次のオプションを指定することができます。
ユーザおよび NFS クライアントへのメッセージは省略し,短時間でシャットダウンする。
sync
操作でディスクの同期をとらずにシャットダウンする。
SysMan Menu を使用してシャットダウンを開始すると,システムは,2.11.2 項の例 2-1 に示したようにシャットダウンします。 ただし,「シャットダウン: カウントダウン」ウィンドウにシャットダウンまでのカウントダウンが表示されます。 シャットダウンは,いつでも取り消すことができます。
各種オプションについては,オンライン・ヘルプを参照してください。
また,シャットダウン・コマンドの動作については,
shutdown
(8)2.11.2 システムのシャットダウンとユーザへの警告
この作業は,shutdown
コマンドを使用するか,SysMan Menu の「システムのシャットダウン」タスクを起動して行うことができます。
特定の時刻にマルチユーザ・モードからシングルユーザ・モードへシステムをシャットダウンし,ユーザにただちにシャットダウンする警告を行うには,次の手順に従ってください。
スーパユーザとしてログインしてルート・ディレクトリに移ります。
# cd /
shutdown
コマンドを使ってシャットダウンを起動します。
保守作業のためにシステムがシャットダウンされることをユーザに警告し,たとえば,10 分後にシステムをシャットダウンして停止する場合は,次のコマンドを入力してください。
# /usr/sbin/shutdown +10 "Planned shutdown, log off now"
例 2-1
は,典型的なシャットダウン・シーケンスです。
例 2-1: 典型的なシャットダウン・シーケンス
# /usr/sbin/shutdown +6 "Maintenance shutdown, please log off" [1] System going down in 6 minutes ...Maintenance shutdown, please log off [2] System going down in 5 minutes ...Maintenance shutdown, please log off [3] No Logins, system going down @ <time> ...Maintenance shutdown, please log off [4] System going down in 60 seconds ...Maintenance shutdown, please log off System going down in 30 seconds ...Maintenance shutdown, please log off System going down immediately ...Maintenance shutdown, please log off [5] . . process shutdown messages [6] . Halting processes ... INIT: SINGLE USER MODE [7] # halt . . <hardware reset messages> [8] . resetting all I/O buses >>> [9]
このコマンドでは,6 分後にシャットダウンを開始します。 すべてのユーザに,ログオフするように警告をブロードキャストします。 [例に戻る]
このメッセージは,コンソール端末と,shutdown
コマンドを呼び出した端末ウィンドウにすぐにエコーされます。
[例に戻る]
これらのメッセージは,コンソール端末と,shutdown
コマンドを呼び出した端末ウィンドウにすぐにエコーされます。
メッセージは,当初のシャットダウン遅延の値に応じて繰り返されます。
この繰り返しの間隔は,シャットダウン時間が近づくほど短くなります。
[例に戻る]
5 分前になると,ログインできなくなります。 誰かがログインしようとすると,このメッセージがログイン端末に表示されます。 他のユーザにはブロードキャストされません。 [例に戻る]
この最終メッセージは,システムが直ちにシャットダウンされ,ユーザ・プロセスが停止されることを警告します。
システムは,課金やエラー・ログなどのプロセスを停止し,シャットダウンをログ・ファイルに記録します。
次に,init
プログラムにシグナルを送信し,システムをシングルユーザ・モードに移行させます。
シャットダウン遅延を指定しなかった場合 (shutdown now
) は,システムのシャットダウン開始およびユーザ・プロセスの強制終了前に,このメッセージだけがブロードキャストされます。
[例に戻る]
プロセスが停止すると,通知メッセージがコンソールに表示され,記録されます。 [例に戻る]
システムが停止すると,すべてのログイン端末 (または CDE や XDM などのグラフィック・ディスプレイ) は停止し,出力はコンソールにリダイレクトされます。
プロセスがシャットダウンされるたびにさまざまなメッセージがコンソールに表示されます。
最終的にはシングルユーザ・モードになり,スーパユーザ・プロンプト (#
) が表示されます。
この状態でシステムを使用できるのは root ユーザだけで,スタンドアロンでタスクを実行するか,halt
コマンドを使用してシステムを完全にシャットダウンします。
[例に戻る]
システムの構成要素が初期化される間,さまざまなメッセージが表示されます。 [例に戻る]
コンソール・プロンプト (>>>
) が表示されます。
これで,システムの電源を切るか,システムをリブートするか,コンソール・コマンドを入力することができます。
[例に戻る]
マルチユーザ・モードからシステムをシャットダウンして,すべてのユーザに警告し,すべてのシステムを停止するには,この手順を使用します。 また,SysMan Menu の「システムのシャットダウン」タスクを呼び出して同じ操作を行うこともできます。
スーパユーザとしてログインしルート・ディレクトリに移ります。
# cd /
shutdown
コマンドを使ってシステムをシャットダウンし,停止させます。
たとえば,保守のためにシステムを停止することをユーザに警告して,5 分後にシステムをシャットダウンして停止させるには,次のコマンドを入力してください。
# shutdown -h +5 / Maintenance shutdown in five minutes
システムは,例 2-1に示したようにシャットダウンを開始します。
ただし,システムも自動的に停止し,スーパユーザ・プロンプト (#
) では止まりません。
コンソール・プロンプトが表示され,電源を切るか,リブートするか,システムのオーナーズ・マニュアルに示されているコンソール・コマンドを使用することができます。
2.11.4 システムのシャットダウンと自動リブート
マルチユーザ・モードからシステムをシャットダウンして,すべてのユーザに警告し,自動的にリブートしてマルチユーザ・モードに戻すには,この手順を使用します。 また,SysMan Menu の「システムのシャットダウン」タスクを呼び出して同じ操作を行うこともできます。
スーパユーザとしてログインしルート・ディレクトリに移ります。
# cd /
shutdown
コマンドを使ってシャットダウンを起動し,その後自動的にリブートします。
たとえば,リブートのためにシステムがダウンすることをユーザに警告して,システムを 15 分後にシャットダウンし,その後自動的にリブートするには,次のコマンドを入力してください。
#shutdown -r +15 \ Shutdown and reboot in 15 minutes
システムは,例 2-1
に示したようにシャットダウンを開始します。
このとき,システムはすぐにシャットダウンすることをユーザに通知し,ログインを使用不可にして,通常のシャットダウン動作を実行します。
これらの処理が終了すると,システムは自動的にリブートします。
リブート時に,マウントされているすべてのファイル・システムについて整合性検査を行うための
fsck
コマンドが自動的に実行されます。
問題がない場合は,システムはマルチユーザ・モードにリブートされます。
注意
fsck
コマンドは,ファイル・システムの矛盾を発見すると,再度シングルユーザ・モードからfsck
コマンドを実行してからマルチユーザ・モードでシステムを動作させることを勧める警告メッセージを表示します。
システムを即座にシャットダウンし停止するには,次の手順を実行します。 また,SysMan Menu の「システムのシャットダウン」タスクを呼び出して同じ操作を行うこともできます。
スーパユーザとしてログインしルート・ディレクトリに移ります。 たとえば,次のコマンドを入力します。
# cd /
次の例のように,shutdown
コマンドを入力します。
# shutdown -h now
システムは,例 2-1
に示したようにシャットダウンを開始します。
ただし,シャットダウンはすぐに行われ,ユーザへの警告はありません。
すべてのプロセスがシャットダウンされると,システムは停止し,コンソール・プロンプト (>>>
) が表示されます。
これで,システムの電源を切るか,システムをリブートするか,システムのオーナーズ・マニュアルに示されているコンソール・コマンドを入力することができます。
注意
この
shutdown
コマンドは,システムに他のユーザがログインしていない場合か,緊急にシャットダウンする必要がある場合にのみ使用してください。 ユーザ・プロセスは警告なしに停止され,ユーザのデータが失われることがあります。
システムをシャットダウンするには
shutdown
コマンドが最適ですが,halt
,fasthalt
,fastboot
,および
reboot
コマンドを使用してシステムを停止することもできます (ただし,お勧めはしません)。
これらのコマンドは,シングルユーザ・モードでのみ使用してください。
シングルユーザ・モードで作業している場合は,次の手順を実行すればシステムを停止することができます。
# /sbin/sync # /sbin/sync # /usr/sbin/halt
halt
コマンドに応答して次のイベントが発生します。
ログ・ファイルにシャットダウンのログを取る
実行中のプロセスをすべて強制終了する
sync
システム・コールを実行する
すべての情報がディスクに書き込まれる
システムを停止する
最低 2 回,sync
コマンドを入力することで,メモリ内のすべてのデータが安全にディスクに書き込まれます。
halt
コマンドとそのフラグについての詳細は,
halt
(8)
これ以外の方法については,
fasthalt
(8)fastboot
(8)reboot
(8)2.12.1 reboot コマンドでのシステムの停止とリブート
シングルユーザ・モードで作業している場合は,reboot
コマンドを次のように使用して,システムを安全にシャットダウンしてマルチユーザ・モードでリブートすることができます。
# /usr/sbin/reboot
オプションを指定せずに
reboot
コマンドを実行すると,すべてのプロセスを停止し,ディスクを同期させ,リブートを開始して記録します。
システムを緊急にシャットダウンしてリブートしたい場合は,次のコマンドを入力します。
# reboot -q
このコマンドを入力すると,システムはプロセスを停止せず,他のシャットダウン動作も行わないで,緊急にシャットダウンします。
このコマンドはイベントを記録せずに,リブートを開始します。
このコマンドとフラグの詳細については,
reboot
(8)2.12.2 fasthalt コマンドによるシステムの停止
シングルユーザ・モードで作業している場合は,fasthalt
コマンドを次のように使用して,システムをただちに停止させることができます。
# /usr/sbin/fasthalt -n
オプションを指定せずに
fasthalt
コマンドを実行すると,システムが停止し,以降のリブートで
fsck
コマンドの実行が抑制されます。
このプログラムは,fastboot
ファイルを作成してから,halt
プログラムを呼び出します。
システム起動スクリプトには,fastboot
ファイルを探す指示があります。
このファイルが存在する場合,このスクリプトはこのファイルを削除し,fsck
コマンドの実行が省略されます。
このコマンドを,-l
,-n
,または
-q
フラグを指定せずに起動すると,halt
プログラムは
syslogd
コマンドを使用してシャットダウンを記録し,このシャットダウンの記録をログイン課金ファイル
/var/adm/wtmp
に置きます。
詳細は,
fasthalt
(8)2.12.3 fastboot コマンドによるシステムの停止
シングルユーザ・モードで作業し,ファイル・システムを検査する必要がない場合は,fastboot
コマンドを次のように使用して,システムを停止しリブートすることができます。
# /usr/sbin/fastboot
オプションを指定せずに
fastboot
コマンドを実行すると,/fastboot
というファイルが作成され,システムが停止された後,fsck
コマンドを使ってファイル・システムを検査することなく,システムがすぐにリブートされます。
詳細は,
fastboot
(8)