【レポート】
PCの性能を活用するための仮想化技術は、もはや経済活動にとって欠かせないものとなっている。仮想化の方法はいくつもあるが、FreeBSDで特に使われる機能は「Jail」だ。これは、chroot(8)の発想をベースとして、ファイルシステムやプロセス空間、メモリ空間を仮想化していくというもの。近い将来には、これに加えて、ネットワークルーティングテーブルも仮想化されることになる。FreeBSDをサーバで運用する場合にもっともよく採用される仮想化技術だ。
NTT/Verio, Manager of VPS developmentのFred Clift氏はBSDCan2008において、同社の仮想化に対する取り組みや運用ノウハウを紹介した。VerioはISP事業やホスティングサービスを提供している企業。仮想プライベートサーバ(VPS)やホスティングシステム、インフラストラクチャでFreeBSDを採用していることでも知られている。同社では、FreeBSD Jailにリソース管理機能を追加したシステムを採用しており、その実装や運用ノウハウには定評がある。
今回、Fred Clift氏はそういった背景を説明するとともに、真偽は定かではないが、FreeBSDにこういった機能がマージされる可能性があることを発表した。
Jailのような方法で仮想化する場合、リソースをどのように制限して各ユーザに割り振るかを検討する必要がある。このポリシーひとつで、ユーザに不快感を与えるか、満足感を与えつつ効率の良い運用を実現できるかが決まってくる。
例として、ディスクのバンド幅を制限するケースを考えよう。30MB/secのディスクバンド幅を、30の仮想FreeBSDインスタンスに割り振る場合、もっとも単純なのは、1インスタンスあたりのバンド幅を1MB/secに制限する方法だ。ただし、この方法には、性能は保証できるが常にパフォーマンスが低いという問題がある。制限をあげて、例えば10MB/secまで増やしたとしても、ベストエフォートスタイルになったうえにやはり最大性能は低いままになってしまう。
そこで同氏は、「さらにベターな方法は"Burstiness"だ」と説明する。インタラクティブに操作しているユーザは、メールの受信やウィルスチェックなど、短時間に一気に実行する処理で操作の快適さを体感することが多い。そこで、短時間に一気に実行される要求は高いリソース割当で実行し、そうではないものについては規定値に制限する。結果として一定のリソース利用率に制限する方法をとる。こうすればユーザの要求は満たしつつ、仮想化によるリソースの割当も妥当に実現できるし、長時間にわたって実行される処理はリソース制限の対象となるから、ほかのユーザへの影響も抑えられる。制限の対象となるリソースはCPU時間、ディスク容量、プロセスごとのメモリ使用量、ファイルディスクリプタ、nproc、ディスクIOバンド幅、ネットワークバンド幅、マルチレベルクオータなどだ。
仮想化を実現するにあたって、まず基本となるテクニックは(1)制限するのは仮想インスタンスであって物理システムは制限しない、(2)何を計測し何を計算するのかを明確にしておく、(3)統計をとりケアを実施していく、などとされている。また具体的に"Burstiness"を実現する方法として次の2つが紹介された。
負荷平均による制限は、リソースの負荷平均からハードリミットとソフトリミットを設定する方法だ。ハードリミットは一気に実行される場合の上限、ソフトリミットは長時間にわたって実行されているプロセスに対するリミットとなる。負荷平均の計算は、FreeBSDが負荷平均を算出するために使っている計算をそのまま利用できるという利点がある。この方法の問題点はチューニングが困難であることと、バースト時間がハードリミットとソフトリミットの率に比例するという点にある。ただし、同方法についてはいくつか改善が可能だ。
トークンバケットによる制限は、リソースを使うにあたってトークンを消費する仕組みにするというもの。トークンは特定のサイズの入れ物に特定のレートで溜まる仕組みになっており、リソース要求があるとその入れ物からトークンを取り出してリソースを使う仕組みになっている。トークンが空であれば処理スレッドはスリープに入り、入れ物の量を超えるトークンはそのまま削除される。短時間に一気に実行される処理については制限がない。この方法は計算や仕組みが簡単で、入れ物のサイズとトークンを溜めるレートを変更するだけでチューニングできるという利点がある。
真偽は定かではないが、同氏の発表によれば、開発者はこうしたVerioで開発されてきた機能の活用を望んでおり、準備ができ次第、VimageとともにFreeBSDにマージしたいとしていた。それほど遠いさきの話ではないような内容だったが、実際に時期がいつになるのかの明言はなかった。取り組みそのものがなくなる可能性もなくもないだろうが、仮に同機能がマージされたとすると、Jail仮想環境におけるリソース管理や制限設定が簡単にできるようになる。これはネットワークルーティングテーブルの仮想化を実現するVimageとともにFreeBSD 8または9における目玉機能になるだろう。
Verioがこうしたリソース制限機能を実装したFreeBSDを活用していることは以前から知られていたが、FreeBSDにはマージされてこなかった。今回マージの話がでたことは、FreeBSDを活用している多くのデベロッパやユーザの協力を得て、これまでよりも迅速に試験を実施し、サービス向上や改善、早期のサービスインにつなげる狙いがあるとみられる。
| 【レポート】FreeBSD 7、1500%ピーク性能改善の裏にあるもの - AsiaBSDCon 2008 [2008/4/4] |
| 【レポート】GEOMでジャーナリング、UFSの機能を柔軟に拡張 - AsiaBSDCon 2008 [2008/4/4] |
| 【レポート】f.root-servers.netを支えるFreeBSDとBIND9 - AsiaBSDCon 2008 [2008/4/4] |
| 【レポート】使いやすさ抜群! FreeBSDベースのデスクトップOS PC-BSD - AsiaBSDCon 2008 [2008/4/4] |
| FreeBSD 7.0登場 - 高負荷時ピーク性能が1500%改善 [2008/2/28] |
| FreeBSD 6.3登場 - 2010年1月セキュリティ対応期限 [2008/1/20] |
| 超高速HTTPアクセラレータ最新版"Varnish 1.1"登場 [2007/7/23] |
| 【レポート】備えあれば憂いなし - pfSense/pfSyncでネットワーク管理を容易に [2007/5/24] |
| 【レポート】PCをNASサーバへ変身させる! かんたん本格派NASソリューション - FreeNAS登場 [2007/5/24] |
| 【レポート】高速化プログラミングの参照実装としても活用される「Varnish」 [2007/5/24] |
| 【レポート】FreeBSDにおけるサーバ仮想化の取り組み [2007/5/21] |
| 【レポート】足掛け7年のサクセスストーリ - マルチコアシステムで大幅に性能向上達成 [2007/5/19] |
| 【レポート】Ports Collection 17,000へ - インフラやメカニズムの改善へ着手 [2007/5/19] |
| 【レポート】インストーラが世代交代 - sysintall(8)からfinstallへ [2007/5/18] |
| 花粉の運び屋“マルハナバチ”の国勢調査 [18:11 5/24] |
| 「Arid5a」は自己免疫疾患を引き起こすカギ分子の可能性大 - 阪大 [17:39 5/24] |
| 岡山大、中枢神経の「ランビエ絞輪」形成機構の解明に1歩前進 [17:35 5/24] |
| 細胞間接着を担うタンパク質「クローディン」に関する発見 - 阪大など [17:32 5/24] |
| パナソニック、LEDに匹敵する照明用高効率白色有機EL素子を開発 [17:29 5/24] |
|
[注目映画紹介]「ポゼッション」 悪魔に憑依された少女と救おうとする父 親子を軸にしたホラー [17:07 5/26] エンタメ |
|
[爆笑問題]AKB48のネタ多く「世の中平和……」 [16:57 5/26] エンタメ |
|
コミックゼノンで新人の連載枠スタート、単行本化を確約 [16:21 5/26] ホビー |
|
脳梗塞やがんの手術費用より骨折やうつの方が金かかると識者 [16:01 5/26] エンタメ |
|
【ドル円週間見通し】米国5月の雇用関連指標を見極める展開 [16:00 5/26] エンタメ |