Установка Ubuntu Server на Hyper-V

  • Автор:

Ubuntu-Hyper-V-000.jpg

Несколько дней назад нам потребовалось развернуть сервер на Ubuntu в виртуальной среде. Так как на выделенном под проект сервере уже стоял Windows Server 2008, выбор пал на Hyper-V, бесплатный гипервизор от Microsoft. В тоже время установка имеет ряд особенностей, о которых мы и поговорим в этой статье.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Первоначально мы не собирались публиковать этот материал, есть отличная статья Андрея Бешкова, где данный вопрос довольно подробно рассматривается. Однако в процессе установки мы столкнулись с рядом особенностей, не описанных в статье и тем, что в нашем случае у системы отсутствует графический интерфейс, для опытного администратора это не представляет сложности, но у начинающих может вызвать затруднения.

Итак, у нас имеется Windows Server 2008 SP2 c добавленной ролью Hyper-V и Ubuntu Server 10.04.1 LTS. В Hyper-V создаем стандартную виртуальную машину и начинаем установку системы с образа или диска. Одна неприятная особенность - в текстовом режиме перерисовка каждого экрана занимает 15-20 секунд, неприятно, но на процесс установки это никак не влияет.

Первое серьезное предупреждение в процессе установки сообщит вам, что установщик не смог обнаружить сетевые интерфейсы. Это нормально, по умолчанию Ubuntu не поддерживает виртуальное оборудование Hyper-V, спокойно продолжаем установку.

Ubuntu-Hyper-V-001.jpgПри установке откажитесь от автоматической установки обновлений, это очень важный момент, почему - поясним ниже.

Установив систему следует включить загрузку необходимых для полноценной работы в Hyper-V модулей, которые входят в ядро системы, но не включены. Учитывая что сети нет, и поставить даже mc вы не сможете, будем довольствоваться простым редактором nano. Для включения модулей необходимо отредактировать /etc/initramfs-tools/modules

sudo nano /etc/initramfs-tools/modules

В открывшийся файл добавляем следующие строки:

hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
hv_utils

Выходим по Ctrl+X утвердительно отвечая на предложение сохранить изменения.

За что отвечают и для чего нужны эти модули?

  • hv_vmbus - шина Hyper-V, основной модуль
  • hv_storvsc - поддержка виртуального хранилища (виртуальный жесткий диск)
  • hv_blkvsc - поддержка блочных устройств, требуется для хранилища.
  • hv_netvsc - поддержка синтетической сетевой карты
  • hv_utils - поддержка расширенных возможностей Hyper-V, таких как управление питанием гостевой системы и т.п.

Теперь обновим образ начальной загрузки системы (initramfs):

sudo update-initramfs -u

Изменения будут применены при следующей загрузке системы, а пока настроим сетевые интерфейсы, для этого отредактируем /etc/network/interfaces:

sudo nano /etc/network/interfaces

Добавим интерфейс eth0 и настроим его, например у нас это выглядит так:

auto eth0
iface eth0 inet static
address 192.168.0.105
netmask 255.255.255.0
gateway 192.168.0.100

Также на забудьте указать DNS сервера в /etc/resolv.conf

sudo nano /etc/resolv.conf

нашем случае для DNS серверов 192.168.0.100 и 192.168.0.101 и домена example.com записи будут выглядеть так:

nameserver 192.168.0.100
nameserver 192.168.0.101
domain example.com
search example.com

Сохраняем изменения и перезагружаемся:

sudo reboot

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

Ubuntu-Hyper-V-002.jpgНа этом нашу статью можно было бы и закончить, если бы не один неприятный момент: если вы попытаетесь обновить систему, то при обновлении получите ошибку и система больше не загрузится. Чтобы избежать этого, отключите все модули initramfs, кроме hv_vmbus и hv_netvsc (не забудьте перезагрузиться). После обновления включите модули обратно. В любом случае перед обновлением и прочим потенциально опасными операциями стоит сделать снимок системы, что позволит в любой момент времени быстро вернуться к ее текущему состоянию.

Ubuntu-Hyper-V-003.jpg

Вообще в процессе настройки мы советуем делать снимки как можно чаще. Установили пакет, настроили - сделайте снимок. Это позволит, при необходимости, возвращаться на нужное количество шагов назад, а также реализовать и опробовать несколько вариантов настройки, чтобы окончательно выбрать лучший из них.

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments