Опубликована вторая версия Служб интеграции Hyper-V для Linux
Сегодняшняя новость уже успела вызвать неслабый ажиотаж в некоторых кругах. Шутка ли — Microsoft заявила о том, что вносит свой вклад в ядро Linux на условиях General Public License (GPL) 2. Речь идёт, ни много ни мало, о примерно двадцати тысячах строках кода.
Открыты исходные тексты служб интеграции для Hyper-V, и драйверы для синтетических устройств внесены на рассмотрение разработчиков Linux для включения в следующие версии ядра. В разультате службы интеграции Hyper-V станут доступны как в будущих версиях популярных дистрибутивов Linux, так и вообще в любых системах — при сборке ядра с соответствующими условиями.
Что было раньше?
Для того, чтобы правильно понять то, о чём было объявлено сегодня, потребуется разобраться и в том, что же было до того. И начать придётся с понимания того факта, что это уже вторая версия Служб интеграции Hyper-V для Linux.
| Первая версия Служб интеграции Hyper-V для Linux |
Вторая версия Служб интеграции Hyper-V для Linux |
| Разработана компанией Citrix |
Разработана Технологическим центром открытых исходных текстов Micorsoft (Microsoft Open Source Technology Center, OSTC) |
| Поддерживает только первую версию Hyper-V (роль виртуализации в Windows Server 2008 и Hyper-V Server 2008); |
Поддерживает обе версии Hyper-V.
первую версию Hyper-V:
-
роль виртуализации в составе Windows Server 2008 Standard, Enterprise и Datacenter;
-
Microsoft Hyper-V Server 2008;
вторую версию Hyper-V — в Release Candidate (RC):
-
роль виртуализации в составе Windows Server 2008 R2 Standard, Enterprise, and Datacenter;
-
Microsoft Hyper-V Server 2008 R2. |
| Требует использования расширений Xen для ядра Linux, так как работает через адаптер гипервызовов (Hypercall Adapter). |
Не требует использования расширенй Xen для ядра Linux. Это — одна из причин заявленного увеличения производительности второй версии. |
| Доступна для использования в производственной среде. |
Опубликована предварительная версия (см. ниже). |
Что стало теперь?
Сегодня Microsoft опубликовала дистрибутив второго Кандидата для выпуска (Release Candidate 2, RC2) второй версии Служб интеграции Hyper-V для Linux. Кроме того, корпорация предложила его исходный текст для включения в ядро Linux. Фактически речь идёт об одном и том же коде, представленном в двух вариантах для двух разных аудиторий и целей.
| Готовый дистрибутив |
Исходный текст |
| Предназначен для администраторов |
Предназначен для разработчиков |
| Опубликован для загрузки на сайте Microsoft Connect |
Предложен для включения в ядро Linux и расположен в дереве исходных текстов по адресу «/drivers/staging/hv». |
Предназначен для использования только с дистрибутивами, которые поддерживаются Microsoft по условиям соглашений, заключённых ранее с Novell и Red Hat.
- SUSE Linux Enterprise Server 10 SP1, 10 SP2 и 11 (x86 и x64);
- Red Hat Enterprise Linux 5.2 и 5.3 (x86 и x64).
Кроме того, Microsoft работает с Red Hat для того, чтобы официально сертифицировать данную версию Служб интеграции. |
Предназначен для свободного использования в любых дистрибутивах Linux, но не предполагает никакой поддержки со стороны Microsoft. Все обязательства по поддержке ложатся на поставщика дистрибутива, включающего Службы интеграции в свой продукт. |
| Со временем будет вытеснен кодом Служб интеграции, который будет добавлен в ядро соответствующих дистрибутивов. |
Со временем будет добавлен в большинство популярных дистрибутивов. |
Но зачем?
Вы можете поинтересоваться — какая в этом выгода для Microsoft. Ведь Linux всегда был конкурентом Windows — так зачем же за свой счёт облегчать жизнь как разработчикам, так и пользователям конкурирующего продукта?
Дело в том, что эпоха ожесточённой конкуренции на рынке ОС уже фактически в прошлом. Ниши чётко поделены, и по собственной статистике Microsoft в около 80% виртуальных машин запущены различные версии Windows. Для того, чтобы изменить баланс сил, потребовалось бы приложить огромные усилия. Они в любом случае не окупятся за счёт тех долей процента, которые можно было бы выиграть тем или иным образом.
Зато виртуализация — это сравнительно молодая и очень быстро растущая отрасль. И вот здесь конкуренция даёт о себе знать очень остро. Поэтому представить условия для установки любых продуктов поверх своего решения — это очень хороший ход.
Теперь получается, что в недалёком будущем практически любая версия Linux прямо «из коробки» будет отлично работать в виртуальных машинах Microsoft. Во-первых, это даст сильное преимущество перед конкурирующими решениями для виртуализации, если их разработчики не смогут быстро предоставить такое же удобство своим пользователям. А во-вторых, это страхует Microsoft против возможных упрёков во включении служб интеграции в состав своих собственных ОС, что тоже немаловажно.
Но как?
Некоторые технические и организационные подробности для тех, кому близка тема свободных ОС. Текущая версия Служб интеграции Hyper-V для Linux включает три драйвера.
-
VMBus (высокопроизводительная шина данных для обмена информацией между ВМ и родительской системой);
-
синтетический сетевой контроллер;
-
синтетический контроллер дисков с поддержкой быстрой загрузки (FastPath).
Вообще говоря, Linux может работать в виртуальных машинах Hyper-V и без этих драйверов, что уже было неоднократно подтверждено различными энтузиастами. Разница только в производительности — ведь без драйверов синтетических устройств вы сможете использовать только их эмулируемые аналоги. В частности, придётся в явном виде добавить в ВМ эмулируемую сетевую карту, а подсистема работы с дисками хоть и не потребует каких-то изменений в конфигурации ВМ, но просто будет вынуждена работать через обычные драйверы.
Код, предложенный Microsoft, будет добавлен в ядро Linux версии 2.6.32 через Linux Driver Project. Как следует из названия, это команда разработчиков, которые занимаются добавлением и поддержкой драйверов в ядре Linux. Если быть ещё более точным, то со стороны сообщества Linux с программистами Micorosft тесно сотрудничал Грег Кроа-Хартман (Greg Kroah-Hartman).
Более того, Microsoft берёт на себя обязательства и в дальнейшем поддерживать и улучшать код служб интеграции. Для чего специально выделены два сотрудника из лаборатории Microsoft, расположенной в Кэмбридже, штат Массачусетс. Хэнк Джансен (Hank Janssen) и Хайанг Янг (Haiyang Zhang) официально назначены специалистами по поддержке (maintainer) проекта служб интеграции Hyper-V для Linux. В планах по дальнейшему развитию значится добавление таких функций, как:
-
симметричная многопроцессорность (SMP). Сегодня в Hyper-V поддерживаются только ВМ с Linux, использующие один вирутальный процессор;
-
дополнительные службы, а именно:
По мере завершения работы над этими функциями их код будет так же направляться для включения в ядро Linux.
Важно понимать, что ещё одно популярное дополнение, которое является частью Служб интеграции для Windows, не входит в комплект Служб интеграции для Linux. Речь идёт о драйвере для мыши, также известном как InputVSC. Он позволяет переносить указатель мыши между окнами виртуальной машины и рабочим столом родительской системы без необходимости предварительно извлекать его с помощью клавиатурной комбинации. Также он решает распространённую проблему, которая заключается в том, что мышь вообще не работает в окне подключения к виртуальной машине (VMConnect), открытом через сеанс «Удалённого рабочего стола» (Remote Desktop). Этот драйвер разработан отдельно компанией Citrix в рамках «Project Satori». Вы можете загрузить его на сайте Служб интеграции Citrix для Hyper-V.
Дополнительная информация