Hyper v установка linux ubuntu

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Установка Ubuntu Server на Hyper-V

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

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

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

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

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

При установке откажитесь от автоматической установки обновлений, это очень важный момент, почему — поясним ниже.

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Format fat32 linux terminal

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

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

Источник

Рекомендации по запуску Linux в Hyper-V

область применения: Windows Server 2022, Azure Stack хЦи, версия 20H2; Windows сервер 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 r2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10, Windows 8.1, Windows 8, Windows 7,1, Windows 7

Этот раздел содержит список рекомендаций по запуску виртуальной машины Linux в Hyper-V.

Настройка файловых систем Linux в динамических VHDX-файлах

Некоторые файловые системы Linux могут потреблять значительный объем свободного места на диске, даже если файловая система в основном пуста. Чтобы уменьшить объем используемого дискового пространства в динамических VHDX-файлах, учитывайте следующие рекомендации.

  • При создании VHDX используйте 1 МБ Блокксизебитес (из 32 МБ по умолчанию) в PowerShell, например:

    Формат ext4 является предпочтительным для ext3, так как ext4 больше пространства, чем ext3 при использовании с динамическими VHDX-файлами.

    При создании файловой системы укажите число групп 4096, например:

    Время ожидания меню GRUB на виртуальных машинах поколения 2

    Из-за того, что устаревшее оборудование удаляется из эмуляции на виртуальных машинах поколения 2, для отображения меню GRUB слишком быстро вычисляется таймер обратного отсчета, и сразу же загружается запись по умолчанию. Пока GRUB не будет использоваться для использования таймера, поддерживаемого EFI, измените /Бут/груб/груб.конф,/т.п./default/grub или эквивалентным параметром «Timeout = 100000» вместо значения по умолчанию «timeout = 5».

    Загрузка PxE на виртуальных машинах поколения 2

    Так как в виртуальных машинах поколения 2 отсутствует таймер «СМОЛой», сетевые подключения к PxE-серверу TFTP можно преждевременно завершить и предотвратить считывание конфигурации GRUB и загрузку ядра с сервера.

    В дистрибутивах Linux, отличных от RHEL 6. x, можно выполнить аналогичные действия, чтобы настроить GRUB v 0.97 для загрузки ядер Linux с PxE-сервера.

    Кроме того, при вводе с помощью клавиатуры и мыши RHEL/CentOS 6,6 не будет работать с предварительно установленным ядром, что не позволит указать параметры установки в меню. Чтобы разрешить выбор параметров установки, должна быть настроена последовательная консоль.

    В файле ефидефаулт на PxE-сервере добавьте следующий параметр ядра «console = ttyS1» .

    На виртуальной машине в Hyper-V настройте COM-порт с помощью этого командлета PowerShell:

    Указание файла Kickstart для предварительно установленного ядра также позволит избежать необходимости ввода с клавиатуры и мыши во время установки.

    Использование статических MAC-адресов с отказоустойчивой кластеризацией

    Виртуальные машины Linux, которые будут развернуты с помощью отказоустойчивой кластеризации, должны быть настроены со статическим MAC-адресом для каждого виртуального сетевого адаптера. В некоторых версиях Linux сетевая конфигурация может быть потеряна после отработки отказа, поскольку виртуальному сетевому адаптеру назначается новый MAC-адрес. Чтобы избежать потери конфигурации сети, убедитесь, что у каждого виртуального сетевого адаптера есть статический MAC-адрес. Вы можете настроить MAC-адрес, изменив параметры виртуальной машины в диспетчере Hyper-V или диспетчер отказоустойчивости кластеров.

    Использование сетевых адаптеров, относящихся к Hyper-V, а не устаревших сетевых адаптеров

    Настройте и используйте виртуальный адаптер Ethernet, который является сетевой картой Hyper-V с повышенной производительностью. Если к виртуальной машине подключены как устаревшие, так и сетевые адаптеры, относящиеся к Hyper-V, сетевые имена в выходных данных команды ifconfig-a могут показывать случайные значения, такие как _tmp12000801310. Чтобы избежать этой проблемы, удалите все устаревшие сетевые адаптеры при использовании сетевых адаптеров, связанных с Hyper-V, в виртуальной машине Linux.

    Для повышения производительности дискового ввода-вывода используйте планировщик заданий (NOOP/None)

    Ядро Linux предлагает два набора планировщиков дискового ввода-вывода для переупорядочивания запросов. Один набор предназначен для более старой подсистемы «BLK», а один — для новой подсистемы «BLK-MQ». В любом случае с современными твердотельными дисками рекомендуется использовать планировщик, который передает решения о планировании в базовый гипервизор Hyper-V. Для ядер Linux, использующих подсистему «BLK», это планировщик «NOOP». Для ядер Linux, использующих подсистему «BLK-MQ», это планировщик «None».

    Для конкретного диска доступные планировщики могут отображаться в этой папке файловой системы:/СИС/класс/блокк/ /куеуе/счедулер с выбранным планировщиком в квадратных скобках. Планировщик можно изменить, записав в это расположение файловой системы. Чтобы сохранить изменения между перезагрузками, необходимо добавить это изменение в скрипт инициализации. Дополнительные сведения см. в документации по дистрибутив Linux.

    Версии ядра Linux ниже 2.6.37 не поддерживают NUMA в Hyper-V с виртуальными машинами большего размера. Эта проблема влияет в основном на дистрибутивы более ранних версий, в которых используется исходное ядро Red Hat 2.6.32, и была исправлена в Red Hat Enterprise Linux (RHEL) 6.6 (kernel-2.6.32-504). В системах под управлением модифицированных ядер старше версии 2.6.37 или ядер RHEL старше 2.6.32-504 в командной строке ядра необходимо задать параметр загрузки numa=off в файле grub.conf. Дополнительные сведения см. в статье базы знаний Red Hat 436883.

    Зарезервируйте больше памяти для кдумп

    Если ядро записи дампа завершается с тревогой при загрузке, зарезервируйте больше памяти для ядра. Например, измените параметр crashkernel = 384M-: 128M на crashkernel = 384M-: 256M в файле конфигурации Ubuntu GRUB.

    Сжатие VHDX-файлов или расширения VHD и VHDX может привести к ошибочным таблицам разделов GPT

    Hyper-V позволяет сжимать файлы виртуального диска (VHDX) без учета разделов, томов или структур данных файловой системы, которые могут существовать на диске. Если VHDX-файл сжимается до конца раздела, то данные могут быть потеряны, при этом Секция может быть повреждена, а при чтении секции могут возвращаться недопустимые данные.

    После изменения размера VHD или VHDX администраторы должны использовать служебную программу, например fdisk, или частично обновить структуру разделов, томов и файловой системы, чтобы отразить изменение размера диска. Сжатие или увеличение размера VHD или VHDX с таблицей разделов GUID (GPT) вызовет предупреждение, если для проверки макета раздела используется средство управления секциями, и администратору будет выведено предупреждение об исправлении первого и дополнительного заголовков GPT. Этот ручной этап можно выполнить без потери данных.

    Источник

    Установка виртульной машины с Ubuntu на Hyper-V

    Создаем в среде виртуализации Hyper-V на базе Windows Server 2012 R2 виртуальные машины второго поколения (Hyper-V G2) с конфигурацией:

    • 2 vCPU
    • 2GB Static RAM
    • 40GB Dynamic VHDX
    • 1 сетевой интерфейс со статическим MAC-адресом
    • опция Безопасной загрузки (Secure boot) отключена.

    Для сетевого интерфейса обязательно нужно включить опцию разрешающую Спуфинг MAC-адресов:

    На виртуальные машины устанавливаем ОС Ubuntu Server 14.04.3 LTS. Процесс установки ОС выполняем по аналогии с тем, что был описан здесь.

    Опустим саму установку так-как она тривиальна.

    После установки обновляем все пакеты и ядро системы с последующей перезагрузкой:

    Для автоматической установки обновлений безопасности (если данная опция не была выбрана в ходе установки ОС) необходимо:

    Затем устанавливаем дополнительные компоненты интеграции Hyper-V. Для этого выясняем текущую версию ядра ОС:

    В моём случае это 4.4.0-75-generic. Выполняем установку пакетов с подстановкой версии ядра:

    На вопрос о до-установке пакетов соглашаемся, а после окончания процесса установки перезагружаем систему и проверяем лог запуска:

    Явных ошибок запуска быть не должно. Теперь проверим наличие процессов установленных компонент Hyper-V в памяти:

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

    Установка OpenSSH

    Чтобы вместо прямого подключения к консоли нашего сервера использовать безопасный удалённый доступ установим сервер OpenSSH:

    Откроем с правами администратора на редактирование конфигурационный файл OpenSSH:

    Раскомментируем строчку с параметром ListenAddress и в качестве значения укажем IP адрес нашего сервера на внутреннем интерфейсе, чтобы служба сервера OpenSSH принимала подключения только для локальной сети:

    Для вступления изменений в силу перезапускаем службу:

    Теперь мы можем подключиться к нашему серверу удалённо из локальной сети с помощью SSH клиента, например Putty

    Настройка статичного IP-адреса

    Настройки статичного IP-адреса выполняются в файле: /etc/network/interfaces , он должен выглядеть примерно так:

    Источник

    Установка и настройка 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.

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

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

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

    Этого недостаточно, поэтому редактируем файл /etc/initramfstools/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 найдены.

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

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

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

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

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

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

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

    Источник

    Читайте также:  Create user password windows
Оцените статью