Однако время теоретического ликбеза и маркетинговых заявлений закончилось – пора поговорить о практических аспектах и нюансах применения платформ виртуализации. недостаточный уровень отказо- и катастрофоустойчивости ИТ-систем; дефицит и дороговизна оборудованных по стандартам ЦОД площадей; неконтролируемый рост затрат на ИТ. От виртуализации ожидают существенного замедления роста парка серверного оборудования и соответствующего сокращения энергопотребления, тепловыделения, занимаемого места в стойках, в сочетании с повышением доступности, гибкости и управляемости инфраструктуры. Однако наш опыт показывает, что имеется ряд нюансов, способных свести на нет эффект от внедрения виртуализации.
Подходы к виртуализации вычислительных ресурсов
Согласно наиболее распространенному, но далеко не единственному определению, виртуализация – это представление ресурсов физических устройств в виде логического пула. Это новый взгляд на ресурсы, не ограниченный их реализацией, местоположением или физической конфигурацией. Виртуализация позволяет абстрагироваться от аппаратного обеспечения и работать с ним как с логическими ресурсами, разделяя, объединяя и перераспределяя их по своему усмотрению. Существует несколько подходов к виртуализации вычислительных ресурсов, наиболее распространены из них следующие четыре.
Аппаратные разделы (nPAR, Dynamic System Domain) надежно обеспечивают полную изоляцию и защиту раздела от аппаратных и программных сбоев в соседних разделах. Эта технология дает возможность выполнения нескольких независимых копий разных операционных систем и позволяет перераспределять ресурсы между разделами. Ее слабой стороной является недостаточная гранулярность разделения ресурсов. Кроме того, распространению аппаратных разделов существенно мешает их ориентированность именно на высокопроизводительное оборудование. В рамках полной виртуализации виртуализируется только часть аппаратного обеспечения, достаточная для изолированного запуска виртуальной машины. Такой подход позволяет запускать любые операционные системы, разработанные для той же архитектуры, что и у физического сервера (хоста). Этот подход, пожалуй, наиболее распространен сегодня (VMware ESX Server, Microsoft Virtual PC, GNU VirtualBox, Parallels Desktop).
В отличие от полной виртуализации, при паравиртуализации гипервизор не скрывает себя от гостевых операционных систем, и поэтому гостевые ОС должны быть подготовлены к работе в виртуализированной среде, что требует их модификации. Однако с появлением технологий аппаратной поддержки виртуализации, таких как Intel VT и AMD-V, стало возможным выполнение любых операционных систем без модификации ядра.
Виртуализация уровня операционной системы (Solaris Containers, LPAR, Virtuozzo, OpenVZ) дает возможность разделения одного физического сервера на несколько защищенных виртуализированных частей (контейнеров). Такой контейнер представляет собой окружение для приложений, запускаемых изолированно. При этом обеспечивается минимальный уровень потерь в быстродействии по сравнению с производительностью «реального» сервера, что позволяет запускать в рамках одного физического хоста десятки и сотни виртуальных контейнеров. В качестве иллюстрации применения этого метода можно привести один из наших проектов, предусматривающий замену 40 устаревших RISC-серверов тремя серверами Sun SPARC Enterprise T5440 в сочетании с применением технологии Solaris Containers. Реализация проекта обеспечит сокращение стоимости обслуживания оборудования, позволит высвободить пять монтажных стоек и сократить потребление электроэнергии в десять раз. По предварительным оценкам, сокращение совокупной стоимости владения ИТ-инфраструктурой за три года составит до 400 тыс. долл.,
а окупится проект уже за год.
Виртуализировать нельзя оставить
Несмотря на заверения маркетологов компаний-производителей программных средств виртуализации, а также пропаганду ее адептов, виртуализация далеко не всегда спасает от неэффективного расходования ИТ-ресурсов. Оборотной стороной медали является понижение быстродействия виртуальной операционной системы, вызванное дополнительными затратами на виртуализацию, и при неправильном применении этой технологии вместо повышения эффективности и надежности можно получить деградацию производительности выполнения приложений.
Можно перечислить типовые ситуации, когда анализировать возможность и целесообразность внедрения виртуализации необходимо с особой тщательностью:
-
если приложение требует больше 16 Гбайт оперативной памяти;
-
если приложение использует больше четырех процессоров (или процессорных ядер);
-
если приложение загружает процессор, память, дисковую или сетевую подсистемы в среднем на 50% и более (с учетом накладных расходов, после виртуализации такого приложения средняя загрузка вырастет до 70-80%);
-
если приложение требует специализированного аппаратного обеспечения (аппаратные криптографические устройства, USB-устройства и т.п.).
Во всех остальных случаях, приступая к проектированию виртуальной инфраструктуры, необходимо также помнить о следующем:
-
выполнение приложений, интенсивно использующих процессорные ресурсы, ввод/вывод или сеть, может замедлиться (при работе в виртуализированном окружении потребление этих ресурсов увеличивается в среднем на 25%);
-
обслуживание одной виртуальной операционной системы отнимает около 5% ресурсов одного логического процессора;
-
работа ядра VMware (Vmkernel) и сервисной консоли требует от 300 Мбайт до 800 Mбайт памяти.
В результате получается, что идеальные кандидаты на виртуализацию – это серверы, средний уровень загрузки процессоров, памяти и каналов ввода/вывода которых не превышает 10-20%.
При этом всегда надо помнить, что внедрение виртуализации может не дать ожидаемых преимуществ, а выльется в увеличение накладных расходов либо, в ряде случаев, окажется просто невозможным. В этой связи аудит существующей инфраструктуры и тщательное планирование ее виртуализации помогут избежать возможных ошибок. Значительно облегчить эту задачу позволяет специализированное программное обеспечение инвентаризации и сбора показателей утилизации серверов, например VMware Capacity Planner, Plate Spin Power Recon, IBM Consolidation Discovery and Analysis Tool (CDAT).
Выбор платформы
В качестве серверной платформы для внедрения решений по виртуализации можно рекомендовать серверы-лезвия на базе процессоров Intel Xeon или AMD Opteron. Выбор в пользу серверов-лезвий обусловлен тем фактом, что эти системы предназначены для решения тех же задач, что и виртуализация: повышение эффективности и надежности, снижение энергопотребления, сокращение совокупной стоимости владения. Поэтому построение виртуализированных вычислительных комплексов на базе серверов-лезвий позволяет добиться максимальной эффективности решения благодаря возникающему синергетическому эффекту (см. рисунок).
Отдельного внимания заслуживает вопрос обеспечения отказоустойчивости в среде VMware. Пакет VMware Infrastructure 3 включает в себя (в редакции Standard и выше) приложение VMware HA, обеспечивающее бесперебойную работу виртуальных машин за счет их прозрачной миграции со сбойного ESX-сервера (хоста) на работоспособный. Однако в этом решении акцент делается на защите от аппаратных сбоев – перенос виртуальных машин инициируется только в случае отказа ESX-сервера и не защищает от проблем с конкретными виртуальными машинами и/или работающими на них приложениями. Также не всегда могут быть отслежены проблемы с сетевыми интерфейсами, системами передачи и хранения данных и т.д. Именно поэтому широкое распространение получила практика резервирования виртуальных машин при помощи того или иного кластерного решения.
Для дополнения возможностей программного обеспечения Virtual Infrastructure мы активно используем программное обеспечение Veritas Cluster Server for VMware ESX, предназначенное для работы в виртуализированной среде и позволяющее объединять виртуальные машины в HA-кластер, устанавливать агенты для приложений, исполняемых внутри виртуальных машин. Возможно объединение в кластер виртуальных машин, размещенных на одном или разных ESX-хостах, в том числе и находящихся в удаленных центрах обработки данных. Таким образом, применяя этот продукт, можно пользоваться всеми преимуществами виртуализации и не идти на компромисс с надежностью и доступностью решения.
SAN и система хранения данных
Несмотря на то что VMware ESX Server работает с множеством различных устройств хранения (встроенные диски, SAN, NAS, iSCSI-устройства), именно сеть хранения является оптимальной средой хранения данных в виртуализированной среде. Это обуславливается тем, что для работы с хранилищами NAS и iSCSI требуются значительные процессорные ресурсы, а применение встроенных дисков не позволяет реализовать механизмы обеспечения высокой доступности. В свою очередь, возможности сетей хранения прекрасно дополняют «переносимость» виртуальных машин, достигаемую за счет инкапсуляции операционных систем и прикладных программ, благодаря которой можно быстро переносить работающую виртуальную машину с одного физического сервера на другой, обеспечивая высокую доступность приложений и сервисов, автоматическое перераспределение нагрузки и повышение эффективности использования ресурсов.
С учетом того, что рост объема образа виртуальной машины зачастую трудно спрогнозировать, особое значение приобретает использование технологии интеллектуального снабжения – Thin Provisioning, позволяющей администратору выделять каждой виртуальной машине значительный объем дискового пространства, покрывающий как нынешние, так и будущие ее потребности. Благодаря Thin Provisioning приложению реально выделяется лишь небольшое количество ресурсов, четко соответствующее его потребностям в каждый момент времени. Например, для создания домашних каталогов размером в 100 Гбайт для десяти виртуальных машин администратор может использовать не 1 Тбайт, а лишь 200 Гбайт физического дискового пространства. При этом каждая виртуальная машина будет «видеть» все 100 Гбайт доступной ей емкости. Реально же ресурсы выделяются по мере надобности в автоматическом или ручном режиме. Таким образом, внедрение Thin Provisioning повышает эффективность использования дисковых ресурсов с обычных 30-50% до 80-90%.
Значительного эффекта можно ожидать от применения технологий дедупликации, однако если в архивных решениях и системах резервного копирования дедупликация используется достаточно активно, то дедупликация «продуктивных» данных пока распространена крайне незначительно. Тем не менее, в виртуализированной среде VMware дедупликация была бы очень кстати, т.к. образы виртуальных машин имеют, как правило, большой процент идентичных данных. Компания NetApp заявляет о возможности дедупликации продуктивных данных в своих системах хранения V-Series и обещает сокращение дискового пространства, требуемого для хранения данных виртуальных машин, на 50% и более. Тестирование этой технологии в нашей лаборатории подтвердило заявленные возможности, и сейчас ведутся первые проекты с ее использованием. В данном решении процесс дедупликации запускается в фоновом режиме и не требует значительных ресурсов массива.
Резервное копирование в виртуализированной среде
Простота развертывания виртуальных машин зачастую приводит к неконтролируемому росту их количества и влечет за собой увеличение потребления ресурсов, сложности администрирования и т.д. Одно из следствий этого – стремительный рост объемов хранимых данных, которые нуждаются в резервном копировании. При организации резервного копирования в виртуализированной среде основная идея виртуализации, заключающаяся в эффективном использовании традиционно недозагруженных ресурсов, начинает играть негативную роль. Как известно, операции резервного копирования создают значительную нагрузку на процессор и подсистему ввода/вывода. В традиционных, слабо загруженных системах это не вызывает проблем, но если обеспечить при помощи средств виртуализации загруженность серверного оборудования на уровне 60-70% и выше, то ресурсов для резервного копирования может не остаться. Для резервного копирования
в виртуализованной среде крайне необходимы технологии Off-host Backup.
Компания VMware предлагает решение VMware Consolidated Backup, входящее в пакет Virtual Infrastructure начиная с версии Foundation и выше, позволяющее разгрузить ESX-сервер и локальную сеть за счет использования централизованного backup-прокси-сервера. VCB делает мгновенные копии файловой системы виртуальной машины и монтирует их на прокси-сервере, а установленный на нем агент осуществляет операции резервного копирования в одном из двух режимов – либо как образ виртуальной машины целиком, либо как набор файлов и каталогов, что делает возможным инкрементальное резервирование и восстановление файлов. VCB успешно работает со всеми распространенными инструментами резервного копирования компаний CA, CommVault, EMC, HP, Symantec, Tivoli и Vizioncore.
Из перечисленных средств резервного копирования и восстановления данных можно выделить продукт Symantec NetBackup for VMware, предлагающий не два, как в большинстве альтернативных решений, а три варианта резервного копирования. Помимо взаимоисключающих вариантов полного копирования образа виртуальной машины и копирования отдельных файлов и папок, NetBackup for VMware позволяет производить быстрое резервирование виртуальной машины в виде образа с возможностью последующего гранулярного восстановления любых файлов. Иначе говоря, для обеспечения возможности как полного (например, в случае отказа оборудования), так и гранулярного (например, в случае непреднамеренного удаления данных) восстановления, достаточно всего одного «прохода» резервного копирования. Чтобы обеспечить такую возможность, полученный в результате резервного копирования образ виртуальной машины индексируется медиа-сервером NetBackup для последующего пофайлового восстановления.
Михаил Гришунин (grishunin@jet.msk.su) – специалист отдела продвижения вычислительных комплексов компании «Инфосистемы Джет» (Москва).
Виртуализация для ЦБ РФ
Для Главного управления ЦБ РФ по Свердловской области специалистами компании «Инфосистемы Джет» был реализован проект внедрения высокоэффективной отказоустойчивой инфраструктуры. Множество серверов стандартной архитектуры, работавших под управлением Windows, Linux и Novell NetWare, были консолидированы на нескольких серверах-лезвиях. Степень консолидации (consolidation ratio) составила 8 к 1. Высокая доступность и отказоустойчивость решения обеспечивается сред-ствами VMware High Availability из пакета VMware Infrastructure. Реализованное решение позволило не только сократить количество оборудования и связанные с ним эксплуатационные затраты, но и построить платформу для дальнейшего масштабирования системы.
Виртуализация серверов стандартной архитектуры
Принято выделять несколько альтернативных базисных подходов для решения проблемы неприспособленности архитектур x86 и x64 к виртуализации: полная виртуализация с использованием бинарной трансляции, паравиртуализация и виртуализация, поддерживаемая на аппаратном уровне.
http://www.osp.ru/os/2008/03/5015349