マイクロソフトは、LinuxとHyper-Vによる「完全な仮想化スタック」のためのLinuxカーネルパッチを提出した。

Table of Contents

マイクロソフトは、LinuxとHyper-Vによる「完全な仮想化スタック」のためのLinuxカーネルパッチを提出した。

Microsoft は、「Linux と Microsoft Hypervisor を使用した完全な仮想化スタックを作成すること」を目的として、Linux カーネルに一連のパッチを提出しました。

パッチは「RFC」(Request for comments)として指定されており、議論のために提示された最小限の実装です。

重要な変更点は、パッチ適用済みのカーネルではLinuxがHyper-Vのルートパーティションとして実行されることです。Hyper-Vアーキテクチャでは、ルートパーティションはハードウェアに直接アクセスし、ホストするVM用の子パーティションを作成します。「XenのDom0のようなものだと考えてください」と、MicrosoftのプリンシパルソフトウェアエンジニアであるWei Liu氏は述べています。

Hyper-Vのアーキテクチャは、KVMやVMwareのESXiよりもXenに似ています。Liu氏は、特に割り込み処理のコードについては「LinuxのXenコードからインスピレーションを得た」と認めています。これまで、Hyper-VのルートパーティションではWindowsを実行する必要がありました。

In the Hyper-V architecture, the root partition has direct access to the hardware and creates child partitions for the VMs. It runs on top of the privileged ring -1 Microsoft Hypervisor.

Hyper-Vアーキテクチャでは、ルートパーティションはハードウェアに直接アクセスし、VM用の子パーティションを作成します。これは、特権リング-1のMicrosoftハイパーバイザー上で実行されます。

Microsoftは、IntelのオープンソースであるCloud Hypervisorも移植しました。これはRustで書かれた仮想マシンモニター(VMM)で、通常はLinuxカーネルに組み込まれたハイパーバイザーであるKVM上で動作します。Cloud Hypervisor自体は現在「非常に初期のプレアルファ段階」にあります。

Linuxがルートパーティションであっても、Microsoftのハイパーバイザー(リング-1権限で動作する薄いレイヤー)上で動作します。ただし、このハイパーバイザー上でWindowsを実行する必要はなくなるため、Microsoftはこの新しい構成を「Linuxを搭載した完全な仮想化スタック」と呼ぶことができます。

hardware_chip

DirectXがLinuxに登場(WSL2経由):マイクロソフトがペンギンにGPUをフラッシュするために必要なトリックを公開

続きを読む

これらの変更は、MicrosoftがAzureクラウドインフラストラクチャを念頭に置いている可能性が高い。AzureではWindowsよりもLinuxが頻繁に実行されており、MicrosoftのエンジニアであるSasha Levin氏は2019年7月に「当社のクラウドにおけるLinuxの利用率はWindowsを上回っています」と述べている。Linuxワークロードの割合は、主にLinuxテクノロジーであるKubernetesの普及に伴い、今後増加すると見込まれる。Linuxは既にWindowsルートパーティションを備えたHyper-V上で問題なく動作しているが、これを完全なLinuxスタックにすることでパフォーマンスが向上する可能性がある。

Microsoftは、Windows Subsystem for Linux(WSL 2)の活用により、Windows 10におけるLinuxサポートの強化にも注力しており、WindowsにLinuxカーネルを搭載することを約束しています。GUIサポートも提供予定です。WSL 2はHyper-Vも採用しており、Windows 10はWindows/Linuxハイブリッドシステムへと進化を遂げつつありますが、現時点では主に開発者の関心を集めています。

マイクロソフトの Ignite 仮想パーティーは来週開催されます。同社がその際に Linux 計画についてさらに詳しい情報を発表すると期待されます。®

Discover More