История развития технологий виртуализации насчитывает более сорока лет. Компания IBM была первой, кто задумался о создании виртуальных сред для различных пользовательских задач, тогда еще в мэйнфреймах. В 60-х годах прошлого века виртуализация представляла чисто научный интерес и была оригинальным решением для изоляции компьютерных систем в рамках одного физического компьютера. После появления персональных компьютеров интерес к виртуализации несколько ослаб ввиду бурного развития операционных систем, которые предъявляли адекватные требования к аппаратному обеспечению того времени. Однако бурный рост аппаратных мощностей компьютеров в конце девяностых годов прошлого века заставил ИТ-сообщество вновь вспомнить о технологиях виртуализации программных платформ. Компания VMware, не являвшаяся еще в то время частью корпорации EMC, была одной из первых, кто сделал серьезную ставку исключительно на виртуализацию. Как показало время, это оказалось весьма оправданным. Сейчас возможность запуска нескольких виртуальных систем на одной физической вызывает большой интерес среди компьютерных специалистов, не только потому, что это повышает гибкость ИТ-инфраструктуры, но и потому, что виртуализация, на самом деле, позволяет экономить деньги. Так почему раньше виртуализация операционных систем не была столь востребована? Приведем основные проблемы, мешавшие относиться к этой технологии всерьез:
- низкие аппаратные мощности компьютеров
- отсутствие простых и мощных средств управления платформами виртуализации
- отсутствие поддержки со стороны производителей операционных систем
- невысокая надежность программного обеспечения для виртуализации
- боязнь крупных компаний связываться с «необкатанной» технологией
- малая активность рынка поставщиков новой технологии
На сегодняшний день ситуация коренным образом изменилась: как серверные, так и клиентские системы вполне способны поддерживать несколько ОС одновременно, поставщики технологий виртуализации предлагают крупным компаниям надежные и легкоуправляемые специальные ПО платформы, а рынок этих технологий переживает настоящий бум. По оценкам ведущих экспертов, сейчас виртуализация входит в тройку наиболее перспективных компьютерных технологий. Многие эксперты предсказывают, что к 2015 году около половины всех компьютерных систем будут виртуальными.
Между тем, виртуализация популярна не только в компаниях, связанных с ИТ-отраслью. Среди клиентов крупных производителей платформ виртуализации можно найти больницы, университеты, строительные корпорации и даже военно-морской флот США. Это все, конечно, относится к странам запада. В России технологии виртуализации еще не смогли всерьез заинтересовать ни крупный бизнес, ни сектор SMB (Small and Medium Business). По оценкам аналитиков, Россия еще не готова психологически принять новую технологию, однако в ближайшем будущем намечается прогресс в этом отношении. На данном этапе достаточно сложно убедить CIO (Chief Executive Officers) различных предприятий в эффективности виртуализации, в основном потому, что нет хороших инструментов для комплексной оценки ИТ-инфраструктуры в ракурсе виртуализации, удобно представляющих результаты внедрения новой технологии.
Чтобы лучше понять, как именно виртуализация может улучшить жизнь компаниям различного профиля, приведем основные достоинства технологий виртуализации платформ.
Зачем нужна виртуализация уже сейчас
Виртуальные машины открывают широчайшие возможности по переходу ИТ-инфраструктуры компании на новый, более гибкий и технологичный уровень, позволяющий строить ее из независимых, изолированных блоков, которые консолидировано работают без привязки к физическому оборудованию. Назовем основные предпосылки к виртуализации компьютерных систем компании:
- малая средняя загрузка внутренних и внешних (production) серверов (не более 40%)
- отсутствие специфического и обязательного к использованию аппаратного обеспечения
- необходимость в эффективном управлении большим парком серверов
- необходимость поддержки бесперебойного режима работы серверов с малым временем простоя (downtime)
- большие затраты на аппаратное обеспечение и электроэнергию в датацентрах
- необходимость иметь достаточное количество систем для тестирования ПО
Если в той или иной степени ваша ИТ-инфраструктура обладает перечисленными выше признаками, то вам необходима виртуализация, чтобы:
- консолидировать несколько виртуальных систем на одной физической, сократив при этом затраты на аппаратное обеспечение и электроэнергию, а также сделав их более гибкими при миграции на другое оборудование
- эффективно управлять компьютерными системами и держать их в стопроцентной доступности, используя решения для резервного копирования и мгновенного восстановления после сбоев
- упростить тестирование ПО путем создания хранилищ готовых к использованию виртуальных машин, которые могут быть востребованы в считанные минуты и запущенны на различных компьютерах в пределах виртуальной тестовой лаборатории
- создавать изолированные аппаратно-независимые среды для демонстраций и обучения
Основные проблемы проектов по виртуализации
Несмотря на все преимущества виртуализации, при проведении проекта по ее внедрению компании различного масштаба сталкиваются с несколькими проблемами, которые появляются на различных этапах проекта внедрения. Условно можно выделить три фазы, в которых появляются трудности с виртуализацией:
- анализ и планирование
- внедрение и период поствнедрения
- дальнейшее обслуживание виртуальной инфраструктуры
Анализ и планирование
В эту группу включаются проблемы, с которыми компания или независимые консультанты сталкиваются при исследовании существующей информационной инфраструктуры и планировании миграции на виртуальную инфраструктуру. В частности, среди первоочередных задач можно отметить следующие:
- Совместимость и поддержка
Эта проблема содержит исследование аппаратных и программных компонентов ИТ-инфраструктуры и оценку возможности их миграции в виртуальные среды. Не все разработчики программного обеспечения готовы гарантировать бесперебойную работу своего ПО в виртуальных машинах. Для решения этой проблемы необходимо провести тщательную инвентаризацию программного и аппаратного обеспечения и выяснить у разработчиков, насколько гарантируется их работа в пределах виртуальной инфраструктуры. Сейчас многие производители платформ виртуализации публикуют различные отчеты о совместимости и тестировании производительности популярных программных продуктов на виртуальных машинах в производственной среде. Например, в июле 2007 года компания VMware опубликовала отчет о производительности продукта Microsoft Exchange на платформе ESX Server, из которого можно сделать вывод, что почтовый сервер Exchange вполне может быть виртуализован с учетом дальнейшего увеличения количества его клиентов и малых затрат на поддержку платформы виртуализации.
Проблемы категории поддержки виртуализации можно разделить на три типа:
- технические ограничения (поддержка в виртуальных машинах специфического оборудования, требования платформы виртуализации к аппаратному обеспечению)
- маркетинговые стратегии (например, решение поддерживать только определенный набор программных продуктов)
- политические стратегии (решения о подходе к виртуализации в контексте поддерживаемого ПО, программная или аппаратная виртуализация, решения использовать платформы определенного вендора)
- Лицензирование
Планируя проект по виртуализации, необходимо тщательно изучить лицензии производителей операционных систем, а также независимых разработчиков программного обеспечения (ISV, Independent Software Vendors) в отношении виртуализации. Не исключено, что некоторые ОС или программные продукты не могут быть запущены в виртуальных системах, как, например, Windows Vista Home Basic или Home Premium компании Microsoft.
Ввиду очень простой переносимости виртуальных машин на другую физическую платформу, со стороны производителей операционных систем вводятся специальные ограничения на использование их продуктов в виртуальных машинах (особенно OEM-версий). Такие сценарии использования зачастую описываются в отдельных главах лицензий. Также возникают некоторые проблемы с лицензированием ПО на определенное число процессоров, поскольку в виртуальной машине посредством виртуального SMP (Symmetric Multi Processing) представляется другое число процессоров, нежели в хостовой системе. Кроме того, необходимо учитывать и некоторые приятные моменты в отношении виртуализации операционных систем, как, например, разрешение использовать неограниченное число экземпляров виртуальных систем издания Windows Server 2003 Datacenter Edition без дополнительной платы.
- Планирование развертывания
В эту группу задач включается планирование развертывания консолидированных виртуальных серверов, миграция физических серверов, а также получение коэффициента виртуализации (число виртуальных машин на физический сервер). Эта задача является наиболее значимой на этапе анализа и планирования виртуальной инфраструктуры. Некоторые производители платформ виртуализации предоставляют потенциальным клиентам инструменты для оценки коэффициента виртуализации (например, VMware Capacity Planner), либо им приходится пользоваться сторонним ПО (стоящим, как правило, немалых денег), например, PowerRecon компании PlateSpin. Пример работы инструмента VMware Capacity Planner представлен далее:
Планирование развертывания виртуальных серверов в VMware Capacity PlannerНиша программного обеспечения для централизованного сбора информации о загрузке серверов еще не заполнена, и на данный момент достаточно сложно подобрать подходящий инструмент.
В отношении миграции физических систем на виртуальные в данный момент существует множество инструментов производителей платформ виртуализации и сторонних разработчиков, которые позволяют производить потоковую миграцию физических серверов. Многие системы виртуализации уже содержат средства для P2V (Physical to Virtual) миграции (например, Xen Server).
Примеры специализированных продуктов для P2V миграции:
- Подготовка персонала
Эта проблема является одной из самых насущных в настоящее время, ввиду отсутствия специалистов по виртуализации, которые смогут внедрить и поддерживать виртуальную инфраструктуру. «Тяжелые» платформы виртуализации (VMware ESX, XenEnterprise, Virtual Iron) требуют серьезной подготовки специалистов, которые будут поддерживать их в состоянии полной готовности. Обучение таких специалистов обходится довольно дорого и доступно далеко не везде. Отсутствие специалистов необходимого уровня входит в тройку главных причин отказа компаний внедрять виртуализацию.
- Оценка возврата инвестиций (ROI, Return of Investments)
Как показала практика внедрения систем виртуализации, невозможность грамотно оценить возвращение инвестиций в виртуализацию является главным фактором, из-за которого почти половина компаний не может назвать свои виртуализационные проекты успешными. На данный момент существует проблема со средствами для измерения количественных и качественных показателей виртуальной инфраструктуры. Несмотря на все достоинства виртуализации, сложно говорить о ее эффективности пока нет подобных средств. Тем не менее, нужно четко осознавать, для каких целей нужна виртуализация, и какой именно экономический эффект она принесет.
Внедрение и период поствнедрения
На этапе внедрения платформ виртуализации, как правило, возникают проблемы интеграции виртуальной инфраструктуры с существующими гетерогенными элементами реальной ИТ-инфраструктуры, а также необходимость в развертывании специализированных серверов для управления виртуальными системами, мониторинга загрузки, выделение серверов для резервного копирования, внедрении решений высокой доступности. Кроме того, на данной стадии, при внедрении виртуализации в крупных компаниях, появляются проблемы с использованием виртуальных платформ в сетях SAN. Не все платформы поддерживают большой набор применяемого оборудования и популярный протокол iSCSI. Для внедрения решений виртуализации в сетях хранения данных без специально обученных специалистов не обойтись. Также на этапе внедрения и первичного использования возникают следующие проблемы:
- Надежность
Поскольку в результате внедрения виртуализации несколько виртуальных серверов консолидировано работают на одном физическом сервере, необходимо спланировать и реализовать стратегии резервного копирования и восстановления после сбоев (Disaster Recovery). Отказы аппаратных компонентов серверов — не редкость, и платформа с интегрированными средствами для обеспечения надежности виртуальной инфраструктуры будет лучшим решением. Большим плюсом станет также возможность платформы интегрироваться с решениями других производителей программных продуктов для обеспечения надежности. Резервное копирование виртуальных машин может проводиться на трех уровнях:
- уровень гостевой системы (установка специальных агентов в гостевой системе, например, продукты компании Symantec)
- уровень хостовой системы (копирование образов виртуальных машин или файлов гостевой системы, например, средствами продукта esxRanger компании Vizioncore)
- уровень систем хранения данных (SAN-хранилищ, где блоки виртуальной инфраструктуры соответствуют определенным сегментам)
Обеспечение высокой доступности (HA, High Availability) виртуальных машин может обеспечиваться средствами самих платформ (например, VMware HA), которые содержат несколько элементов (оптимизированная файловая система, возможности автоматического перезапуска виртуальных машин на другом сервере при выходе из строя одного из серверов кластера). В ближайшее время ожидается развитие средств высокой доступности виртуальных машин сторонних производителей. Сейчас в этом направлении активно работают следующие компании:
- Развертывание и подготовка к использованию в производственной среде
Простота развертывания виртуальных машин, зачастую, рождает соблазн их бесконтрольного размещения на различных серверах, что влечет за собой проблемы контроля производительности и распределения загрузки. Довольно сложно адекватно оценить, как именно виртуальные машины воздействуют на сервер виртуализации, и сколько виртуальных машин на нем можно разместить в пределах пула ресурсов. В этом отношении производителями программного обеспечения прилагаются усилия по созданию комплексных систем по управлению развертыванием виртуальных машин и их учету. Наибольших успехов в этой области добились компании:
- Dunes (с продуктом Virtual Desktop Orchestrator)
- VMware (с продуктом VMware LabManager)
- Surgient (с серией продуктов VQMS, VTMS, VDMS)
- VMLogix (с продуктом для тестовых лабораторий VMLogix Lab Manager)
Для примера, окно консоли продукта Virtual Desktop Orchestrator приведено далее:
Консоль управления пулами виртуальных машин Dunes VDO - Оценка эффективности
После того как виртуальные машины будут развернуты, необходимо оценить их эффективность в различных аспектах. В виртуальных инфраструктурах процесс выявления узких мест в производительности виртуальных машин происходит значительно сложнее, чем в реальных. Наличие «затычек» производительности зависит не только от стандартных для этой проблемы факторов, но еще и от некоторых специфических моментов (эффективность эмуляции аппаратных компонентов, проблемы производительности хостовой платформы, настройка параметров платформы виртуализации и прочее). Нахождение и изоляция такого рода узких мест (bottlenecks) — задача особого класса программного обеспечения. Поставщики ПО для оценки производительности компьютерных систем в недалеком будущем адаптируют продукты для платформ виртуализации. Кроме того, некоторые вендоры систем виртуализации уже сейчас предлагают подобные инструменты. Компания VMware недавно выпустила продукт VMmark для комплексной оценки производительности виртуальных машин на платформе ESX Server. Пример отчета VMmark показан далее:
VMmarkКак видно из отчета, система в каждом из аспектов набирает определенное количество очков, которое в дальнейшем может использоваться производителями аппаратных компонентов для рекомендаций по применению своего «железа» в системах виртуализации. Эти очки могут использоваться также в специальном ПО для планирования виртуальной инфраструктуры. В настоящее время производители аппаратного обеспечения, такие как Intel, активно сотрудничают с поставщиками платформ виртуализации в этом отношении.
Дальнейшее обслуживание виртуальной инфраструктуры
По мере ввода виртуальной инфраструктуры в производственную эксплуатацию перед системными администраторами и аналитиками встают вопросы о ее масштабировании, обслуживании, основанном на централизованном управлении, безопасности и разделения зон ответственности.
- Масштабируемость
После развертывания виртуальной инфраструктуры, по мере роста потребностей компании в виртуальных машинах возникает проблема масштабирования парка виртуальных машин. Основной составляющей проблемы является тот факт, что рост мощностей аппаратного обеспечения происходит неравномерно. Например, развитие многопроцессорных систем идет большими темпами, что позволяет увеличивать число виртуальных систем на одной физической. Однако некоторые другие аппаратные компоненты растут не так быстро: типичный пример — пропускная способность компонентов передачи данных по сети. Безусловно, вскоре мы сможем размещать на одном физическом сервере несколько десятков виртуальных машин, запущенных одновременно, но как справляться с их сетевым трафиком?
Кроме того, большие масштабы виртуальной инфраструктуры требуют развертывания в виртуальных машинах однотипного программного обеспечения, управление которым происходит на уровне гостевой системы, что может вызвать определенные трудности. В данный момент только компания VMware работает над тем, чтобы передать управление развертыванием и обслуживанием ПО на уровень хостовой платформы.
- Безопасность
Проблема безопасности виртуальной инфраструктуры может быть условно разделена на две составляющие:
- безопасность виртуальных машин
- безопасность платформы виртуализации
В первом случае, так же, как и на физической платформе, необходима установка средств защиты в гостевой операционной системе (антивирусы, сетевые экраны и прочее), а также правильная настройка виртуальных машин и виртуальных сетей. В мире виртуализации могут существовать несколько иные понятия о безопасности, в связи с тем, что еще не окончательно оформились требования к защите виртуальных систем. Например, в некоторых продуктах VMware (Workstation, Server) виртуальные коммутаторы являются по своей природе «хабами», что может открыть возможности по прослушиванию незащищенного трафика другими виртуальными машинами, контролируемыми злоумышленниками, и ввести в заблуждение системных администраторов.
В отношении безопасности платформы виртуализации, при планировании стратегии развертывания виртуальных машин, необходимо проанализировать отчеты об уязвимостях платформ и учитывать этот фактор при выборе конкретной платформы. Частью обслуживания виртуальной инфраструктуры должна стать своевременная установка обновлений системы виртуализации и отслеживание критических уязвимостей. При этом необходимо также учитывать возможность внутреннего несанкционированного доступа в пределах хостовой системы. Сейчас атаки на виртуальные системы достаточно редки, ввиду не такого широкого распространения платформ виртуализации, поэтому истинная защищенность платформ виртуализации неизвестна. Аналитики предсказывают, что к 2015 году каждая вторая операционная система будет виртуализована, и со временем вопрос безопасности будет становиться все более серьезным.
- Ответственность
Не исключено, что внедрение виртуальной инфраструктуры породит появление новых ролей, полномочия которых необходимо будет делегировать существующим специалистам (системным администраторам, сетевым администраторам, сотрудникам служб поддержки, специалистам по безопасности). Это требует определения четкой модели эксплуатации виртуальных систем в соответствии с функциями каждого из относящихся к этому работников компании. При разделении зон ответственности, необходимо четко представлять варианты использования виртуальных систем, иначе могут возникнуть конфликты между работниками, из-за появления новых обязанностей, исполнение которых никто не захочет брать на себя.
- Оценка рынка виртуализации
В данный момент на рынке виртуализации происходит бурный рост, что вызывает серьезную конкурентную борьбу вендоров платформ виртуализации за поддержку их продуктов разработчиками программного и аппаратного обеспечения. Например, в данный момент компания VMware является абсолютным лидером рынка корпоративного сектора виртуализации, не испытывая особенного сопротивления со стороны компаний Microsoft, XenSource, SWSoft и Virtual Iron. Однако ситуация может поменяться: в 2008 году выйдет интегрированная в ОС Windows Server платформа виртуализации Microsoft, что может привести к изменению ориентиров рынка, учитывая сеть партнеров софтверного гиганта. Поэтому необходимо внимательно следить за поддержкой продуктов виртуализации различными производителями ПО и делать ставку на конкретную платформу с учетом перспектив развития рынка.
Заключение
Технологии виртуализации коренным образом меняют подход к развертыванию ИТ-инфраструктуры. Несмотря на все очевидные достоинства виртуализации, ее внедрение рождает множество существенных проблем, описанных выше. Безусловно, эти проблемы могут быть решены при грамотном подходе. Ключевой элемент данного подхода — тщательное планирование всех этапов внедрения виртуализации. На каждом из этапов может потребоваться применение специализированного программного обеспечения, которое не всегда предоставляется производителями платформ бесплатно. По статистике, большинство крупных проектов виртуализации закончились неудачей во многом из-за того, что в данный момент сложно оценить их эффективность в количественных показателях, а также отсутствуют средства для сопровождения платформ виртуализации на всех этапах жизненного цикла.
На этапе планирования необходимо уделять особое внимание стратегиям резервного копирования и восстановления после сбоев, учитывать лицензионные требования производителей операционных систем и особенности интеграции с существующей инфраструктурой. Стоит учесть, что технологии виртуализации, с одной стороны, упрощают управление компьютерными системами, с другой — значительно усложняют их структуру. Это рождает необходимость в высококвалифицированных специалистах, которых в данный момент очень мало (хотя, безусловно, их количество будет стремительно расти в связи с востребованностью технологии). Виртуализация уже сейчас используется нефтяными, финансовыми, телекоммуникационными и другими компаниями, являясь незаменимым элементом их ИТ-инфраструктуры. Но полноценного эффекта от виртуализации можно достичь только за счет полного осознания своих потребностей в ней, учета ее требований и тщательнейшего планирования виртуализационного проекта.