15 февраля 2009

Скринкаст: oVirt - демонстрация интерфейса

Выложил свой «первый блин» в области «скринкастостроения», посвященный Open Source-реализации системы виртуализации oVirt. Видео записал еще неделю назад, но склеить два куска в один и наложить звук, руки дошли только сегодня. Для записи использовался Istanbul, а сам конечный продукт сознательно делался «быстро и грязно» с первого прогона. Целью данной работы я ставил, в первую очередь, оценку трудозатрат. Перед просмотром рекомендуется прочитать краткий рассказ о том, что же представляет собой данная система виртуализации.

Видео в формате flash и ogg доступно по этой ссылке: http://www.russianfedora.ru/ScreenCast_oVirt

Пара впечатлений о создании скринкаста. Говорить в пустой экран для меня оказалось несколько сложнее, чем перед живой аудиторией. Кроме того, думаю, что для начала нужно записывать звук, а потом уже его проигрывать и писать видео. Наоборот несколько сложнее. Плюс, возможно, стоит делать пару «прогонов» и выбирать окончательный вариант.

Спасибо Алексею Васюкову за помощь в размещении видео.

10 февраля 2009

Востребованность специалистов по различным платформам

В качестве эксперимента задал поиск по ключевым словам в вакансиях на hh.ru за месяц. В OO.o Calc это выглядит примерно так:Windows - Найдено 720 вакансий
Linux - Найдено 410 вакансий
Solaris - Найдено 60 вакансий
VMware - Найдено 33 вакансии
Регион: Россия
Профессиональная область: Информационные технологии/Интернет/Телеком
выводить: за месяц

Получается примерный расклад "известности" работодателям различных названий платформ, который должен коррелировать с востребованностью специалистов по соответствующим платформам.

09 февраля 2009

sVirt = Виртуализация + Мандатный контроль доступа

Продолжу рассказ про перспективные разработки в области виртуализации. Давайте рассмотрим отдельно стоящий сервер, к которому в силу тех или иных причин злоумышленник получил доступ с привилегиями администратора. Плохо? Безусловно. Теперь у злоумышленника "ключи" от всех выполняющихся на сервере служб. А теперь представьте, что в роли сервера у нас машина с гипервизором, в котором работает какое-то количество виртуальных машин. Ситуация хуже во много раз: "плохие парни" получают доступ сразу ко всем виртуальным машинам. Тем более, что опасность увеличивается, благодаря использованию в случае гостевых операционных систем локальных механизмов атаки. Оставим в стороне конкретные технологии и конкретных вендоров. Не важно, чья модель безопаснее - Microsoft, VMWare, Citrix, Sun, etc. Никто не будет спорить, что от потенциальных уязвимостей не застрахован никто, вне зависимости от размеров возможной площади атаки.

Теперь снова вернемся к более простому и традиционному случаю - получению привилегий на отдельно стоящем сервере/ОС. Данная проблема более традиционна, и для ее решения уже существуют технологии. Благодаря таким решениям, ряд операционных систем общего назначения, например, уже получило высокий уровень сертификации Common Сriteria EAL4+ (c расширениями LSPP, RBACPP и CAPP).

Такие "заклинания", как мандатный контроль доступа (MAC), многоуровневая система безопасности (MLS), мульти-категорийная безопасность (MCS) уже не раз встречались в моем блоге в контексте операционной системы. Я не буду повторяться, и просто дам ссылку на посты с тегом "SELinux", где я и писал про практическую реализацию ограничений привилегий системного администратора :) Итак, идея состоит в том, чтобы защитить гипервизор при помощи существующих решений мандатного контроля доступа.

Теперь вернемся к конкретике :) Проект sVirt, направленный на решение этой задачи, был анонсирован Джеймсом Моррисом в рассылке libvirt в августе прошлого года. Цель проекта - интеграция SELinux и виртуализации на основе Linux-ориентированных технологий. Недостаточность традиционного дискреционного контроля доступа в системах, требующих особой защищенности, обуславливается тем, что субъект может менять собственную политику безопасности. С другой стороны, если гостевые операционные системы будут изолированы при помощи политик мандатного контроля доступа, то это резко снижает возможный ущерб от успешной атаки, а то и вовсе ее предотвращает. В идеале в каждом процессе виртуальная машина должна работать в собственном контексте безопасности. Снова в качестве иллюстрации посмотрим на отдельную - не виртуализированную - операционную систему. Вы без труда найдете примеры, когда реальные уязвимости, затрагивающие ОС, в том или ином компоненте операционной системы с отключенным SELinux успешно блокировались политикой безопасности при включенном мандатном контроле.

К своей первой версии sVirt должен обеспечивать реализацию MAC на уровне ядра гипервизора, и обеспечивать простую изоляцию виртуальных машин, не требуя никакой настройки, т.е. все должно работать "из коробки". Ресурсы каждой гостевой операционной системы должны иметь свой уникальный контекст virtd_isolated_t:. Взаимодействие между доменами при этом исключается. В будущем планируется выделить разные типы гостевых машин, требующих разную политику, например, virtd_isolated_webserver_t, реализовать политику SELinux на уровне сетевого взаимодействия, многоуровневую систему безопасности (MLS).

В каком состоянии находится проект сейчас? Сделана низкоуровневая интеграция с libvirt, базовая поддержка в virsh, и виртуальные машины могут запускаться в своих контекстах безопасности. Как и в случае с oVirt, в первую очередь работа идет над KVM.

Что означает все выше сказанное? Возможно в будущем те уникальные преимущества в плане защищенности, доступные в операционных системах общего назначения с открытым исходным кодом, станут преимуществами систем виртуализации с открытым кодом.

