Пользователь
0,0
рейтинг
31 января 2011 в 01:22

Администрирование → Установка и настройка 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-v

ubuntu smp cpu hyper-v

ubuntu smp cpu hyper-v

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

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

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

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

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (42)

  • 0
    Давно уже держу Archlinux под Hyper-V. Никаких проблем или отличий от стандартной установки не замечено вовсе.
    • 0
      Тоже самое писал еще год назад, ставил freebsd и debian
      Проблемы были только с DHCP
      • +1
        Я не так давно победил проблемы с DHCP во FreeBSD под Hyper-V. Надо будет написать обновленную инструкцию.
  • 0
    А какое у вас там ядро. Компонеты интеграции и синтетические устройства задействовали?
    • 0
      если вы ошиблись веткой, то…

      [root@regulus ~]# uname -a
      Linux regulus 2.6.35-ARCH #1 SMP PREEMPT Tue Sep 21 11:00:23 UTC 2010 i686 Intel® Xeon® CPU E5520 @ 2.27GHz GenuineIntel GNU/Linux
      
      [root@regulus ~]# lsmod | grep hv
      hv_utils                2688  0
      hv_netvsc              25002  0
      hv_vmbus               38404  2 hv_utils,hv_netvsc

      • 0
        Мне как раз было интересно как Arch работает под Hyper-V.

        Спасибо за подробный ответ.

        Кстати, еще вопрос. Многопроцессорность не тестировали?
        • 0
          нет, я покупаю дешевый VDS, своего Hyper-V у меня нет и негде поставить.
  • 0
    Жаль, приходится допиливать руками список модулей. Если с сетевым интерфейсом все и так понятно, то в случае с модулями надо знать, что именно подключать.
    Впрочем, я допускаю, что гуру виртуализации помнят все модули и без документации.
    • 0
      Давайте разберемся с модулями.

      hv_vmbus — шина Hyper-V
      hv_storvsc — хранилище т.е жесткие диски
      hv_blkvsc — блочные устройства, нужна для хранилища
      hv_netvsc — сетевые устройства
      hv_utils — синхронизации веремени, выключение гостевой и прочие сервисы Hyper-V
      • 0
        Благодарю. Но я подозреваю, что это все же не все модули, предоставляемые Hyper-V и их конфигурация может отличаться в различных ситуациях, так?
        • +1
          Это все модули. Конфигурировать их не нужно они работают по умолчанию и настройке не подлежат.
          • 0
            Это радует. Может, я слишком ленив, но я люблю, когда все просто настраивается.
            • 0
              Это наиболее правильный подход. Простота использования того или иного продукта показывает что его разработчик потратил немало времени на полировку и доведение до совершенства своего детища.

              В жизни полно вещей которые гораздо интереснее делать чем разбираться в хитросплетениях очередного ПО.
              • 0
                Но в некоторых случаях это может быть полезно. В общем, сферическое ПО в вакууме должно адекватно работать из коробки и иметь возможность тонкой доводки при помощи напильника, конфигов, мануалов и такой-то матери.
                Взять тот же sendmail. Поднимается с полпинка. Но, открыв sendmail.cf, только тот, кто очень хорошо знаком с регулярными выражениями, не начнет верить в магию вуду.
  • +2
    Зачем мучались? Просто бы дали ссылкой — blogs.technet.com/b/abeshkov/archive/2011/01/30/3383495.aspx.
    • 0
      Не знал что можно сюда ссылки постить вот и пришлось мучаться с форматированием.
      • 0
        Для этого нужна карма не меньше 20.
  • 0
    windows server 2008 r2 с sp1?
    если да, пробовали Dynamic Memory?
    • 0
      Тестировал под Windows Server 2008 R2 SP1. На данный момент Dynamic Memory работает только в гостевых Windows. Идет разработка необходимых механизмов для других ОС.
  • –1
    Обязательно опробуем!!! Спасибки.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Вы отстали от жизни и не в курсе ситуации. Обновленный код Hyper-V в ядре Vanila уже давно.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Можете описать подробнее что именно ему не удается сделать? Какую верию Centos он пытается запустить и какая версия Hyper-V у него? Нужна ли многопроцессорность?

          Про Centos под Hyper-V в сети много интструкций.

          www.google.ru/#sclient=psy&hl=ru&newwindow=1&q=hyper-v+centos&aq=f&aqi=g4&aql=&oq=&pbx=1&fp=e109751e5d2d946a
          • НЛО прилетело и опубликовало эту надпись здесь
            • +1
              Если речь идет о Intergration Services для старых версий ядра Linux то их берут тут

              www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=EEE39325-898B-4522-9B4C-F4B5B9B64551

              Для работы ядер 2.6.32 и выше Intergration Services не нужны. Все что нужно уже встроено в ядро.

              Если ему не удастся добиться успеха направляйте ко мне я постараюсь помочь.
  • 0
    Это тестовая машина или у вас на сервере графика?
    • 0
      Графика специально ставится, чтобы проверить как гостевые ОС будут реагировать на виртуальную видеокарту.
  • +1
    Производительность IDE-дисков у меня была просто чудовищно малой. Подключение дисков как scsi эту проблему решало, но при активном использовании ядро раз в дня два впадало в панику. Обычный LAMP-стек на ubuntu 10.04 server x86_64.
    • 0
      Синтетические устройства с новыми драйверами использовали?

      И еще чем меряли быстродействие? Хочу провести такие же тесты.

      • +1
        hdparm, dd.

        SCSI и есть синтетический.

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

    — тонко. :)
    • 0
      Hyper-V может дать каждой гостевой ОС до 64 ГБ. Хотелось это попроовать под Ubuntu и посмотреть как она будет работать. Впрочем надеюсь что мне это еще удастся сделать.
      • 0
        Но вы понимаете, что сегодня все-таки у многих хабралюдей возникает некоторый когнитивный диссонанс, когда они видят в одном предложении «14Гб ОЗУ» и «ресурсы ограничены»?
        • 0
          Надо стремиться к лучшей жизни. Надеюсь скоро такие у всех будут не сервера а ноутбуки. :)

      • 0
        P.S. Большое спасибо за статью. У нас на работе в скором времени планируется внедрение Hyper-V —, уду продвигать вопрос о переносе некоторых внутренних веб-проектов на Ubuntu Server, очень уж много всяких неприятных моментов с их работой под Windows…
        • 0
          А почему именно Ubuntu для серверов веб проектов?

          Мне как то привычнее в качестве серверной платформы видеть RHEL, Fredora или Suse.
          • 0
            Ну вы сами ответили. Привычнее. :)
          • 0
            + RedHat и Suse стоят приличных денег, а Fedora на «боевых» серверах вроде не сильно жалуют, не?
  • 0
    Вместо Fedora можно использовать CentOS
  • 0
    есть одно существенное замечание — недавно столкнулись при установке Ubuntu 10.04 LTS под Hyper-V.
    Если после установки системы и включения всех модулей hv_vmbus, hv_storvsc, hv_blkvsc, hv_netvsc, hv_utils провести обновления системы, а именно:
    #apt-get upgrade или(и)
    #apt-get dist-upgrade, то система сваливается в ошибку при обновлении, а при перезагрузке полностью умирает! :)

    Решение:
    перед обновлением системы из модулей
    hv_vmbus
    hv_storvsc
    hv_blkvsc
    hv_netvsc
    hv_utils
    нужно оставить включенными модули
    hv_vmbus
    hv_netvsc
    после этого можно спокойно обновить систему, а потом обратно включить выключенные модули
  • 0
    Не нашел в посте одного, зачем это делать? Использовать обе системы?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.