Dockerコンテナを実行したままライブマイグレーション可能に、将来のOpenStackで実現へ。IBMがOpenStack Summitでデモ
IBMはスペイン バルセロナで開催された「OpenStack Summit 2016 Barcelona」で、実行中のDockerコンテナをそのまま別ホストへ移動させるライブマイグレーションのデモを紹介し、将来のOpenStackで実現する方向性を示しました。
IBMがデモを披露したのは、「Live Container Migration on OpenStack」セッション。
ここで行われた説明によると、Dockerコンテナのライブマイグレーションでカギを握るのが、「CRIU」(発音はkree-oo)と呼ばれるソフトウェアです。CRIUはLinuxのユーザー空間においてプロセスのチェックポイントを設定し、その状態を保存、リストアできます。CRIUの名称も「Checkpoint Restore In Userspace」からとられています。
Dockerの次のバージョンとなるDocker 1.13ではCRIUが取り入れられる見通しであり、これによってDockerコンテナにチェックポイントを設定してスナップショットをとり、それを取り出して別のマシンへリストアするライブマイグレーションの第一歩が実現できます。
IBMはこうした機能を利用し、開発中のDocker 1.13に各種スクリプトを組み合わせてライブマイグレーションのデモを実現。
具体的な実装としては、まずCRIUを用いてDockerコンテナのスナップショットを取得し、それをマイグレーション先へ移動してスタートすることでメモリイメージを移動。
さらにファイルシステムについてはDocker Exportを用いてファイルイメージを取得、メタデータも取得し、それをマイグレーション先へ展開します。
そのほかメタデータの取り扱い、ネットワークの切り替えなどの課題があったと指摘されています。
これらの手法を組み合わせ、稼働中のインメモリデータベースRedisのライブマイグレーションや、ビデオストリーミングサーバのライブマイグレーションなどが実際に行われました。
デモはまだマニュアル操作やスクリプトによる実行が含まれていましたが、これらの知見を元に、OpenStackでコンテナ対応実現するMagnum、コンテナのオーバーレイネットワークを実現するKuryrなどへ実装を提案することで、将来のOpenStackで実現できるようになると説明されました。
あわせて読みたい
マイクロソフト、IFTTT的なサービス連係サービス「Microsoft Flow」正式公開。GitHub、Dropbox、Slack、メール、Twillio、Googleカレンダーなど多数のサービスを連係可能
≪前の記事
Firefoxの次世代Webエンジン「Project Quantum」発表。Rust言語によるServoの技術を採用し、2017年内に劇的な高速化を実現すると