Установка и настройка Linux Ubuntu 10.04 LTS под Hyper-V в Windows Server 2008 R2

Выдалось немного свободного времени, поэтому сегодня я решил написать, как обстоят дела с работой Ubuntu 10.04 под Hyper-V.

Не смотря на то, что Ubuntu не входит в список официально поддерживаемых Linux дистрибутивов работает он под Hyper-V отлично. Более того никаких дополнительных компонентов интеграции ставить не пришлось. Все что нужно для работы с Hyper-V давно находится в свежих ядрах Linux.

Итак, приступим. Берем Linux Ubuntu 10.04 LTS, подойдет как 64-х битная, так и 32-x битная версия. Создаем стандартную виртуальную машину, подключаем DVD с ОС и начинаем установку. Обратите внимание, что мы оставляем синтетический сетевой интерфейс, созданный по умолчанию внутри виртуальной машины. Больше нет необходимости использовать устаревший и более медленный сетевой интерфейс Legacy. Рекомендуется использовать статический Mac адрес сетевого интерфейса, если эта виртуальная машина будет мигрировать между физическими узлами кластера с помощью механизма Live migration.

ubunt network settings hyper-v syntethic adapter

Выполнять установку можно в текстовом или в графическом режиме. Я рекомендую делать это с помощью графики т.к в текстовом режиме перерисовка каждого меню занимает секунд 20-30. Это довольно сильно раздражает, хотя и не мешает завершить установку удачно.

Сразу же после старта установки в течение минуты, другой можно наблюдать ворох предупредительны сообщений о нестандартном BIOS. Смело игнорируем их и продолжаем установку до тех пор пока не увидим следующее лаконичное сообщение.

ubuntu installation finished hyper- v 

После первой перезагрузки смотрим с помощью lsmod список загруженных модулей. Обнаруживаем, что загружен лишь модуль шины Hyper-V под названием hv_vmbus.

ubuntu vmbus kernell modules hyper-v

Этого недостаточно, поэтому редактируем файл / etc / initramfs - tools / modules и добавляем в него строки разрешающие загрузку остальных необходимых нам модулей.

hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
hv_utils

Сохраняем файл и выполняем команду:

$ sudo update-initramfs -u

Прописываем в / etc / network / interfaces ваш новый синтетический сетевой интерфейс seth0. Если бы у вас использовался устаревший сетевой интерфейс Legacy, то он назывался бы eth0.

Для статической адресации:

Auto seth0
iface seth0 inet static
address x.x.x.x
netmask x.x.x.x
Gateway x.x.x.x

Для получения адреса по DHCP:

Auto seth0
iface
seth0 inet dhcp

Я проверял оба способа сетевой адресации, они работают.

Перезагружаемся и в процессе видим вот такие сообщения о том что устройства связанные с vmbus найдены.

ubuntu vmbus kernell modules hyper-v messages 

После загрузки с помощью lsmod проверяем загруженные модули и смотрим, какие сетевые интерфейсы у нас есть в системе.

ubuntu network interface modules hyper-v 

Как видите, сетевой интерфейс seth0 работает вполне нормально.

ubuntu network test hyper-vubuntu network test hyper-v

Так же стоит отметить, что Ubuntu нормально работает как в однопроцессорной, так и в многопроцессорной конфигурации. Система без проблем масштабируется до 4-х процессоров.

ubuntu smp cpu hyper-vubuntu smp cpu hyper-v

ubuntu smp cpu hyper-v

К сожалению, ресурсы ОЗУ моего тестового сервера ограниченны, поэтому дать более 14 ГБ ОЗУ виртуальным машинам с Ubuntu я не смог. Впрочем, для большинства задач такого объема вполне достаточно.

Стоит отметить, что поддержки синтетической мыши в Ubuntu нет, а проект Satori пока что не портирован под этот дистрибутив, поэтому для удаленного управления в графическом режиме я использовал VNC.

На всякий случай внутри виртуальных машин с Ubuntu я настроил веб сервер и FTP сервер. В течение недели с помощью скриптов периодически скачивал с них довольно большие объемы данных. Деградации быстродействия, каких либо проблем и сбоев замечено не было.

Вывод – несмотря на то, что официально о поддержке Ubuntu не заявлено этот дистрибутив работает под Hyper-V весьма надежно и, по моему мнению, может использоваться в производственной среде.

