Running Linux and Unix on Hyper-V

39
Виртуализация Linux и Unix в среде Hyper-V Андрей Бешков Эксперт по ИТ-инфраструктуре, Майкрософт Россия http://blogs.technet.com/abeshkov http://twitter.com/abeshkov [email protected]

description

 

Transcript of Running Linux and Unix on Hyper-V

Page 1: Running Linux and Unix on Hyper-V

Виртуализация Linux и Unix в среде Hyper-V

Андрей БешковЭксперт по ИТ-инфраструктуре, Майкрософт Россияhttp://blogs.technet.com/abeshkov http://twitter.com/abeshkov [email protected]

Page 2: Running Linux and Unix on Hyper-V

Почему встал вопрос о Linux на Windows?

Page 3: Running Linux and Unix on Hyper-V

Текущее положение дел в виртуализации Linux• 60% виртуальных машин под

управлением Linux за 2 года - это Red HatIDC & Gartner считают, что консолидация серверов под Linux будет не только продолжаться, но и расширяться

Page 4: Running Linux and Unix on Hyper-V

Зачем Linux и Unix под Hyper-V

• Поддержка унаследованых систем• Единая система виртуализации• Стандартизация резервного

копирования с помощью SC DPM• Легкость развертывания с

помощью SC VMM• Мониторинг и управление с

помощью SC OpsMgr

Page 5: Running Linux and Unix on Hyper-V

Windows Server 2008

VSPWindows Kernel

Архитектура Hyper-V

Applications

Non-Hypervisor Aware OS

Emulation

“Designed for Windows” Server Hardware

Windows hypervisor

Parent Partition Child Partitions

VM Service

WMI Provider

VM Worker Processes

User Mode

Kernel Mode

Ring -1

IHV Drivers

VMBus

Applications

Applications

Windows Server 2003, 2008

VSC

VMBus

Windows Kernel

Applications

Linux VSC

VMBus

LinuxKernel

Паравиртуализац

ия не нужна

Page 6: Running Linux and Unix on Hyper-V

• Расширения для Windows включают:– Синтетические драйвера

• IDE• SCSI • Сеть• Мышь• Видео

– Сервисы интеграции• Выключение гостевой ОС• Синхронизациия времени• Обмен данными• «Сердцебиение»• Резервное копирование (VSS координатор)

IS для Windows

Page 7: Running Linux and Unix on Hyper-V

IS для Windows

Page 8: Running Linux and Unix on Hyper-V

Linux Integration Services Version 2.1 RTM

Page 9: Running Linux and Unix on Hyper-V

Сравнение версий IS для Linux 2.0 и 2.1

Свойство Версия 2.0 Версия 2.1

Драйвера Хранилище, Сеть Хранилище, Сеть

Синхронизация времени Нет Да

«Сердцебиение» Нет Да

Выключение гостевой ОС Нет Да

Автосборка IS с помощью Dynamic Kernel Module System (DKMS)

Нет Да

Виртуальных процессоров 1 4

Данные о версиях из моделуй

Нет Да

IS для Linux доступны http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551

Page 10: Running Linux and Unix on Hyper-V

Что вы получаете для Linux?• Расширения для Linux включают в себя:– Синтетические драйвера

• IDE• SCSI • Сеть

– Поддержку SMP (4 виртуальных CPU)– Integration Services (shutdown, time sync,

heartbeat)– Поддержка авто-сборки для Linux IS если

идет обновления ядра Linux (dot release) с использованием Dynamic Kernel Module Support (DKMS)

Page 11: Running Linux and Unix on Hyper-V

Откуда загрузить IS?

• V2 и v2.1 (для всех версий Hyper-V) http://www.microsoft.com/downloads

• Для Linux с ядрами 2.6.32 и выше IS уже встроены в ОС. Просто включите их!

IS ISO ф

айл

Инструкции

Page 12: Running Linux and Unix on Hyper-V

• Мышь работает в гостевой ОС отлично, но не выходит из окна гостевой ОС автоматически

• Требуется нажатие Ctrl-Alt-Left для «освобождения» мыши из окна гостевой ОС

• Серверы Linux часто работают без GUI (нет проблем с мышью!) или с удаленным доступом X-Windows/VNC

• Можно добавить поддержку мыши после установки IS с сайта Xen:http://www.xen.org/download/satori.html(код распространяется по GPL)

• Пока не работает с некоторыми дистрибутивами (например SLES 11)

IS и консольная мышь

Page 13: Running Linux and Unix on Hyper-V

IS и консольная мышь

Page 14: Running Linux and Unix on Hyper-V

ReadMe для Linux IC V2.1

• Файл “Readme” – это фантастический ресурс!

• Включает инструкции для:– Установки IS– Обновления с V1 до V2 для SLES и RHEL

– Инструкции, рекомендации и разрешение проблем• (hda=noprobe hdb=noprobe)• Static MAC addresses

(используйте, если VM расположены на HA Hyper-V!)

Page 15: Running Linux and Unix on Hyper-V

И, собственно, вам нужен Linux!

• В текущий момент официально поддерживаются платформы– SUSE Linux Enterprise Server 10 SP3 x86

и x64– SUSE Linux Enterprise Server 11 x86 и x64– Red Hat Enterprise Linux 5.2, 5.3, 5.4, 5.5

x86 и x64

