【レポート】
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] |
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
| 製品数の拡大だけでなくBCPの展開なども含めた総合力で事業の強化を図るTI [17:25 5/25] |
|
ファミマ×ミクの「Happyくじ 初音ミク」で当たる激レアグッズが明らかに! [16:02 5/26] ホビー |
|
[注目の新譜]BUCK-TICK 不動のメンバーで25年 新レーベルからの第1弾シングル [15:31 5/26] ホビー |
|
AKB宮澤佐江、ダービーは大穴勝負!「総選挙も"追い込み"たい」 [15:30 5/26] エンタメ |
|
お嬢様学校の「庶民サンプル」描くラノベがコミカライズ [15:05 5/26] ホビー |
|
【女性編】あまり知らない人とやることをためらわれることランキング [15:00 5/26] ライフ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。