サーバー向け軽量OS「CoreOS」正式版がこの7月にデビューした。CoreOSは、アプリケーションをOSごと簡単に初期導入できる今話題のOS仮想化ソフト「Docker Engine」に特化した専用OS。メモリーが1Gバイト程度のマシンでも十分試せる軽量さが売りの“クラウドOS”だ。Windows XP世代の中古PCであっても、その可能性を簡単に体感できる。実際にCoreOSのインストールから初期設定までを試してみた。
CoreOSは、OS仮想化ソフトの「Docker Engine」に特化したOS。Docker EngineはOSを仮想化して1台のマシンで複数のOSを同時に実行するためのツール群だ。アプリケーションとOSを合わせた実行環境(コンテナー)をイメージファイル化する機能を備え、アプリケーションの迅速かつ大規模な展開を可能にしている。開発元の米Docker社は、配布のためのクラウドサービス「Docker Hub」も運営する。ユーザーはDocker Hub経由でコンテナーをDockerが動く別マシンに移動したりコピーしたりできる(関連記事「クラウド時代の“Run Anywhere”」)。既にGoogleやさくらインターネットなどのIaaSサービスでCoreOSのサポートを始めており、必要に応じてローカルからクラウドまで実行環境を選べる自由度も魅力だ。
構成要素は、Linuxカーネル、systemd、Docker。Dockerの動作に必要なパッケージに限定されており、起動時の使用メモリーは60Mバイト弱と少ない。仮想マシンよりシンプルな仕組みの仮想OSだけに、1Gバイトのメモリーがあれば十分動かせる。仮想マシンの動作に支障のあるスペックのマシンでも、最新のクラウド基盤技術を活用できる。OSの自動更新の仕組みは、GoogleのWebブラウザー特化OS「Chrome OS」と同じ。OSイメージを格納する領域を2つ用意し、再起動すると更新した領域のOSが起動する。OSイメージは改ざんをチェックして不正アクセスを防ぐ。
LinuxでPCを再生する際の定番OSと言えば、デスクトップなら「Ubuntu」、サーバーなら「CentOS」だ。Ubuntuは初心者向けのLinuxディストリビューション(Linuxを核としたOS)である(関連記事)。CentOSは商用のRed Hat Enterprise LinuxのクローンOS(関連記事)としてサーバー用途の定番となっている。Ubuntuは簡便さ、CentOSはシェア1位の商用Linuxと同等の堅牢さを理由に普及した。CoreOSは、ITエンジニアにとって簡便さと堅牢さを併せ持つOSになる可能性を秘めている。