次の方法で共有


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

Comments

  • Anonymous
    January 01, 2003
    А что Citrix выпустивший Satori по этому поводу говорит?

  • Anonymous
    January 01, 2003
    По скорости passthru будет не сильно быстрее чем VHD. Вот почитайте исследование скорости работы разных типов хранилища для Hyper-V download.microsoft.com/.../WS08_R2_VHD_Performance_WhitePaper.docx При использовании passthrough возникнут неудобства с Live migration. К сожалению протестировать passthrough диски размером более 2 ТБ сейчас не могу т.к нет под рукой оборудования. Если вам необходимо создать том больше чем 2040 гб есть предложение сделать несколько SCSI VHD дисков и объединить их в один вирт. том внтури гостевой машины средствами LVM.

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

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

  • Anonymous
    January 01, 2003
    Скоро необходимость в установке интеграционных компонент отпадет полностью. В ядро Linux будут по умолчанию включены драйвера Hyper-V. Например вчера я подключил синтетические драйвера Hyper-V в виртуальную машину под Debian просто скомпилировав ядро 2.6.36 А позавчера обнаружил что в SUSE Linux 11 SP1 в ядре с которым система ставится уже по умолчанию есть все нужные драйвера и они включены. Так что скоро эта проблема совсем отпадет.

  • Anonymous
    January 01, 2003
    Вот кстати еще один обходной путь установки сервисов интеграции Hyper-V на ядро которое сейчас не запущено www.devplace.nl/.../updating-hyper-v-drivers-after-kernel-upgrade-on-centos

  • Anonymous
    January 01, 2003
    Вот тут описано про ограничения системы хранения. blogs.technet.com/.../storage-options-for-windows-server-2008-s-hyper-v.aspx Попробуйте диск размером 2040 МБ. Должно сработать. Кстати Passthru не самый лучший режим с точки зрения миграции системы. Лучше уж использовать VHD.

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

  • Anonymous
    January 01, 2003
    Проверил - устанавливается. Есть несколько вопросов. 1 - в процессе установки интеграционных сервисов получил сообщение что эта версия ОС не поддерживает получение настроек времени. Чем это грозит и как с этим бороться? 2 - а где взять утилиту iperf (в дистрибутиве её нет и yum тоже ничего не знает о ней). 3 - было бы здорово написать статью об установке интеграционных сервисов на Fedora (например 14 версии). Понимаю, что это "страшное колдунство", но всё же..

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

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

  • Anonymous
    January 01, 2003
    А вы до них донесли мысль что Linux Integration Components уже установлены? Можно кстати еще посмотреть в исходниках где оно выдает эту ошибку и понять почему не срабатывает скрипт.

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

  • Anonymous
    January 01, 2003
    А какой именно дистрибутив Linux вы хотите использовать под Hyper-V? Кстати подумалось еще вот о чем. А тот Linux что вы собираетесь использовать поддерживается производителем в той конфигурации которую вы хотите использовать? Спрашиваю потому что в случае проблем служба поддержки Microsoft должна будет общаться с теми кто осуществляет поддержку со стороны Linux.

  • Anonymous
    January 01, 2003
    Ivan Bogatchev Я пробовал запускать с 4 процессорами только Debian 6. Не уверен что 5-я версия будет работать в таких условиях. Думаю что вам надо обновиться.

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

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

  • Anonymous
    January 01, 2003
    Подтверждаю безпроблемную работу CentOS под Hyper-V. Использую для Asterisk, который в свою очередь подключает Lync Server к SIP провайдеру. Еще бы динамическую память к нему прикрутить ;)

  • Anonymous
    January 01, 2003
    gdsorama получение времени из основной ОС пока что не поддерхивается для x64 версий некоторых Linux. Можно организовать синхронизацию времени с помощь пакета adjtimex. rpm пакет iperf можно взять тут www.google.ru В Fedora с новым ядром должны легко ставится компаноенты интеграции. Надо будет написать про это на досуге.

  • Anonymous
    January 01, 2003
    А может вы опубликуете инструкцию о том как переходили на Centos с ядром 2.6.32 и включали нужные модули? Думаю многим будет полезно если ссылку тут разместить.

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

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

  • Anonymous
    February 25, 2011
    Андрей, Debian 5.0.8 видит только 1 ядро, хотя в параметрах Hyper-V выделил ему 4. Как быть?

  • Anonymous
    April 04, 2011
    Подскажите пожалуйста, что Вы слышали о ограничении размера  диска для данной ОС (на Hyper-V). Столкнулись с проблемой: презентуем lun 3,6 Тб с СХД (Pass through to physical host drive) и сталкиваемся с ошибкой: sda : very big device. try to use READ CAPACITY(16). sda : READ CAPACITY(16) failed. sda : status=0, message=00, host=5, driver=00 sda : use 0xffffffff as device size SCSI device sda: 4294967296 512-byte hdwr sectors (2199023 MB) sda: Write Protect is off sda: Mode Sense: 0f 00 10 00 SCSI device sda: drive cache: write back w/ FUA То есть, это синтетическое устройство и IS 2.1 конечно установлен. Сталкивались ли Вы с подобным? Есть ли возможность проверить совместимость Hyper-v + ОС с ядром 2.6.18 + IS 2.1+lun более 2 Тб.

  • Anonymous
    April 04, 2011
    Вот именно, ограничение 2040МБ только для VHD, нам надо использовать размер больший - потому и принято решение выбрать passthrough (кстати это еще и быстрее чем VHD). Но в отличии от Windows ОС, где нет проблем с подобным типом дисков на Linux-е мы столкнулись с ограничением в 2 ТБ... Есть подозрение что это проблемы IS 2.1, но как проверить? Более свежей версии нет, а найти что-то подобное как продакшн использование Linux под Hyper-v не могу. Потому и спрашиваю у Вас, есть ли возможность проверить и каков будет результат теста.

  • Anonymous
    April 27, 2011
    Обновил ядро Centos до 2.6.28.3. В настройках компиляции указал драйвера для HYPERV. Пытаюсь поставить драйвер с Сатори для мыши:[root@mita2 mouse]# ./setup.pl inputdriver Vmbus driver not installed! Please install it and rerun. Проверяю драйвера:

/sbin/lsmod | grep vsc

hv_netvsc              24702  0 hv_vmbus               39974  2 hv_utils,hv_netvsc Как можно решить эту поблему?

  • Anonymous
    April 28, 2011
    The InputVSC driver requires the Linux Integration Components to be installed, and supports the same guest distro versions. Я вроде установил эти компоненты при компиляции ядра 2.6.38

  • Anonymous
    April 29, 2011
    [root@mita4 INTEGR]# make Building all modules... make -C /lib/modules/2.6.18-194.el5/build SUBDIRS=/tmp/INTEGR/src modules make[1]: Entering directory /lib/modules/2.6.18-194.el5/build' make[1]: *** No rule to make target modules'.  Stop. make[1]: Leaving directory `/lib/modules/2.6.18-194.el5/build' make: *** [all] Error 2 На новой уже только что установленной виртуалке попробовал установить компоненты интеграции-выдаёт такую ошибку