Установка и настройка 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. Что из этого получилось вы можете посмотреть ниже.

Автор статьи:Andrey Beshkov