Blogs

Установка и настройка CentOS Linux 5.5 под Hyper-V

  • Comments 28
  • Likes

Давайте продолжим серию статей о запуске Unix и Linux систем под Hyper-V R2. Сегодня посмотрим, как устанавливать и настраивать CentOS 5.5 под управлением нашей системы виртуализации. Почему именно CentOS? Все очень просто он является самым популярным среди любителей RedHat подобных дистрибутивов.

Для тех, кому лень читать могу сказать что CentOS работает под Hyper-V очень хорошо и готов к применению в производственной среде. Кстати, все, что я напишу ниже можно с таким же успехом применять и для RHEL.

Ну что приступим?

Создаем виртуальную машину. И добавляем в нее сетевой адаптер Legacy. Он пригодится нам для обновления CentOS и для установки компонентов интеграции Hyper-V.

Centos_hyperv_network_settings

Запускаем установку ОС. Для того чтобы сценарий тестирования был наиболее реалистичным будем использовать динамические жесткие диски VHD. Обратите внимание, что гостевая система вполне нормально работает с дисками размера до 2 ТБ. Использование динамических дисков автоматически расширяющихся при необходимости поможет нам реалистичнее посчитать среднюю производительность дисковых операции.

Centos_2TB_VHD_Disk

Так же в процессе установки можно настроить сетевой интерфейс Legacy.

Centos_legacy_network_dhcp_settings

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

Centos_legacy_network

Centos_legacy_network_test

Сейчас нам доступен сетевой адаптер со скоростью 100 МБит/c. Для многих задач этого достаточно, но ведь хочется более высоких скоростей? Скоро мы и до этого дойдем.

Обратите внимание, что даже без сервисов интеграции с Hyper-V система способна работать с несколькими виртуальными процессорами. Максимальное количество виртуальных процессоров 4.

Centos_SMP_Hyperv

Как видите базовый функционал работает вполне нормально. Теперь давайте приступим к установке сервисов интеграции Hyper-V. Что это даст нам?

  • Синтетические драйвера для жестких дисков и сетевых контроллеров оптимизированные специально для Hyper-V R2.
  • Fastpath Boot позволяет жестким дискам с которых загружается гостевая ОС работать быстрее. 
  • Синхронизация времени гостевой ОС с часами Hyper-V.
  • Правильно завершение работы гостевой ОС Linux по команде Shutdown из Hyper-V, System Center Virtual Machine Manager или Powershell. 
  • Heartbeat – периодическая проверка сердцебиения гостевой ОС.

Перед установкой сервисов интеграции Hyper-V обновляем гостевую ОС через графический интерфейс или с помощью команд:

# yum update

# reboot

Centos_system_update

После перезагрузки неплохо было бы сделать мгновенный снимок (snapshot) средствами Hyper-V, если что-то пойдет не так, всегда сможем откатиться назад.

Теперь устанавливаем заголовки ядра и инструменты разработчика

# yum install kernel-devel

# yum groupinstall "development tools"

Скачиваем интеграционные сервисы для Hyper-V распаковываем их и подключаем ISO к гостевой CentOS.

Собираем и устанавливаем модули ядра для синтетических устройств

# mkdir /opt/linux_is

# cp -R /media/CDROM/* /opt/linux_is

# cd /opt/linux_is

# make

# make install

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

# lsmod | grep vsc

Centos_hyperv_integration_services

Выключаем гостевую ОС с помощью poweroff. Удаляем из нее сетевой адаптер Legacy и добавляем синтетический адаптер. Запускаем ОС и настраиваем новый сетевой адаптер seth0.

Centos_hyperv_synthetic_device_netwok

Теперь можно провести тестирование скорости работы синтетического сетевого адаптера с помощью iperf.

Centos_synthetic_network_speed

Как видите скорость на сетевом интерфейсе seth0 в среднем составляет 492,5 Мбит/c. Довольно неплохой результат для виртуальной машины.

К сожалению, выполнять загрузку гостевой ОС Hyper-V умеет только с IDE дисков поэтому рекомендуется на них располагать только раздел /boot. Для всех остальных разделов рекомендуется в качестве жестких дисков использовать SCSI диски. В этом случае мы сможем добиться гораздо более высокого быстродействия.

Centos_scsi_disk 

Centos_scsi_disk_benchmark

Если вам нужно сделать так чтобы, подключаясь через RDP к консоли Hyper-V вы могли управлять CentOS с помощью мыши в графическом режиме ставим драйвера синтетического устройства мыши.

