スタートスナップショットに戻す

スタートスナップショットに戻す

物理マシンのスナップショットを撮って、マシンが起動するたびにそのステップに戻すことはできますか?

これは仮想マシンで実行できますが、実際のマシンで実行したいと思います。

背景

ランダムに終了する古いラップトップがあります。ディスクも大丈夫、メモリも大丈夫なので、他の問題もあります。非常に基本的なサーフィン+動画鑑賞用に使いたいです。停電が発生しても耐えますが、起動して関連アプリを開くのに時間がかかります。しかし、毎回同じスナップショットで簡単に起動できれば大丈夫でしょう。

ディスクを一時停止してファイルシステムのスナップショットを撮ることができることを考えると、これが可能かもしれません。おそらく、誰かがすでにこれを行っている可能性があります。

アイデア1

ディスクにマウントされたシステムは、この機能を実行するのに最適な状態です。したがって、私たちがすべきことは、次の起動前にディスクがこの状態に復元されたことを確認することです。

これは、最初に最小のGNU / Linuxシステムを起動し、システムをセットアップしてから、復元されたディスクから新しいカーネル起動を実行することによって実行できます。

次の設定を想像してみてください。

  • /dev/sda - 最小ブートシステム
  • /dev/sdb - 一時停止したRAM/CPUイメージ+ファイルシステムでスペースを交換する
  • /dev/sdc - デバイスの上書き

システムが/dev/sdaから起動すると、/dev/sdcは/dev/sdbの上に新しいオーバーレイデバイスとして使用され、/dev/overlayを提供します(次のように)。https://raid.wiki.kernel.org/index.php/Recovering_a_damaging_RAID)。設定が完了すると、kexec/dev/overlayでブートを使用してカーネルが実行されます。

これで問題は、kexecオーバーレイデバイスを起動デバイスとして許可するかどうかです。

アイデア2

起動時に実行:

 swapon /dev/sda2
 swapoff /dev/sda1
 dd if=/dev/sda3 /dev/sda1
 (where /dev/sda3 is a copy of the suspend-to-disk image.)

そして、grubからディスクマウントデバイスとして/ dev / sda1を使用します。

/dev/sdb1を/readonlyにマウントし、/dev/sdcオーバーレイを/dev/sdbに追加し、/dev/overlayを/read-writeとしてマウントします。

アイデア3

  • /dev/sda - /boot および initrd
  • /dev/sdb - 一時停止したRAM/CPUイメージ+ファイルシステムでスペースを交換する
  • /dev/sdc - デバイスの上書き

initrd 設定で /dev/overlay. /dev/overlay1 を置き換え、ファイルシステムを /dev/overlay2、/dev/overlay3 に置き換えます。その後、一時停止した画像を再度読み取るには、次の手順を実行します。

echo /dev/overlay1 > /sys/power/resume

ステータスを「ログ」するには、/dev/overlay次のよう/dev/sdbにマージします。

echo disk > /sys/power/state

/dev/sd*の代わりにLVMを使用する必要があります。https://www.kernel.org/doc/Documentation/device-mapper/snapshot.txt

関連情報