• В гостевой ОС должны быть установлены:–Исходные коды ядра Linux– Компилятор C (для сборки драйверов!)

Page 16: Running Linux and Unix on Hyper-V

• Подготовка– Стать root– Примонтировать LinuxIC v2.ISO в VM как

CD– Копирование содержимого CD на

системный раздел VM

• Компиляция и установка синтетических драйверов– SCSI– IDE– Сеть

• Перезагрузка/проверка

Установка Linux IC

Page 17: Running Linux and Unix on Hyper-V

Установка Linux ICИсходный код

Компилятор

Page 18: Running Linux and Unix on Hyper-V

• Монтирование IC ISO– mkdir /mnt/cdrom– mount /dev/cdrom /mnt/cdrom

• Копирование контента локально– mkdir /opt/linux_ic_rtm– cp /mnt/cdrom/* /opt/linux_ic_rtm –R

• Установка драйверов– cd /opt/linux_ic_rtm

• make• make install

• Перезагрузка

Установка Linux IS – с правами root!

Page 19: Running Linux and Unix on Hyper-V

Установка Linux IS – с правами root!

Page 20: Running Linux and Unix on Hyper-V

Проверка результатов установки

Версия ОС Загруженные

драйвера

Page 21: Running Linux and Unix on Hyper-V

Проверка результатов установки

Page 22: Running Linux and Unix on Hyper-V

Архитектура и компоненты

Windows Hypervisor

VSP

Windows Kernel

VM Management Service

WMI Provider

VM Worker Processes

IHV Drivers

VMBus

UserMode

KernelMode

Linux Kernel

VMBus Linux (SMP Aware) with Timesync /

Shutdown /Heartbeat

NetVSC StorVSC BlkVSC

“Designed for Windows” Server Hardware

Parent Partition Linux guest OS

Page 23: Running Linux and Unix on Hyper-V

ApplicationsApplicatio

nsApplications

Интеграция Shutdown

• Linux kernel mode driver (код включен vmbus)

• Получает запрос на выключение от хоста через VMBus

• Отправляет штатную команду shutdown в гостевую ОС Linux VMBus

Shutdown

Parent Partition

Linux Guest

Kernel

WMI

VMBus

VMMS

Page 24: Running Linux and Unix on Hyper-V

ApplicationsApplicatio

nsApplications

Heartbeat

• Linux kernel mode driver (код включен в vmbus)

• Периодический обмен сообщениями между гостем и хостом (каждые 2 секунды)

VMBus

Shutdown

Parent Partition

Linux Guest

Kernel

WMI

VMBus

VMMS

Page 25: Running Linux and Unix on Hyper-V

• Установка, подобная Red Hat Enterprise Linux, работает так же…

• …и на других дистрибутивах… НО ОНИ НЕ ПОДДЕРЖИВАЮТСЯ MICROSOFT!

Другие версии Linux

Page 26: Running Linux and Unix on Hyper-V

Другие версии Linux

Red Hat (поддерживается)

Page 27: Running Linux and Unix on Hyper-V

Другие версии Linux

CentOS (не поддерживается)!

Но работает

Page 28: Running Linux and Unix on Hyper-V

Тестирование Linux в среде VM

Emulated

IO и сетевые подсистемы теряют в производительности в сравнении с «реальным железом»

• Enlightened

• IO на ~40% быстрее эмуляции

• Сеть на ~30% быстрее

Non-Hypervisor Aware OS

Emulation

Linux VSC

VMBus

LinuxKernel

Page 29: Running Linux and Unix on Hyper-V

• Эмуляция устройств в Hyper-V работает для большинства ОС

• Microsoft не предоставляет поддержку Unix/Linux в эмуляции, но большинство из них работает!

IS НЕ требуется для запуска Linux в Hyper-V

Page 30: Running Linux and Unix on Hyper-V

IS НЕ требуется для запуска Unix и Linux в Hyper-V

OPEN

SOLARIS

SCO

UNIXOTHER

LINUX

SOLARIS

FREEBS

D

SOLARIS

EXPRESS

Page 31: Running Linux and Unix on Hyper-V

Unix/Linux под Hyper-V• FreeBSD, NetBSD, OpenBSD• Solaris, Open Solaris• SCO OpenServer• SCO UnixWare• Ubuntu• Gentoo

Page 32: Running Linux and Unix on Hyper-V

Ядро Linux 2.6.32 и новее• IS уже интегрированы, ISO

требуется только для обновлений

Page 33: Running Linux and Unix on Hyper-V

• Отредактируйте / etc/initramfs-tools/modulessudo gedit /etc/initramfs-tools/modules

– Добавьте строкиhv_vmbus hv_storvsc hv_blkvsc hv_netvsc

• Обновлениеsudu update-initramfs –u

• Перезагрузка

Ядро Linux 2.6.32 и новее

Page 34: Running Linux and Unix on Hyper-V

Ядро Linux 2.6.32 и новее

Page 35: Running Linux and Unix on Hyper-V

• Проверка общая для всех версий/sbin/lsmod | grep vsc

Ядро Linux 2.6.32 и новее

Page 36: Running Linux and Unix on Hyper-V

Ядро Linux 2.6.32 и новее

Page 37: Running Linux and Unix on Hyper-V

Виртуализация Linux и Unix под Hyper-V

demo

Page 39: Running Linux and Unix on Hyper-V

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.