четверг, 4 февраля 2010 г.

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

Сегодня мы прогуляемся по дебрям сайта www.ibm.com
Признаться, для меня этот ресурс интересен как набор популярных методологий, которых следует избегать, и очень помогает сохранить незашоренный взгляд на мейнстрим. В некоторых статьях можно найти гораздо большее, нежели техническое описание, встречаются и откровенные предостережения, что данную методику полезно знать, но не надо использовать :-)

Вот чудесная статья:
Виртуализация в GNU/Linux : Часть 1. Знакомство с libvirt и oVirt

Приведу пару выдержек:
Статья открывает цикл материалов, посвященных технологиям виртуализации. Актуальность данной темы сомнений не вызывает: соответствующее программное обеспечение можно обнаружить везде – на домашних компьютерах, корпоративных серверах и даже в крупных дата-центрах.


В самом деле, с актуальностью можно согласиться. Но чем вызвано использование технологий виртуализации? Добрый автор в третьем же абзаце дает ответ:

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


Просто и гениально. Виртуализация - это игрушка для больших мальчиков, в которую можно играть как дома, так и на рабочем месте - на корпоративных серверах и в дата-центрах. Дальше можно не читать, хотя встречаются очень интересные замечания автора.

Читаем дальше:
Автоматизация развертывания виртуальных машин

Авторы сразу же указывают, на что, с их точки зрения пригодны виртуальные машины:
При создании и тестировании программ часто бывает необходимо создавать сразу несколько виртуальных машин.

Не могу не согласиться.

Продолжаем наш экскурс:
Переход на виртуальную среду Linux при помощи Clonezilla

И здесь есть честное предостережение:
Благодаря двум идеям, движущим сегодня эволюцию центров обработки данных – экономии средств и снижению потребления электроэнергии, - виртуализация серверов стала популярной темой в сфере ИТ, и многие разработчики программ и оборудования предлагают собственные решения в этой области. У виртуализации много преимуществ: она позволяет легко переносить виртуальную машину с одного сервера на другой и позволяет создать клонированные образы, например, для разработки и тестирования программ.


В самом деле, тема виртуализации стала весьма модной, в том числе благодаря двум указанным тенденциям - причем по сути, виртуализация этих проблем отнюдь не решает, скорее наоборот. Автор снова подчеркивает, что область применимости виртуализации - тестирование и разработка.

Ну и "на закуску" описание технологии, которая на самом деле решает вышеназванные задачи:
LXC: Kонтейнерные утилиты Linux

Цитаты приводить не буду, как минимум введение рекомендую прочитать целиком.

Послесловие. Для контейнеров, насколько мне известно, пока не существует, к примеру средств live-миграции, но возможность их создания очевидна. Что касается "истинной" виртуализации, то стоит задуматься, каким же это образом провозглашается снижение энергопотребления и ресурсоемкости при добавлении значительного количества дополнительного кода, отвечающего за виртуализацию. Безусловно, очень привлекательна идея засунуть монстрообразное приложение в некий виртуальный контейнер, получая при этом многократно возросшую производительность, снизившееся энергопотребление и безглючную работу. Но если подумать, это же абсолютная фантазия - виртуальная машина видится чем-то вроде родной сестры золотой рыбки, неподвластной законам физики. Я понимаю, что эти законы сегодня мало кто знает, но тем не менее они существуют и вы всегда можете их проверить, к примеру, спрыгнув с крыши - несмотря на все ваши познания в области виртуализации, полетите вы вниз, а не вверх. Так что лучше поскорее расстаться с виртуальными утопиями и двумя ногами встать на землю. А бум виртуализации не вечен, вспомним перстень царя Соломона с надписью: "Все проходит. Пройдет и это".

3 комментария:

morbo комментирует...

Виртуализация потому позволяет экономить электроэнергию, что несколько разных задач можно посадить в разные виртуальные, а не реальные машины. При этом понадобится не N-ое количество серверов, а M-ное, где M<N. При этом количество потребляемой электроэнергии снизится в N/M раз.

Печников Алексей комментирует...

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

Печников Алексей комментирует...

Дополню аналогию из предыдущего поста: притом в каждой палатке придется по лампочке установить, впридачу к освещению самой комнаты. Та еще "экономия".


(C) Alexey Pechnikov aka MBG, mobigroup.ru