virtualization
- FreeBSD as a first-class Hyper-V citizen by Microsoft, NetApp and Citrix
2012年5月11日にカナダのオタワで開催されたBSDCan 2012において、
Microsoft Hyper-VにおけるゲストOSとしてFreeBSDをサポートする開発が進めらていることがMicrosoftおよびNetAppより発表されました。 発表現在、
主要機能はすべて開発が完了しており、 あとはバグ修正や品質の向上、 パフォーマンスの改善、 レビューの実施、 FreeBSDへのマージといった作業が残っているとされています。 成果物はドライバの形式で提供されるとのことで、
最初は2012年夏にリリースおよびマージが予定されています。最初はWindows Server 2008R2をターゲットにFreeBSD 8. 2-RELEAEおよびFreeBSD 8. 3-RELEASE向けのドライバが提供される予定です。同時期にFreeBSD 10-CURRENTへのマージが予定されています。FreeBSD 10-RELEASE以降はデフォルトのままでもHyper-Vで性能が発揮できることになりそうです。 成果物そのものはBSDライセンスになっており、
すべて合わせても6,000行ほどということです。FreeBSDカーネルにほとんど変更を加えることなく、 ドライバとして実装されているという特徴があります。 今回の取り組みが興味深いのは、
Microsoft、 NetApp、 Citrixが協力してFreeBSD対応に取り組んだ点にあります。MicrosoftとしてはHyper-Vで動作するオフィシャルのゲストOSを増やしたいという狙いがあります。NetAppは自社プロダクトにFreeBSDを採用しており、 こうした仮想環境で自社プロダクトを動かしていきたいという狙いがあります。このようにお互いの利害が一致したため、 今回FreeBSDをHyper-Vに対応させるという取り組みが実現したとのことです。 具体的な取り組みは2011年11月にカリフォルニアのサニーベールで開催されたベンダサミットあたりに端を発していますので、
ほぼ半年で協業しながらの開発がほぼ完了したことになります。 最初に提供されるドライバはVMBus、
StorVSC、 NetVSC、 Utilitiesの4つです。VMBusがHyper-Vのホストとの通信を担当します。StorVSCがSCSIベースのドライバ、 NetVSCがネットワークドライバです。どちらもVMBusを経由してHyper-Vホストと通信することで高い性能を発揮します。Utilitiesでは時刻の同期やシャットダウンなどの処理がハンドリングされます。 完全仮想化状態で動作するゲストOSに比べて、
これらドライバを動作させたFreeBSDゲストはディスクアクセス、 ネットワーク通信の面で高い性能が期待できます。また、 Hyper-Vホストと時刻やシャットダウン処理などが連動することになりますので、 使い勝手も向上することになります。今回の開発は最初の取り組みとなるもので、 今後さらにさまざまな新機能やパフォーマンスの向上が期待できます。 ISPやホスティング業者などFreeBSDをサービス提供の基盤として採用しているケースでは、
FreeBSDがXenやKVM、 Hyper-V、 VMwareなどでどこまで動作するか、 どの程度パフォーマンスを発揮できるのかが特に重要です。この点、 今回MicrosoftからHyper-VにおけるFreeBSDの正式サポート、 しかもパフォーマンスが期待できるレベルでのサポートがはじまったことは注目に値します。 この夏はBHyVeの10-CURRENTへのマージも期待されていますし、
こうした取り組みはFreeBSD適用のシーンを広げる取り組みとして注目されます。