миграция физических Linux серверов в виртуальную среду гипервизора Microsoft Hyper-V
Все неоднозначно в схеме миграции физических Linux серверов в виртуальную среду гипервизора Microsoft Hyper-V, тем не менее, не попробовав говорить однозначно об этом сложно.
В продолжении «Вялых попыток Linux P2V-конвертации для Hyper-V» (Ивашенцева Андрея, http://bit.ly/hzaV6L ). В интернетах нет однозначного решения по такой миграции, основные варианты известны давно:
- Linux -> Vmware Converter 4 -> Vmware ESX -> VMDK2VHD -> Hyper-V -> Установка LinuxIC
- Альтернативные решения:
- PlateSpin® Migrate (принадлежит Novell, бывший Invirtus Enterprise VM Converter) ,
- Quest® vConverter (бывший Vizioncore),
- Citrix XenConvert (но тут без промежуточной миграции в Vmware не обойдешься).
- Установка Linux сразу в Hyper-V и миграция данных и конфигурации средствами Linux, тоже очень интересно.
- Возможно, есть что-то еще, буду рад, если кто-то поделиться этими знаниями.
Hyper V и System Center Virtual Machine Manager не умеют мигрировать Linux P2V, что не мешает им довольно успешно его виртуализировать, есть инструменты интеграции hyper-v для Linux – LinuxIC.
Задача, которую я пытался решить: освободить устаревшее оборудование, на котором крутятся базы данных Oracle, все это крутиться под Fedora и перенести виртуальные машины в используемый у нас гипервизор Hyper-V.
Я пошел по известному пути номер один моего списка. Миграция состоит из следующих шагов, подразумевается, что у вас уже установлен Windows Server 2008 с Hyper-V и System Center Virtual Machine Manager:
- Установка Vmware Converter на Windows машину.
- Установка Vmware ESXi. Настройка SSH доступа.
- Процесс миграции в ESXi.
- Копирование VMDK c ESXi на сервер Hyper-V по SSH при помощи Winscp.
- Добавление папки c файлами vmware в библиотеку SCVMM, и конвертация V2V (VMDK в VHD при помощи Wizard SCVMM).
- Проверка и запуск вашего Linux сервера на Hyper-V .
- Интеграция компонентов LinuxIC.
Vmware Converter понадобиться лишь на время миграции в Vmware, хорошо, если будет высокоскоростной Ethernet адаптер. Можно сразу попробовать возможность миграции вашего Linux сервера, начав миграцию и указав данные с рутовым доступом, и нажав View source details.
C этого момента вы поймете что для миграции вам необходим Vmware ESXi, он бесплатен для загрузки и использования. Так же есть 60-дневный период для управления им через vSphere Client. Я ставил на первый попавшийся PC с процессором поддерживающим виртуализацию аппаратно. Установку Vmware ESXi описывать нет смысла, там нет ничего такого, что вызвало бы трудности (next – next –next). На всякий случай вот ссылка на руководство по установке (http://bit.ly/frcqdD). Единственное что нужно учитывать так это: места на жестком диске должно хватить для данных ваших мигрируемых серверов. Так же понадобиться настроить удаленный SSH доступ, как обозначено на скриншоте.
Визардом Vmware Converter начинаем p2v миграцию, у меня это заняло около часа при 140 Gb данных одного из серверов.
Следующий шаг, скачать, к примеру Winscp, чтобы по SSH скачать необходимые файлы после завершения миграции.
В System Center Virtual Machine Manager добавляем папку с образом из Vmware, все файлы что я вытащил из Vmware ESXi по SSH.
Добавив все, создаем задачу миграции V2V в SCVMM.
Опять ожидаем, поскольку я разворачивал машину на сервере который является лишь хостом Hyper-V, а SCVMM стоит на отдельной машине – процесс занял около полутора часов.
В итоге я получил работающую машину под Linux Fedora под Hyper-V
Источник
Установка и настройка 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/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 найдены.
После загрузки с помощью lsmod проверяем загруженные модули и смотрим, какие сетевые интерфейсы у нас есть в системе.
Как видите, сетевой интерфейс seth0 работает вполне нормально.
Так же стоит отметить, что Ubuntu нормально работает как в однопроцессорной, так и в многопроцессорной конфигурации. Система без проблем масштабируется до 4-х процессоров.
К сожалению, ресурсы ОЗУ моего тестового сервера ограниченны, поэтому дать более 14 ГБ ОЗУ виртуальным машинам с Ubuntu я не смог. Впрочем, для большинства задач такого объема вполне достаточно.
Стоит отметить, что поддержки синтетической мыши в Ubuntu нет, а проект Satori пока что не портирован под этот дистрибутив, поэтому для удаленного управления в графическом режиме я использовал VNC.
На всякий случай внутри виртуальных машин с Ubuntu я настроил веб сервер и FTP сервер. В течение нескольких дней с помощью скриптов периодически скачивал с них довольно большие объемы данных. Деградации быстродействия, каких либо проблем и сбоев замечено не было.
Вывод – несмотря на то, что официально о поддержке Ubuntu не заявлено этот дистрибутив работает под Hyper-V весьма надежно и, по моему мнению, может использоваться в производственной среде.
Источник
Поддерживаемые виртуальные машины Linux и FreeBSD для Hyper-V на Windows
область применения: 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
Hyper-V поддерживает как эмулированные, так и устройства Hyper-V для виртуальных машин Linux и FreeBSD. При работе с имитируемыми устройствами не требуется устанавливать дополнительное программное обеспечение. Однако эмулированные устройства не обеспечивают высокую производительность и не могут использовать обширную инфраструктуру управления виртуальными машинами, предлагаемую технологией Hyper-V. Чтобы полностью использовать все преимущества, предоставляемые Hyper-V, лучше всего использовать устройства, относящиеся к Hyper-V, для Linux и FreeBSD. Коллекция драйверов, необходимых для запуска устройств, связанных с Hyper-V, известна как Linux Integration Services (LIS) или FreeBSD Integration Services (BIS).
LIS был добавлен в ядро Linux и обновлен для новых выпусков. Однако дистрибутивы Linux, основанные на старых ядрах, могут не иметь последних улучшений или исправлений. Корпорация Майкрософт предоставляет загружаемый пакет, содержащий устанавливаемые драйверы LIS для некоторых установок Linux на основе этих старых ядер. Поскольку поставщики распространения включают версии Linux Integration Services, лучше установить последнюю загружаемую версию LIS, если это применимо, для установки.
Для других дистрибутивов Linux изменения LIS регулярно интегрируются в ядро операционной системы и приложения, поэтому отдельное скачивание или установка не требуются.
Для старых выпусков FreeBSD (до 10,0) корпорация Майкрософт предоставляет порты, которые содержат устанавливаемые драйверы BIS и соответствующие управляющие программы для виртуальных машин FreeBSD. Для новых выпусков FreeBSD номер BIS встроен в операционную систему FreeBSD, и отдельное скачивание или установка не требуются, за исключением загрузки KVP портов, необходимой для FreeBSD 10,0.
Целью этого содержимого является предоставление информации, помогающей упростить развертывание Linux или FreeBSD в Hyper-V. Ниже приведены конкретные сведения.
Дистрибутивы Linux или выпуски FreeBSD, требующие загрузки и установки драйверов LIS или BIS.
Дистрибутивы Linux или выпуски FreeBSD, содержащие встроенные драйверы LIS или BIS.
Карты распределения компонентов, которые указывают на функции в основных дистрибутивах Linux или в выпусках FreeBSD.
Известные проблемы и способы их решения для каждого распространения или выпуска.
Описание функции для каждого компонента LIS или BIS.
Хотите принять предложение о функциях и функциях? Что мы можем сделать лучше? вы можете использовать сайт пользователя Windows Server , чтобы предложить новые функции и возможности для виртуальных машин Linux и FreeBSD в Hyper-V, а также узнать, какие другие люди говорят.
Источник
Установка и настройка Debian Linux под Hyper-V
Давайте продолжим наши упражнения в виртуализации 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.
После завершения установки Debian 6 у нас будет ядро 2.6.32 конечно оно не блещет новизной, но в тоже время вполне нормально с многопроцессорными виртуальными машинами.
Для того чтобы виртуальная машина смогла работать быстрее и воспользоваться всеми преимуществами 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
На этом этапе так же можно удалить лишние драйвера для устройств, которых никогда не будет в виртуальной машине, таких как 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
# update-initramfs –u –k 2.6.36-hyper-v
Выключаем виртуальную машину, удаляем сетевой адаптер Legacy, добавляем синтетический сетевой адаптер и загружаем машину с новым ядром.
После этого проверяем с помощью lsmod | grep hv что все нужные для работы Hyper-V модули загрузились.
Обратите внимание, в новых версиях ядер Linux сетевой синтетический интерфейс Hyper-V переименован из seth в eth. Это может вводить в заблуждение.
Как обычно я протестировал устойчивость виртуальной машины прокачав через нее в течении нескольких дней с помощью scp почти сотню гигабайт трафика. Виртуальные жесткие диски работают также достаточно быстро.
Виртуальная машина работает стабильно в 4-х процессорной конфигурации с 44 гигабайтами ОЗУ. В общем можно сделать вывод, что Debian и основанные на нем дистрибутивы способны отлично работать под Hyper-V и применяться для реализации инфраструктурных элементов работающих с большой нагрузкой.
Источник