web-dev-qa-db-ja.com

Linuxの状態を定期的に保存(ディスクに一時停止)してクラッシュから回復するにはどうすればよいですか?

時々私のラップトップは悪い/空のバッテリー、安っぽいwifiドライバーまたは他の理由のためにクラッシュ/死にます。

しばらくの間、Linuxに定期的に状態(vmwareスナップショットなど)をディスクに保存させて、少し古い作業で復元できるかどうか疑問に思っていましたが、少なくともすべてのアプリを同じ状態で開いた状態でそれらを残しました。

KDEはログアウト時に状態を保存しますが、すべてを常に最初から起動しなければならないという意味はあまりわかりません。これは定期的に(デフォルトでは)発生しません。 RAMが定期的にディスクに書き込まれている場合は、クラッシュから回復する方がはるかに便利です。

マシンをシャットダウンせずにこれを行うためのシステムコールがあるかどうか誰かが知っていますか?状態全体を保存するための手動ボタンでさえもいいでしょう。

2
Wolph

ハイバネーションインターフェイスには、/dev/snapshotを介してアクセスできます。これについては、 Documentation/power/userland-swsusp.txt で説明されています。たとえば、uswsuspのs2diskに基づいてプログラムを作成できます。

ただし、休止状態ではRAMに保持されている情報のみが保存され、現在のディスク/ファイルシステムの状態は保存されないため、これが確実に機能するかどうかはわかりません。たとえば、休止状態のスナップショットを保存し、いくつかのファイルを変更してスナップショットを再ロードした場合、ディスクには新しいデータとメタデータが含まれますが、スナップショットのカーネルのメモリには古いバージョンが残っている可能性があります...

引用するには Documentation/power/swsusp.txt

 *大きな脂肪の警告***************************************** **************** 
 * 
 *サスペンドとレジュームの間にディスク上の何かに触れた場合... 
 *.。データに別れを告げる。
 * 

バッテリーが空でラップトップが故障した場合は、1%程度に達すると自動的に休止状態になるように構成します。 (ラップトップが一時停止しているときに発生する場合は、 Linux 3.6-rc1以降 で「両方に一時停止」モードを試してください。)

ドライバーのバグが原因でラップトップが故障した場合は、そのバグを報告して、修正できるようにします。

3
user1686