06 февраля 2009

Впечатления от oVirt

На пару дней взял в лабе четыре сервера, на которых развернул oVirt - Open Source-реализацию системы виртуализации, находящуюся в стадии разработки, но имеющую весьма высокий потенциал. Объясню почему. Когда говорят о бесплатных продуктах, подобных ESXi и Hyper-V, нужно понимать, что, хотя они и бесплатны, но масштабируемое решение на них никоим образом не построить. Если вы возьмете десять физических серверов и установите на них гипервизор, то у вас и будет десять отдельно стоящих серверов без функций централизованного управления, горячей миграции, отказоустойчивости и т.д. За все, без чего виртуализация превращается в "красивую игрушку", нужно платить.

С другой стороны есть свободные решения на базе Linux - стабильные и готовые к промышленному внедрению. Но! Даже если оставить в стороне тот вопрос, что открытые разработки в плане некоторых возможностей "не дотягивают" до уровня VMware (с Microsoft сравнивать не будем - ее роль "догоняющего" тут очевидна), то у существующих решений на базе Linux есть следующие недостатки:
  • сложность создания комплексного решения: дело не в том, что это нельзя сделать, а в том, что требуется достаточно высокая квалификация исполнителей и глубокое знание технологий;
  • отсутствие простых в использовании и масштабируемых инструментов управления.
На решение этих проблем и направлен проект oVirt.


В основе лежит API виртуализации и набор утилит - libvirt . libvirt поддерживает работу с различными гипервизорами и технологиями , в том числе Xen, KVM, QEMU, OpenVZ. Следующая составная часть проекта - небольшой образ на основе гипервизора KVM (в ближайшем будущем в проекте появится и поддержка Xen), например, загружаемый по сети. Управляемые хосты, где должны запускаться виртуальные машины, "поднимаются" за считанные минуты и работают без локального сохранения состояния. И, наконец, оставшаяся часть - это управляющие сервера. Если взять VMWare, то, при грубом приближении, эти сервера - аналог VirtualCenter. Управляющий сервер собран из нескольких тесно интегрированных друг с другом компонентов:
  • Единый инструмент управления - веб-консоль;
  • FreeIPA - обеспечивает безопасный канал аутентификации (GSSAPI/SASL2) и LDAP-сервер (Fedora Directory Server). Про IPA я уже писал в блоге пол-года назад;
  • Cobbler - обеспечивает централизованное развертывание виртуальных машин и самих образов с гипервизором;
  • База данных. Пока поддерживается работа только с PostgreSQL. Думаю, к моменту "выпуска в свет" там будет и поддержка Oracle;
  • Другие компоненты, написанные в рамках проекта (броузер хостов, механизм планирования задач, агенты мониторинга).
Еще раз: все это - Open Source решение, внедряемое как единое целое. А, значит, просто и быстро. Действительно, при помощи "Виртуального модуля" (Virtual Appliance) я получил готовую систему менее, чем за час. Из единой консоли можно добавлять хосты, хранилища (пока что только NFS и iSCSI, но к выходу окончательной версии должно быть добавлено и FC. Документация уже содержит упоминание работы с Fibe Channel), разворачивать виртуальные машины, осуществлять "живую миграцию", просматривать графики производительности, задавать права, назначать квоты, выделять пулы ресурсов. В общем, все, к чему мы привыкли, работая c коммерческими решениями. Когда выйдет окончательная версия продукта, я уверен, oVirt составит достойную конкуренцию на рынке продуктов "промышленной" виртуализации, при этом имея неоспоримое преимущество - это полностью свободное решение.

"Поигравшись" с интерфейсом oVirt, я попробовал записать скринкаст в формате ogg theora video. Осталось склеить несколько кусков и наложить звук. Думаю, на следующей неделе я доделаю его и выложу в блог. Как говорится, лучше один раз увидеть, чем сто раз услышать. Надеюсь, необходимость устанавливать кодеки тем читателям блога, которые используют на десктопе ОС от Microsoft, не станет непреодолимым препятствием для просмотра скринкаста. :) Попытки переконвертировать во flash увеличивают размер файла практически в два раза, поэтому я решил отказаться от создания двух версий файла.

Напоследок несколько снимков с экрана:

Virtual Appliance загружено.


Общий вид "аппаратного" пула.



Вкладка управления хранилищем. Пусть вас не пугают размеры LUN-ов. Это экспортируемое самим Virtual Appliance хранилище для формального тестирования работы с iSCSI.


Вкладка c обзором физических хостов.


Консоль виртуальной машины.

04 февраля 2009

VMware открыла Virtual Desktop Client под лицензией LGPL

Good news. :) Компания VMware открыла исходный код Virtual Desktop Client. Собственно, наверное, это в первую очередь повлечет появление большого числа клиентских устройств, сертифицированных для VMware View (бывший VMware VDI). Больше устройств, больше конкуренция, ниже цены. Кроме того, видимо стоит ожидать появление клиента во всех основных дистрибутивах Linux.

28 января 2009

I am RHCA


Подготовка к более чем двадцати четырем часам лабораторных, разбитых на пять экзаменов, заняла чуть больше года. Сегодня пришли результаты последнего экзамена по настройке производительности, который иначе как "black magic" назвать нельзя :) Для интересующихся: интервью с первым Red Hat Certified Architect Флорианом Брендом, обзор сертификации и FAQ.

21 января 2009

Вышел релиз Red Hat Enterprise Linux 5.3

Рядом с часами появилось сообщение "доступно 181 обновление" :) Анонс основных нововведений - тут. По этой ссылке - Release Notes.