この章では、システムのブートとシャットダウン手順の変更について説明します。
ブート手順の詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。
Solaris 7 のブートプロセスによってシステム管理が容易になりました。主な変更点は次のとおりです。
カーネルは自動的に構成されるため、手作業で再構成する必要はありません。
カーネルのメモリ消費量は、デバイスが最初にオープンされるときに自動的にロードされることによって削減されています。
ファイルシステムは必要なときにだけチェックされ、ブートアップ時間が短縮されています。
ブートブロックは UNIX ファイルシステムを読み込むことができ、ブートプログラムを移動したときのブートエラーをなくします。
Sun 社製以外の起動可能デバイスがサポートされています。
二次ブートプログラム、ufsboot と inetboot は CacheFS ファイルシステムを読み取るように修正されました。この新しいブート機能により、Solstice AutoClientTM システムはこれまでよりも速くブートでき、ネットワークリソースへの影響も少なくなります。
SunOS 4 の fastboot コマンドは、SunOS/BSD ソース互換パッケージがインストールされた Solaris 7 システムだけで使用できます。fastboot コマンドは、Solaris 7 システムでは使用されません。これは、ファイルシステムのチェックを行うのが、ファイルシステムの状態がクリーンでないと認識された場合だけに限られるからです。
Solaris 7 の環境では、システムを停止、シャットダウン、リブートするには shutdown と init コマンドが望ましい方法です。reboot コマンドは Solaris 7 環境で使用できますが、通常のシャットダウンサービスなしで、システムをすぐに停止します。表 8-1 に、SunOS 4 から変更された SunOS 5.7 のコマンドを示します。
表 8-1 SunOS 5.7 でのリブート用コマンドの変更 fastboot
SunOS 4 コマンド |
SunOS 5.7 変更コマンド |
---|---|
reboot |
shutdown -i -6, init 6 |
fastboot |
boot, init 6 |
SunOS 5.7 ソフトウェアには次のような boot コマンドのオプションが追加されています。
新しいハードウェアを追加したり、ハードウェアの位置を変更するときは、boot -r を入力してください。このオプションは、物理デバイス名と論理デバイス名を作成します。論理デバイス名は物理デバイス名にリンクされます。
すべてのシステムブートメッセージを見たいときは、boot -v と入力してください。デフォルトはメッセージを表示しないでブートします。メッセージは、常に/var/adm/messages ファイルに格納されます。
PROM からブートするときは、次の変更点に注意してください。
PROM はディスクから bootblk をロードします。このファイルは、UFS ファイルシステムに固有のものであるということ以外は、以前の SunOS 4 のブートブロックに似ています。
SunOS 4 と同様に、installboot(1M) を使用してブートに使用されるパーティーションにブートブロックをインストールする必要があります。
bootblk はブートデバイスをオープンし、指定したファイルシステムを使用して ufsboot を検索しロードします。
ufsboot がメモリにロードされた後で、ブート PROM はカーネル /kernel/genunix をロードします。SunOS 4 システムは /vmunix を使いました。ただし、SunOS 5.7 では、 /kernel ディレクトリにはシステムをブートするのに必要なプラットフォーム非依存カーネルモジュールがすべて (unix も含む) 入っています。
カーネルは、/kernel/drv ディレクトリから esp など、他のドライバをロードします。これらのドライバは、SunOS 4 カーネルの一部として構築しなければなりません。しかし、SunOS 5.7 のシステムでは、これらのドライバが必要なときに、動的にロードすることができます。
表 8-2 にブート時の処理の相違をまとめます。
表 8-2 ブート時の相違の概要
SunOS 4 |
SunOS 5.7 |
機能 |
---|---|---|
ディスクから ufsboot をロードする。 |
||
boot program |
ufsboot |
ディスクから unix をロードする。 |
ブート可能なカーネルイメージ |
||
ネットワークから unix をマウントおよびコピーする。 |
||
/usr をマウントし、ファイルシステムをチェックする。 |
||
システム構成スクリプト |
||
必要に応じてシステムカーネルとロードモジュールをカスタマイズする。 |
||
PROM モニタ、シングルユーザ、マルチユーザ |
実行レベル 0 - 6 と S |
システム実行レベル |
/dev/dsk/c0t1d0s6 |
よりわかりやすい論理デバイス名。「デバイス命名規則」を参照。 |
|
SunOS 4 の fasthalt コマンドは、 SunOS 5.7 では init(1M) コマンドに変更されています。init(1M) コマンドは、シングルユーザシステムをシャットダウンするのに使用してください。init を使用して、システムをパワーダウン状態 (init 0)、またはシングルユーザ状態 (init 1) にすることができます。
SunOS 5.7 システムソフトウェアには、8 つの初期設定状態 (init 状態または実行レベル) があります。デフォルトの init 状態は、/etc/inittab ファイルに定義されています。
SunOS 5.7 の init コマンドは、すべての実行レベルを /etc/rc、/etc/rc.boot および /etc/rc.local ファイルにまとめて入れるのではなく、それぞれの実行レベルに対して異なるスクリプトを使用します。実行レベルごとに名前が付けられているこれらのファイルは、/sbin ディレクトリにあります。
『Solaris のシステム管理 (第 1 巻)』では、このコマンドについて詳しく説明しています。
SunOS 5.7 の init コマンドにより、システムの実行レベル (初期設定状態) を制御し、各種の動作モードを容易に切り替えることができます。SunOS 5.7 はすべてのシステム状態を 1 つのファイルに書き込むのではなく、/sbin/rc スクリプトを使用してそれぞれの実行レベルを制御します。これにより、新しいスクリプトを作成したり、既存のものを修正する場合、それぞれのファイルを変更することができます。SunOS 4 システムでは、/etc/rc、/etc/rc.boot、/etc/rc.local ファイルを使用して実行レベルを制御していました。
SunOS 4 には、prom モニタ、シングルユーザ、マルチユーザの 3 つの実行レベルがありました。これらは、SunOS 5.7 の実行レベル 0、1、3 に相当します。
表 8-3 に各実行レベルの /sbin/rc スクリプトの動作の概要を示します。
表 8-3 SunOS 5.7 システム初期設定実行レベル
実行レベル |
デフォルトの SunOS 5.7 の機能 |
---|---|
0 |
電源を切っても安全なように、システムをシャットダウンする。システムサービスとデーモンを停止させる。実行中のプロセスをすべて終了させる。すべてのファイルシステムのマウントを解除する。 |
1 |
システム上に 1 ユーザしか許さないシングルユーザ (システム管理者) 状態。システムサービスとデーモンを停止させる。 実行中のプロセスをすべて終了させる。すべてのファイルシステムのマウントを解除する。 |
2 |
NFS システムをエクスポートしない通常のマルチユーザ状態。timezone 変数を設定する。/usr ファイルシステムをマウントする。/tmp と /var/tmp ディレクトリ内を削除する。ネットワークインタフェースをロードしプロセスを起動する。cron デーモンを起動する。uucp tmp ファイルをクリーンアップする。lp システムを起動する。sendmail デーモンを起動する。 |
3 |
NFS システムを共有するファイルサーバの通常のマルチユーザ状態。実行レベル 2 における作業をすべて実行する。NFS システムデーモンを起動する。 |
4 |
代替マルチユーザ状態 (未使用)。 |
5 |
電源を切っても安全なように、システムをシャットダ ウンする。この機能をサポートしているシステムでは自動的にシステムの電源を切る。 |
複数のユーザがいるシステムをシャットダウンするときに、shutdown(1M) コマンドを使用します。shutdown(1M) コマンドは、ログインしているユーザすべてに警告を送り、60 秒後にシステムをシングルユーザ状態にシャットダウンします。
シャットダウン手順についての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。
SunOS 5.7 では、shutdown コマンドはシステムを停止またはシャットダウンするのに推奨できる方法です。shutdown と init は rc スクリプトを使用して、実行中のプロセスを終了します。halt コマンドは、 SunOS 5.7 で使用できますが、サービスを通常の手順でシャットダウンするのではなく、すぐにシステムを停止します。 表 8-4 に、SunOS 4 から変更された SunOS 5.7 のコマンドを示します。
表 8-4 SunOS 5.7 のシャットダウンの変更 halt、fasthalt
SunOS 4 コマンド |
SunOS 5.7 変更コマンド |
---|---|
halt |
shutdown -i 0, init 0 |
fasthalt |
shutdown -i 0, init 0 |
shutdown コマンドと init コマンドは、シャットダウンシーケンスを制御する数値の「実行レベル」引数を使用できます。実行レベルの番号についての詳細は shutdown(1M) と init(1M) のマニュアルページを参照してください。
SunOS 5.7 の shutdown コマンドは、表 8-5 にあるオプションしか使用できません。このコマンドとそのオプションは、『Solaris のシステム管理 (第 1 巻)』で説明しています。
表 8-5 SunOS 5.7 の shutdown コマンドオプション
オプション |
機能 |
---|---|
-g |
shutdown が始まるまでの「猶予」期間を選択する。 |
-i [init state] |
初期実行レベルを指定する。(表 8-3を参照). |
-y |
確認の質問をせずに shutdownを実行する。 すべての質問に対し「yes」の応答を想定している。 |
-message |
ユーザサポートのメッセージを指定する。語が複数の場合は、引用符でメッセージを囲む。 |
デフォルトでは、SunOS 5.7 の shutdown コマンドは、実際の shutdown が始まる前に確認を要求しますが、オペレータの介在なしに実行できるオプション -y もあります。
shutdown オプションは、Solaris 7 システムの BSD ソース互換モードにおいてのみ使用できます。
変更の一覧については、付録 A 「コマンドリファレンス」 を参照してください。コマンドの機能に関する情報は、shutdown(1M) のマニュアルページを参照してください。
SunOS 4 の fastboot コマンドと fasthalt コマンドは、Solaris 7 システムで SunOS/BSD ソース互換パッケージを実行している場合に使用できます。これらのコマンドのファイルシステムチェック機能は、Solaris 7 には対応していません。
halt コマンドと reboot コマンドは、/sbin にある rc スクリプトを実行しないため、お薦めできません。 SunOS 5.7 システムの halt コマンドと reboot コマンドは、他の AT&T SVR4 システムにはないため、shutdown と init に haltと reboot コマンドに相当する機能があります。