Установка и настройка SLES (Suse Linux Enterprise Server) 11 под Hyper-V
Недавно я писал о выходе версии 2.1 сервисов интеграции Linux для Hyper-V. Изменений и улучшений по сравнению с прошлой версией довольно много. С появлением нового функционала изменилась и процедура установки сервисов интеграции в гостевые машины на основе Linux. Поэтому, сегодня я опишу, как устанавливать их в SLES 11. Все, что вы встретите в этом тексте одинаково актуально как для 32-х битных так и для 64-х битных версий SLES 11.
Начальная установка SLES 11 под Hyper-V довольно тривиальна. Главное не забыть выбрать опцию “Physical machine (Also for Fully Virtualized Guests)” и установить инструменты разработки “C/C++ Compiler and Tools”. Они пригодятся нам в дальнейшем для сборки модулей ядра.
![]() |
![]() |
Пока сервисы интеграции не будут установлены синтетический сетевой адаптер будет не доступен. Если вам нужно в этот промежуток времени работать с сетью, добавьте виртуальной машине сетевой адаптер “Legacy Network”.
![]() |
![]() |
После этого можно продолжать установку гостевой ОС в обычном режиме. По окончанию установки можно настроить сеть и проверить как работает доступ в Интернет.
![]() |
![]() |
![]() |
Как видите, все отлично работает и нам доступна сеть через Legacy адаптер. На этом можно считать начальную установку гостевой ОС завершенной.
Поэтому переходим к самой сложной части – установке интеграционных сервисов, которые дадут нам возможность использовать быстрые виртуальные HDD и гигабитные синтетические сетевые адаптеры.
Скачиваем пакет Linux Integration Services 2.1. Распаковываем его и внимательно читаем инструкцию. Обратите внимание, что установка интеграционных сервисов для SLES 11 и SLES 10 SP3 довольно сильно отличается. Про установку под SLES 10 SP3 я напишу отдельную заметку позже.
Процедура установки интеграционных сервисов в официальной документации описана, по моему мнению, несколько запутано. Это затрудняет ее понимание и правильное применение. Поэтому рекомендую пользоваться мгновенными снимками Hyper-V, на случай если захочется отменить сделанные по ошибке изменения.
Отредактируйте файл /etc/modprobe.d/unsupported-modules так чтобы в нем была следующая строка:
allow_unsupported_modules 1
Перезагружаем виртуальную машину. Подключаем пакет с сервисами интеграции как DVD в виртуальную машину. В моей системе включено автоматическое монтирование, если в вашей системе не так, то возможно придется воспользоваться командой mount.
Создаем служебную директорию /opt/linux_ic и копируем исходные тексты модулей. Проводим компиляцию, устанавливаем их и перезагружаемся.
# mkdir /opt/linux_ic
# cp –R /mnt/cdrom/* /opt/linux_ic
# cd /opt/linux_ic
# make
# make install
# reboot
После перезагрузки можно увидеть, что в системе появился новый сетевой адаптер seth0.
Плюс к этому нужно проверить все ли модули загрузились с помощью команд
# lsmod | grep vsc
# modinfo vmbus
![]() |
![]() |
![]() |
![]() |
· Как видите, в системе появились модули netvsc, storvsc, blkvsc, vmbus.
Затем отредактируйте файл /etc/fstab и замените все секции, начинающиеся с /dev/disk/* на эквиваленты в формате /dev/hd* чтобы содержимое файла выглядело примерно так:
/dev/hda1 swap swap defaults 0 0
/dev/hda2 / ext3 acl,user_xattr 1 1
![]() |
![]() |
Отредактируйте файл /boot/grub/menu.lst и измените, опции загружаемого по умолчанию ядра, так чтобы они указывали на дисковые устройства с новым наименованием:
root=/dev/hda2 resume=/dev/hda1
Приведите файл /etc/modprobe.d/unsupported-modules в первоначальное состояние, установив 0 в качестве значения опции allow_unsupported_modules.
Перезагрузите систему и наслаждайтесь выросшим быстродействием.
Для того чтобы у вас не возникло сомнений в том что SLES нормально чувствует себя под Hyper-V не только в лабораторных условиях, и пригоден для серьезных вычислительных задач, я дал виртуальным машинам по 4 процесора и как можно больше оперативной памяти. К сожалению в моем физическом сервере всего 16 гигабайт памяти, поэтому виртуальной машине удалось дать максимум 15. Что из этого получилось вы можете посмотреть ниже.
![]() |
![]() |
![]() |
Как видите процедура установки интеграционных сервисов не так уж и сложна. Чтобы, в дальнейшем избежать ее рекомендуется клонировать виртуальную машину и в дальнейшем использовать ее как шаблон для новых машин.
Comments
Anonymous
January 01, 2003
@Saint Может подробности напишите о том что пытаетесь сделать и какие ошибки получаете? Телепаты все в отпуске сейчас :)Anonymous
January 01, 2003
Угу, только в опенсуси ушедшее вперед ядрышко не даёт собрать LIC по-прежнему.. там, конечно, можно использовать встроенные в ядро компоненты виртуализации, но выглядит кривовато.Anonymous
January 01, 2003
Excellent post. Thanks!Anonymous
January 01, 2003
Вполне возможно что в новом ядре исходные коды Linux Integration Components уже есть. Я пока что не смотрел.Anonymous
November 24, 2010
Спасибо автору за проделанную работу !Anonymous
May 11, 2012
Не могу понять почему: вываливает на сборке кучу предупреждений и в конце ероры ко всему... Что с этим делать? Использую SLES 11 SP2...