Comments

  • Anonymous
    January 01, 2003
    Синтетические устройства нужны только для работы под Hyper-V. У других систем виртуализации свои собственные драйвера устанавливаются в гостевые системы.

  • Anonymous
    January 01, 2003
    Сергей к сожалению провести такие тесты не могу ибо нет подходящего свободного оборудования. Опять же даже если бы я их провел фанаты той или иной системы вируализации не поверили бы ибо я работаю в Microsoft. Плюс к этому публикация каких либо тестов быстродействия без одобрения VMWare грозит серьезными законодательными осложнениями. communities.vmware.com/.../678710 Надеюсь вы понимаете что в такой ситуации публиковать сравнение бесполезно ибо оно заведомо будет предвзятым. Поэтому, к сожалению остается только один способ выяснить реальное положение дел, каждый должен сам тестировать то что ему интересно.

  • Anonymous
    January 01, 2003
    Для Dynamic Memory нужно чтобы в гостевой ОС был так называемый Baloon driver. Он блокирует память в гостевой и отдает ее гипервизору. В компонентах Hyper-V для Linux этот драйвер еще не реализован.

  • Anonymous
    January 01, 2003
    Может это ядро без компонентов для Hyper-V? В некоторых дистрибутивах это встречается. В приницпе можно попробовать поставить компоненты интеграции традиционным путем отсюда www.microsoft.com/.../details.aspx

  • Anonymous
    January 30, 2011
    Спасибо за статью, Сам ресурсами не располагаю для теста, но очень интересует сравнения быстродействия работы Ubuntu Server 10.04 LTS x64 c HDD по сравнению с Vmware ESX 4.0 Плюс для теста все таки лучше брать голый Ubuntu Server x64 и уже htop, atop информацию нам :) Буду благодарен за тест с HDD, если у Вас будет время!

  • Anonymous
    January 30, 2011
    Очень полезная статья! Добавил в ссылки для того, чтобы было под рукой. Совсем недавно установил Ubuntu на Hyper-V -- вполне нормально шуршит! Про фишку поддержки HV в ядре 2.6.32 знал давно -- просто проверял заработает ли, а в итоге получился полноценный сервер :)

  • Anonymous
    February 01, 2011
    а в ядре есть поддержка Dynamic memory или для этого нужны компоненты интеграции (коих для ubuntu официально нет)?

  • Anonymous
    February 03, 2011
    Скачал вот это: sourceforge.net/.../download Под VirtualBox'ом всё нормально запустилось, обновилось, установилось и заработало. Конвертнул VMDK в VHD (справился только WinImage), создал новую виртуалку в Hyper-V R2, подключил к ней сконверченный VHD. То-же всё запустилось, обновилось, установилось и заработало. Однако, как синтетические устройства установить/увидеть? Ядро 2.6.32-28-generic-pae (Ubuntu 10.04.2 LTS) - т.е. Linux_IC не нужен, вроде, всё в ядре должно быть, но где? hv_vmbus так-же отсутствует. После прописывания в /etc/initramfs-tools/modules и выполнения sudo update-initramfs -u так-же ничего не появляется...

  • Anonymous
    February 03, 2011
    Да, мне и надо на втором этапе запустить то-же самое под Hyper-V R2!.. Однако, я не вижу никаких синтетических устройств, хотя они и должны быть в ядре уже, судя по номеру версии...

  • Anonymous
    February 22, 2011
    Linux on Hyper-V How-To FIX “Mouse not captured in Remote Desktop session” 22.02.2011 vvm Linux on Hyper-V How-To FIX “Mouse not captured in Remote Desktop session” Without Satori, mouse work in Linux Guest if connect to it from Windows directly == Стоит отметить, что поддержки синтетической мыши в Ubuntu нет, а проект Satori пока что не портирован под этот дистрибутив, поэтому для удаленного управления в графическом режиме я использовал VNC. ==    На практике Satori не очень-то и нужен == если вы присоединяетесь к Hyper-V через RDP а затем через консоль Hyper-V открываете окно в виртуальную машину то мышь в ней работать не будет. ==   Оказалось, что это надо понимать так: установите на рабочую станцию MMC-оснастку Hyper-V и  напрямую  подключайтесь к Guest-компьютерам vvm.blog.tut.by/.../hype-v_mouse_in_linux

  • Anonymous
    March 09, 2012
    А вот и обзор сабжа stoplinux.org.ru/.../review_Ubuntu_LTS_10.04.html