Debianは、Hyper-Vで実行するために公式にサポートされているMicrosoft Linuxシステムのリストには含まれていません。 それにもかかわらず、彼は仮想環境で非常にうまく働いています。 Debianには公式のHyper-V統合パッケージがないため、最新のLinuxカーネルに組み込まれたHyper-Vドライバーを使用します。
Debian 6をHyper-Vの下にインストールすることはかなり一般的です。 仮想マシンを作成する段階で行う必要があるのは、レガシーエミュレートされたネットワークインターフェイスをシステムに追加することだけです。 最初のシステムアップデートと最新のLinuxカーネルのインストールに必要になります。
Debian 6のインストールが完了すると、2.6.32カーネルが得られます。もちろん、目新しいことはありませんが、同時にマルチプロセッサ仮想マシンではかなり正常です。
仮想マシンがより高速に動作し、Hyper-Vを最大限に活用できるようにするには、カーネルを少なくとも2.6.36に更新する必要があります。 新しいカーネルを組み立てる前に、システムを更新し、現在のカーネルのソースと新しいカーネルをコンパイルするために必要なすべてのツールをインストールします。
# apt-get update
# apt-get install build-essential ncurses-dev kernel-package fakeroot install linux-headers-2.6 linux-source-2.6.32
kernel.orgから取得した新しいカーネル2.6.36の構築を始めましょう
# cd /usr/src
# wget -c www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
# bzip2 -d linux-2.6.36.tar.bz2
# tar xf linux-2.6.36.tar
# cd linux-2.6.36
# cp /boot/config* ./.config
# make menuconfig
メニューで、[デバイスドライバー]-> [スタギングドライバー]-> [Microsoft Hyper-Vクライアントドライバー]を選択します。
この段階で、wi-fi、サウンドカード、USB、PCIなど、仮想マシンに決して含まれないデバイスの不要なドライバーを削除することもできます。 ただし、これは必要ではありません。希望しない場合は実行できません。
その後、debカーネルパッケージの構築を開始できます。 カーネルをより明確に区別するために、名前にhyper-v文字を追加します。
# make-kpkg clean
# fakeroot make-kpkg --initrd --append-to-version=-hyper-v kernel_image kernel_headers
カーネルのコンパイルにはかなり時間がかかります。 その後、2つのdebパッケージが/ usr / srcに表示され、dpkg –iコマンドを使用してシステムにインストールできます。
また、これらのパッケージは、コンパイルプロセスを繰り返さないようにDebianを使用して他の仮想マシンに転送およびインストールできます。
/ etc / initramfs-tools / modulesを編集し、システム起動時に必要なモジュールをロードすることを示す次の行を追加します。
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
initramfsの更新:
# update-initramfs –u –k 2.6.36-hyper-v
仮想マシンをオフにし、レガシーネットワークアダプタを削除し、合成ネットワークアダプタを追加して、新しいカーネルでマシンを起動します。
その後、lsmod | grep hvは、Hyper-Vの動作に必要なすべてのモジュールがロードされたことを示しています。
Linuxカーネルの新しいバージョンでは、Hyper-V合成ネットワークインターフェイスの名前がsethからethに変更されていることに注意してください。 これは誤解を招くかもしれません。
いつものように、ほぼ100ギガバイトのトラフィックに対してscpを使用して、仮想マシンの安定性を数日間テストしました。 仮想ハードドライブも十分に高速です。
仮想マシンは、44ギガバイトのRAMを備えた4プロセッサ構成で安定して動作します。 一般に、Debianとそれに基づくディストリビューションはHyper-Vの下で完全に動作し、高負荷の下で動作するインフラストラクチャ要素の実装に使用されると結論付けることができます。