Скачиваем их со страницы проекта Citrix Satori, присоединяем ISO файл к виртуальной машине, копируем исходники и устанавливаем скомпилированный драйвер.

# mkdir /opt/mouse_is

# cp -R /media/CDROM/* /opt/mouse_is

# cd /opt/mouse_is

# ./setup.pl inputdriver

На этом установку всех компонентов интеграции можно считать законченной.

Давайте посмотрим, как CentOS чувствует себя в настоящих больших производственных средах. Для этого я дал ему те ресурсы, что были в наличии на тестовом сервере - 44 Гб ОЗУ и 4 процессора. К сожалению больше ресурсов у меня не было. Интересно было бы глянуть, как CentOS чувствует себя, если дать ему 2ТБ ОЗУ.

Centos_45gb_memory_4_cpu

Centos_45gb_memory_4_cpu_1

Затем в течении нескольких дней с помощью скриптов запущенных в несколько потоков создавал командой dd файлы размером до 2ТБ и перекачивал их по ftp и scp на другой сервер. Каких либо проблем и сбоев не обнаружилось.

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

Comments
  • Добрый день!

    Интересует, как можно обойти проблему при обновлении ядра, когда слетают компоненты интеграции и при загрузке система падает в kernel panic. Можно, конечно, вручную каждый раз переустанавливать компоненты интеграции под новое ядро, но это плохой вариант.

  • Скоро необходимость в установке интеграционных компонент отпадет полностью. В ядро Linux будут по умолчанию включены драйвера Hyper-V.

    Например вчера я подключил синтетические драйвера Hyper-V в виртуальную машину под Debian

    просто скомпилировав ядро 2.6.36

    А позавчера обнаружил что в SUSE Linux 11 SP1 в ядре с которым система ставится уже по умолчанию есть все нужные драйвера и они включены.

    Так что скоро эта проблема совсем отпадет.

  • Привет, Андрей! Хочу добавить, что в 10.х версии Ubuntu, так как она собрана на последних версиях ядра Linux, тоже изначально присутствуют драйвера для полноценной работы под Hyper-V.

  • Вот кстати еще один обходной путь установки сервисов интеграции Hyper-V на ядро которое сейчас не запущено

    www.devplace.nl/.../updating-hyper-v-drivers-after-kernel-upgrade-on-centos

  • А в ядре Centos 6 компоненты будут встроены?

  • Если CentOS 6 выйдет с ядром новее 2.6.32 то думаю что будут.

  • Вот уже полгода CentOS прекрасно себя чувствует на сервере под Hyper-V. В принципе, ничего нового из данной статьи не почерпнул -- просто подтверждаю работоспособность и устойчивость данной ОС на Hyper-V. Где-то с месяц назад вручную поставил ядро 2.6.32 с компонентами H-V -- теперь нет проблем с постоянным "слётом" модулей после обновления ядра.

  • А может вы опубликуете инструкцию о том как переходили на Centos с ядром 2.6.32 и включали нужные модули?

    Думаю многим будет полезно если ссылку тут разместить.

  • Там ведь нет ничего сложного! Могу посоветовать сделать по подобию вот этой инструкции, blog.allanglesit.com/.../Hyper-V-Guests-Compile-Linux-2-6-32-on-Debian.aspx

  • Ingvar, воспользуйтесь данным советом для решения проблемы "слётов" support.microsoft.com/.../en-us

  • И где же взять этот Citrix Satori? По ссылке не открывает, 3 дня поисков в гугле отправляют на эту же не работающую ссылку. Где-нибудь лежит файл inputvsc.iso еще?

  • Подтверждаю безпроблемную работу CentOS под Hyper-V.

    Использую для Asterisk, который в свою очередь подключает Lync Server к SIP провайдеру.

    Еще бы динамическую память к нему прикрутить ;)

  • Только что проверил. Citrix почему то убрал с сайта Satori. Надеюсь скоро выйдет официальное разъяснение.

  • Действительно, с 23 февраля ссылка перестала работать. Недоступна и прямая ссылка на iso... Выложил сохранившийся образ narod.ru/.../inputvsc.iso.html

    Сохраните его где-нибудь, хотя бы для истории ;)

  • Андрей,

    Debian 5.0.8 видит только 1 ядро, хотя в параметрах Hyper-V выделил ему 4.

    Как быть?

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment