Microsoft Corporation

Microsoftは10月20日(米国時間)、「Microsoft Loves Linux Deep Dive #5: FreeBSD on Hyper-V - Microsoft Server and Cloud Platform Blog - Site Home - TechNet Blogs」において、Hyper-VでFreeBSDをサポートすることになった主な理由や、主にどういったサービスを提供しているかを伝えた。Microsoftはこの数年、Hyper-Vで動作するFreeBSDのパフォーマンスの改善に取り組んでおり、具体的にどのパフォーマンスが向上したのかについて説明している。

掲載されている主な改善点は次のとおり。

  • ドライバおよびデーモンにおけるキー・バリューペアの実装
  • VMBusの利用と性能向上のための機能実装(複数のチャンネルを通じた高速通信の実現、複数回実行していたI/Oを単一のI/Oにまとめることで仮想マシンとホスト間のI/Oを高速化し、ストレージ性能やネットワーク性能を向上)
  • ストレージで高いレベルのIOPsを実現するための各種最適化(VMBusにおいて複数のチャンネルを経由した高速通信の実現、スキャッター/ギャザーリストサポートによる優先度の高いI/O処理の改善)
  • ホストが10GbE NICを使っていた場合にゲストのFreeBSDもほぼホストと同じレベルの高速通信を実施できるためのネットワーク機能の実装(マルチチャンネルによる高速通信の実現、TCPセグメントオフロードの活用、CARPによる高い信頼性の実現)
  • ゼロダウンタイムで動作するライブ仮想マシンバックアック機能の実現
  • ゼロダウンタイムでSCSIディスクの追加および削除を実現する機能の提供

Microsoftは説明の中で、FreeBSDはデータセンターで利用されているストレージやネットワーク、セキュリティアプライアンスのベースオペレーティングシステムとして活用されていると指摘。こうしたアプライアンスは仮想環境でも利用されることが増えており、オンプレミスでもAzureでも同じようにFreeBSDベースのアプライアンスが動作する必要があると説明している。Hyper-VでFreeBSDをサポートすることになったと主な目的はこうした利用を行っているアプライアンスベンダをサポートするためだとしている。

Hyper-Vで適切に動作するにはIntegration Services(ドライバと関連するデーモン)を提供する必要があるが、多くのディストリビューションが存在するLinuxと異なり、FreeBSDではFreeBSDコミュニティに直接ソースコードを提供し、そのままカーネルに取り込んでもらえたという。ディストリビューションごとに対応する必要があったLinux版と比べて対応が簡単だったことにも触れている(FreeBSD 10.0からIntegration Servicesの機能は組み込まれている)。