名前 | 形式 | 機能説明 | ファイル | 属性 | 関連項目 | 注意事項 | 使用上の留意点
/kernel/misc/cpr
cpr は、システム全体を保存停止したり復元再開したりするための読み込み可能なモジュールです。電力の節約や移動の目的で一時的に電源を切断するために、システムの保存停止が必要になる場合があります。ハードウェアの再構成や交換を行う場合は、cpr モジュールを使用せずに通常の停止を行ってください。復元再開操作が成功するには、ハードウェア構成が同じままであることが重要です。システムが保存停止されるときに、システム全体の状態は、復元再開が実行されるまで不揮発性の記憶装置に保存されます。
タイプ 5 キーボードの電源制御キーと Shift-電源制御キーの操作は、cpr モジュールを使用します。システムにインストールされていて、このモジュールを使用する可能性があるユーティリティーは、uadmin(1M) と uadmin(2) の 2 つです。
cpr モジュールは、システムを保存停止するときに次の処理を実行します。まず、SIGFREEZE
信号がすべてのユーザースレッドに送られ、その後、それらのスレッドは停止されます。マルチプロセッサシステムの場合は、システムを単一プロセッサモードにします。次に、ユーザーのダーティーページは、バックアップ用の記憶装置にスワップアウトされ、すべてのファイルシステムは同期 (sync) が取られます。すべての装置は活動停止状態になり、システム割り込みは無効になります。システムの保存停止を完了するために、カーネルのメモリーページと残りのユーザーページは、圧縮形式でルートファイルシステムに書き込まれます。
再びシステムの電源が入れられると、基本的に、保存停止の処理手順と逆の処理が実行されます。カーネルイメージは、起動プログラムの /cprboot によってルートファイルシステムから復元されます。割り込みや装置は、以前の状態に復元されます。最後に、ユーザースレッドは再スケジュールされ、システムの復元再開を待つプロセスに SIGTHAW
を伝送して通知します。他のプロセッサがある場合は、復元され、オンラインになります。これで、システムは完全に保存停止前の状態に戻ります。
いくつかの場合において、cpr モジュールが保存停止操作を実行することができない場合があります。出荷時の標準構成以外の追加装置がある場合には、追加装置が cpr に対応していない可能性があります。この場合は、保存停止が失敗し、エラーメッセージが出力されます。保存停止が成功するようにするには、装置を取り除くか、またはそのデバイスドライバを読み込み解除する必要があります。装置の製造元に連絡し、cpr に対応しているバージョンのデバイスドライバを取得してください。保存停止は、装置またはプロセスが、リアルタイム処理のような、余裕のない、または時間に関係する処理を行っている場合も失敗します。この場合は、システムは現在の実行状態のままとなります。失敗を通知するメッセージがコンソールに表示され、状態は呼び出し側に返されます。いったんシステムが正常に保存停止されると、ハードウェアの再構成など外部からの影響がないかぎり、復元再開操作は必ず成功します。
一部のネットワークベースのアプリケーションは、保存停止・復元再開処理の際に失敗する場合があります。この問題は、主に背後のネットワークプロトコルと関係するアプリケーションに依存します。一般的に、再試行して自動的に接続を確立するアプリケーションは、復元再開の際に何事もなかったかのように動作を継続します。再試行して自動的に接続を確立しないアプリケーションは、多くの場合失敗します。
保存停止と復元再開の処理速度は、システムの処理速度、メモリーの容量、負荷によって、15 秒から数分の範囲になります。通常は、1 分くらいです。
以下の属性については、attributes(5) を参照してください。
属性の種類 | 属性の値 |
---|---|
使用条件 | SUNWcpr |
マルチプロセッサプラットホームで保存停止または復元再開を動作させる場合には、すべての CPU を制御できる必要があります。すべての CPU が停止できない場合は、保存停止が拒否されるため、保存停止が起動された時に MP テスト (sundiag CPU テストなど)を実行しないでください。
テープ、フロッピーディスクのような特定の装置操作は、取り外し可能な媒体であるために復元再開できません。これらの動作は、保存停止のときに検出して、保存停止が完全に正常終了する前に停止する必要があります。
SIGFREEZE
および SIGTHAW
信号は、Solaris 2.4 リリースに適切に実装されていません。これらの信号は、将来のリリースで使用可能となります。
これについては、保存停止または復元再開の際に追加のタスクを必要とするような、特別にカスタマイズされたアプリケーションのみについて問題となります。現在では、そのようなアプリケーションはありません。
非常にまれに、システムが復元再開の処理の初期の段階で失敗することがあります。この場合、システムが正常に復元再開も起動も行わないループに入っていることが論理上考えられます。このようなループに入った場合は、L1+A を使って prom ok プロンプトを表示し、以下のコマンドを入力してください。
<ok> set-default boot-file |
このコマンドによってシステムはリセットされ、次回の電源投入ではシステムが正常に起動します。