Checkpoint/Restart
Linux Container等で使われるCheckpoint/Restartの仕組みについてちょっと調査した。もともとの動機は、Containerでもライブマイグレーションが出来ることから、どんな風に実装しているのかな?ということ。そして、実装方法は主に2つの方法がある。プロセスの状態を取るために、ユーザ空間のライブラリで対処する方法と、カーネル空間のシステムコールやドライバで対処する方法である。いずれも、アプリ側かカーネル側に手を入れる必要がある。ちょっとびっくりしたのが、プロセッサにCheckpoint/Restartを組み込むやり方である。いろいろなやり方があると感心した。
さて、応用観点では、Checkpoint/Restartは、障害対処等でバックアップを取ったりするのに便利なことから、学術用途等の大規模計算でも10年以上の長い間使われてきた。商用計算機でもCheckpoint/Restartの技術は使われており、IBM WPARやVirtuzzo(LinuxやWindows)等のいくつかのコンテナ技術では、インクリメンタルにCheckpointingができる。また、ライブマイグレーションも出来るコンテナ技術もある。
- 参考資料
- 概要
- 仕組み
- 実装例
- いろいろ
- kernel-space
- CRIU
- Linux-CR
- kernel-module
- user-space
- hardware
- その他
- 特許
- IBM WPAR
- US8578214B2 - Error handling in a virtualized operating system - Google Patents
- US8464104B2 - Mobility of versioned workload partitions - Google Patents
- US8266636B2 - Virtualize, checkpoint, and restart system V IPC objects during checkpointing and restarting of a software partition - Google Patents
- US8549543B2 - Virtualize, checkpoint, and restart POSIX IPC objects during checkpointing and restarting of a software partition - Google Patents
- Parallels
- US8370837B2 - Blocking file system for on-the-fly migration of a container with an NFS mount - Google Patents
- US8069218B1 - System, method and computer program product for process migration with planned minimized down-time - Google Patents
- US8166477B1 - System and method for restoration of an execution environment from hibernation into a virtual or physical machine - Google Patents
- VMware
- Xen
- IBM WPAR
- LWNの記事
- Use Cases
- Hypervisor
- 特許