Давайте продолжим наши упражнения в виртуализации Linux систем под Hyper-V. Сегодня мы займемся установкой и настройкой Debian 6 под Hyper-V. Все что я буду писать ниже можно применять не только к Debian 6, но и к Debian 5 и к остальным дистрибутивам основанным на Debian таким как Ubuntu, Kubuntu, Xubuntu, Ebuntu.
Debian не входит в список официально поддерживаемых Microsoft систем Linux для запуска под Hyper-V. Не смотря на это он работает в виртуальном окружении очень даже хорошо. В связи с тем, что официального пакета компонентов интеграции Hyper-V для Debian нет, мы воспользуемся драйверами Hyper-V встроенными в новейшие ядра Linux.
Установка Debian 6 под Hyper-V довольно банальна. Единственное что нужно сделать на этапе создания виртуальной машины это добавить в систему эмулируемый сетевой интерфейс Legacy. Он нам понадобится для первоначального обновления системы и установки новейшего ядра Linux.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/324/b4b/7f1/324b4b7f185b880bdd5a91d7382d5138.png)
После завершения установки Debian 6 у нас будет ядро 2.6.32 конечно оно не блещет новизной, но в тоже время вполне нормально с многопроцессорными виртуальными машинами.
![Debian6_4 Debian6_4](https://habrastorage.org/r/w1560/getpro/habr/post_images/17f/b1c/e1c/17fb1ce1c3eb758a13c645105797d6f1.png)
Для того чтобы виртуальная машина смогла работать быстрее и воспользоваться всеми преимуществами Hyper-V нужно обновить ядро как минимум до 2.6.36. Перед сборкой нового ядра обновляем систему, устанавливаем исходные тексты текущего ядра и все необходимые инструменты для компиляции нового.
Теперь приступим к сборке нового ядра 2.6.36 взятого с kernel.org
В меню выбираем Device Drivers -> Stagging Drivers –> Microsoft Hyper-V Client Drivers
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/25c/ad2/6ac/25cad26ac2aee4b8bc6c0a307254e6ea.png)
На этом этапе так же можно удалить лишние драйвера для устройств, которых никогда не будет в виртуальной машине, таких как wi-fi, звуковые карты, USB, PCI. Впрочем, это не обязательно, если не желаете, можете не делать.
После этого можем начать сборку deb пакетов ядра. Для того чтобы лучше отличать ядра добавляем в название символы hyper-v.
Компиляция ядра занимает довольно продолжительное время. После этого в /usr/src появятся два deb пакета которые можно установить в систему командой dpkg –i.
Так же эти пакеты можно будет перенести и установить в другие виртуальные машины с Debian дабы не повторять процесс компиляции.
Редактируем /etc/initramfs-tools/modules и добавляем следующие строки указывающие загружать нужные модули при старте системы:
Обновляем initramfs:
Выключаем виртуальную машину, удаляем сетевой адаптер Legacy, добавляем синтетический сетевой адаптер и загружаем машину с новым ядром.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/3c7/5ca/6d8/3c75ca6d87b3193a954339d5d26c71a1.png)
После этого проверяем с помощью lsmod | grep hv что все нужные для работы Hyper-V модули загрузились.
![Debian6_big_scsi_hdd Debian6_big_scsi_hdd](https://habrastorage.org/r/w1560/getpro/habr/post_images/4d3/401/60b/4d340160bf21b505b25c28f3b385f3f6.png)
Обратите внимание, в новых версиях ядер Linux сетевой синтетический интерфейс Hyper-V переименован из seth в eth. Это может вводить в заблуждение.
![Debian_synthetic_network Debian_synthetic_network](https://habrastorage.org/r/w1560/getpro/habr/post_images/540/9c9/9a9/5409c99a990229b48b9d98c9ca6a48a5.png)
Как обычно я протестировал устойчивость виртуальной машины прокачав через нее в течении нескольких дней с помощью scp почти сотню гигабайт трафика. Виртуальные жесткие диски работают также достаточно быстро.
![Debian6_12 Debian6_12](https://habrastorage.org/r/w1560/getpro/habr/post_images/a88/ac6/393/a88ac63932f746bb044fcd86b7d72720.png)
Виртуальная машина работает стабильно в 4-х процессорной конфигурации с 44 гигабайтами ОЗУ. В общем можно сделать вывод, что Debian и основанные на нем дистрибутивы способны отлично работать под Hyper-V и применяться для реализации инфраструктурных элементов работающих с большой нагрузкой.
Debian не входит в список официально поддерживаемых Microsoft систем Linux для запуска под Hyper-V. Не смотря на это он работает в виртуальном окружении очень даже хорошо. В связи с тем, что официального пакета компонентов интеграции Hyper-V для Debian нет, мы воспользуемся драйверами Hyper-V встроенными в новейшие ядра Linux.
Установка Debian 6 под Hyper-V довольно банальна. Единственное что нужно сделать на этапе создания виртуальной машины это добавить в систему эмулируемый сетевой интерфейс Legacy. Он нам понадобится для первоначального обновления системы и установки новейшего ядра Linux.
![image](https://habrastorage.org/getpro/habr/post_images/324/b4b/7f1/324b4b7f185b880bdd5a91d7382d5138.png)
После завершения установки Debian 6 у нас будет ядро 2.6.32 конечно оно не блещет новизной, но в тоже время вполне нормально с многопроцессорными виртуальными машинами.
![Debian6_4 Debian6_4](https://habrastorage.org/getpro/habr/post_images/17f/b1c/e1c/17fb1ce1c3eb758a13c645105797d6f1.png)
Для того чтобы виртуальная машина смогла работать быстрее и воспользоваться всеми преимуществами 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
Теперь приступим к сборке нового ядра 2.6.36 взятого с kernel.org
# 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
В меню выбираем Device Drivers -> Stagging Drivers –> Microsoft Hyper-V Client Drivers
![image](https://habrastorage.org/getpro/habr/post_images/25c/ad2/6ac/25cad26ac2aee4b8bc6c0a307254e6ea.png)
На этом этапе так же можно удалить лишние драйвера для устройств, которых никогда не будет в виртуальной машине, таких как wi-fi, звуковые карты, USB, PCI. Впрочем, это не обязательно, если не желаете, можете не делать.
После этого можем начать сборку deb пакетов ядра. Для того чтобы лучше отличать ядра добавляем в название символы hyper-v.
# make-kpkg clean
# fakeroot make-kpkg --initrd --append-to-version=-hyper-v kernel_image kernel_headers
Компиляция ядра занимает довольно продолжительное время. После этого в /usr/src появятся два deb пакета которые можно установить в систему командой 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
Выключаем виртуальную машину, удаляем сетевой адаптер Legacy, добавляем синтетический сетевой адаптер и загружаем машину с новым ядром.
![image](https://habrastorage.org/getpro/habr/post_images/3c7/5ca/6d8/3c75ca6d87b3193a954339d5d26c71a1.png)
После этого проверяем с помощью lsmod | grep hv что все нужные для работы Hyper-V модули загрузились.
![Debian6_big_scsi_hdd Debian6_big_scsi_hdd](https://habrastorage.org/getpro/habr/post_images/4d3/401/60b/4d340160bf21b505b25c28f3b385f3f6.png)
Обратите внимание, в новых версиях ядер Linux сетевой синтетический интерфейс Hyper-V переименован из seth в eth. Это может вводить в заблуждение.
![Debian_synthetic_network Debian_synthetic_network](https://habrastorage.org/getpro/habr/post_images/540/9c9/9a9/5409c99a990229b48b9d98c9ca6a48a5.png)
Как обычно я протестировал устойчивость виртуальной машины прокачав через нее в течении нескольких дней с помощью scp почти сотню гигабайт трафика. Виртуальные жесткие диски работают также достаточно быстро.
![Debian6_12 Debian6_12](https://habrastorage.org/getpro/habr/post_images/a88/ac6/393/a88ac63932f746bb044fcd86b7d72720.png)
Виртуальная машина работает стабильно в 4-х процессорной конфигурации с 44 гигабайтами ОЗУ. В общем можно сделать вывод, что Debian и основанные на нем дистрибутивы способны отлично работать под Hyper-V и применяться для реализации инфраструктурных элементов работающих с большой нагрузкой.