FreeBSD Daily Topics

2009年11月17日Jail仮想環境を1,000個作ってみる方法

heads-up

1000 Jails

blog - Ivan Voras氏がThe night of 1000 jailsにおいて、FreeBSDでJail仮想環境を実際に1,000個生成して試してみる方法を紹介しています。nullファイルシステムでファイルシステムを用意して環境を作っています。

ブログにはその環境を作るためのPythonスクリプトと、実際の動作の様子がOGG THEORA VIDEOで掲載されています。Firefox 3.5またそれ以降のブラウザであれば動画を閲覧できます。

図1 Ivan Voras氏ブログより - FreeBSD Jails 1000動作結果(jails実行例)
図1 Ivan Voras氏ブログより - FreeBSD Jails 1000動作結果(jails実行例)

紹介されているブログではFreeBSD 8.0で新しく導入されたVimageは試されておらず、またZFSも利用されていません。基本的なJailを1,000環境作って動かしてみるという内容になっています。ただ環境を作るだけではなく、それぞれの環境で実際にプロセスを動作させ、その動作を確認しているところが興味深いといえます。

1つのFreeBSDホストに複数のJail環境を作るのはそれほど難しいことではありません。特にファイルシステム空間を分離する必要がなけれは、Jail環境の生成コマンドを必要な回数だけ回す程度の処理で一気に作ることができます。4GBほどメモリがあれば2,000程度は直ぐに作れます。Jail内でアプリケーションを実行する場合、プロセス数の上限を引き上げるなどの調整は必要になります。またそれカーネルメモリの消費量を超えてJailを作る場合、カーネルメモリの上限を引き上げる設定も必要になります。

Jailはメモリ空間、プロセス空間、ファイルシステム空間を分離してアプリケーションを動作させることができるかなり軽量な仮想化技術です。FreeBSD 8.0からはこれに加えさらに個別のネットワークスタックを持つことができるようになるため、よりさまざまな用途で従来にはなかった利用が可能になります。

おすすめ記事

記事・ニュース一覧