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

Давайте продолжим серию статей о запуске 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

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

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

# yum ``installkernel-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 для проектов с довольно большой нагрузкой.