Рубрика:
Виртуализация /
Технологии
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ДМИТРИЙ КРИКОВ, технический директор компании Masterhost с 2005 года
Чтобы «+» не стал «–» Учитывайте побочные эффекты
Можно рассматривать виртуализацию ресурсов, серверов и рабочих станций, приложений и их окружения. Мы проведем сравнительный анализ существующих технологий для виртуальных машин
Виртуализация оборудования
|
Две основные группы технологий: виртуализация оборудования и виртуализация уровня операционной системы |
Популярные технологии:
- VMware;
- Hyper-V;
- Xen;
- KVM.
В случае с виртуализацией оборудования используется специальный программный слой – гипервизор (hypervisor), позволяющий cэмулировать на одном физическом сервере несколько виртуальных окружений – виртуальных машин (ВМ), которые изнутри выглядят как отдельные физические машины, со своим набором оборудования и ресурсов. При этом одна часть оборудования физического сервера может быть передана в монопольное использование отдельной ВМ. Другая часть может быть тем или иным способом разделена между разными ВМ. Также оборудование, используемое ВМ, может быть полностью эмулируемым и не существовать физически. Технологии виртуализации оборудования позволяют запускать внутри ВМ практически любые гостевые ОС, достигать максимального уровня изоляции и независимости ВМ, работать внутри ВМ с такой же степенью свободы, как и на физическом сервере.
Существует две разновидности виртуализации оборудования: полная виртуализация и паравиртуализация. В случае полной виртуализации ОС внутри ВМ видит стандартизованное оборудование, работа с которым не отличается от работы с аналогичным физическим оборудованием. При этом никаких модификаций гостевой ОС не требуется: все действия по обеспечению работы виртуального окружения берет на себя гипервизор. В случае паравиртуализации вместо полноценной эмуляции оборудования гостевой ОС предоставляется для работы специальный API. В некоторых случаях это может оказаться более эффективным с точки зрения производительности, но требует специальной поддержки со стороны гостевой ОС.
Виртуализация уровня операционной системы
Популярные технологии:
- Virtuozzo;
- Solaris Zones;
- FreeBSD Jails.
Виртуализация уровня ОС подразумевает в первую очередь не эмуляцию аппаратного обеспечения для различных ВМ (хотя отдельные аппаратные компоненты могут быть эмулированы), а работу на уровне разделения групп процессов и ресурсов в рамках одной ОС. При виртуализации уровня ОС все процессы работают в единой ОС (что накладывает ограничение на ядро ОС – оно единое для всех ВМ), но процессы различных ВМ не видят и не влияют друг на друга, распределением ресурсов и разграничением доступа между ними занимается подсистема виртуализации на уровне ядра ОС. За счет этого внутри каждой ВМ видны и доступны к использованию только выделенные ей ресурсы. Свободные/неиспользуемые ресурсы могут быть динамически перераспределены между различными ВМ, это дает уникальные возможности по эффективному использованию ресурсов и позволяет повысить плотность размещения ВМ.
Виртуализация уровня ОС также предоставляет большие возможности по экономии ресурсов за счет возможности их совместного использования, дает более гибкие возможности по управлению ВМ, обеспечивает меньшие накладные расходы на виртуализацию. Но уровень свободы и степень изоляции здесь, к сожалению, отстают от гипервизорных технологий.
Наиболее распространенные цели использования виртуализации:
- повышение эффективности использования оборудования;
- унификация используемого оборудования, повышение управляемости;
- повышение надежности/стабильности.
Рассмотрим каждую из этих целей подробнее.
Эффективность использования ресурсов
В каких ситуациях консолидация и виртуализация дают заметный выигрыш по эффективности использования ресурсов?
Ситуация неполного использования дисков. Например, на каждом сервере необходимо иметь по 10 Гб дискового пространства, при этом высокая производительность не важна, но требуется резервирование дисков (RAID). Минимальный объем дисков, доступных на рынке, – 72 Гб. Для 100 таких серверов потребовалось бы 2 (для создания зеркала) * 100 = 200 дисков по 72 Гб, при этом весьма неэффективно использовалось бы дисковое пространство. В случае же консолидированного хранилища на нем необходимо дисковое пространство в 10 * 100 = 1000 Гб, т.е. один диск. С учетом двукратного резервирования (все-таки единая точка отказа) – три. Но не 200! Конечно, к трем дискам добавляется стоимость самой системы хранения, но в приведенном примере выигрыш определенно будет налицо.
Ситуация требования высокой пиковой производительности дисковой подсистемы при достаточно низкой средней нагрузке. Например, каждому серверу необходимо иногда (в сумме – минуту в сутки) читать данные с дисковой подсистемы на высокой скорости, которую могут обеспечить, например, не менее четырех параллельно работающих дисков (для простоты – в зеркале). Используется до 100% дискового пространства (чтобы исключить сходство с предыдущим примером). Для 100 таких серверов потребовалось бы 4 * 100 = 400 дисков, которые подавляющую часть времени простаивали бы без дела. В случае же консолидированного хранилища – если можно обеспечить, чтобы серверы обращались к нему не одновременно – достаточно будет всего 100 или заметно меньшего количества дисков большего объема, главное – чтобы их было не менее четырех. Конечно, лучше прибавить несколько дисков для повышения надежности системы.
Ситуация требования определенного запаса вычислительной мощности при низкой средней нагрузке. Например, есть 100 серверов, которые обслуживают 100 сайтов. В нормальном режиме сервер загружен на 10%, но на случай DDoS-атаки есть десятикратный запас производительности. Атаки происходят редко, поэтому эффективное использование этих серверов не намного превышает 10%. Что можно сделать? Если вычислительные ресурсы будут виртуализированы, консолидированы и на практике запросы каждого сайта будут обрабатываться на всех серверах, то для обеспечения работы в штатном режиме и обеспечения запаса на случай атаки на 10 сайтов одновременно (что крайне маловероятно) необходимо: 100 * 0,1 + 10 * 0,9 = 19 таких серверов, а не 100. Плюс, добавляется многократное резервирование/отказоустойчивость. Выгода очевидна!
Таким образом, виртуализация будет выгодна всем, у кого специфика использования ресурсов позволяет существенно повысить эффективность работы за счет их консолидации и виртуализации.
Кроме того, это очень эффективно в ситуациях, когда не требуется много ресурсов, но нужно иметь много независимых серверов. Например, для разработки и тестирования, когда каждому разработчику необходимо по несколько серверов, или для организации виртуальных рабочих станций, когда их количество велико, но активность и частота использования низки.
Унификация оборудования
Когда парк используемого оборудования растет, управление им становится все более сложным и затратным. Если же все оборудование еще и разнородное («зоопарк»), то количество проблем может расти в геометрической прогрессии: несовместимость компонентов, обновления оборудования, замены при сбоях и т.п. Консолидация и виртуализация оборудования позволяют минимизировать эту проблему: если все сервисы перевести на работу внутри ВМ, снимается прямая привязка к физическому оборудованию. При необходимости изменить количество доступных ВМ ресурсов это делается просто на уровне команд системы виртуализации. Вопросы замены оборудования при сбоях вообще могут быть сняты (ВМ просто запускается на другом физическом оборудовании или даже вообще работает независимо от сбоев оборудования). При недостатке ресурсов физического оборудования в систему можно просто добавить дополнительное оборудование, а ВМ прозрачно перенести на более производительный физический сервер.
Кроме того, появляется целый ряд дополнительных интересных возможностей, недоступных на физических серверах. Сервер можно создавать по шаблону, клонировать, прозрачно переносить между физическими серверами, подключать виртуальные и физические устройства, делать и восстанавливать внешние резервные копии.
Повышение надежности/стабильности
Виртуализация – хороший способ сэкономить на оборудовании и повысить надежность системы в целом. Конечно, эти задачи не всегда могут быть решены совместно, но возможности появляются очень интересные.
В случае использования ВМ, как уже было сказано выше, отсутствует привязка к физическому оборудованию. В случае необходимости проведения работ на физическом сервере ВМ может быть прозрачно перенесена на другой физический сервер. В случае сбоя физического сервера ВМ может быть целиком восстановлена из резервной копии на другой физический сервер, а при наличии централизованной системы хранения ВМ может быть моментально перезапущена на другом, исправном сервере, и она будет работать точно так же. Более того, некоторые технологии виртуализации позволяют использовать режим Fault Tolerance, при котором состояние ВМ непрерывно синхронизируется между разными физическими серверами, и даже полное уничтожение одного физического сервера не приведет к нарушению работы ВМ.
Также нельзя не упомянуть о пользе виртуализации для компаний, которые не используют полностью даже ресурсы своего единственного сервера или которым нет необходимости в физическом доступе к своим серверам. В этом случае часто разумно отказаться вообще от содержания собственного физического оборудования (а вместе с этим – и от затрат по его обслуживанию, от необходимости держать резервный комплект оборудования, обеспечивать размещение, бесперебойное электропитание, подключение к Интернету) и воспользоваться услугой аренды виртуального сервера у сервис-провайдера. Это может оказаться гораздо эффективнее с экономической точки зрения и просто элементарно проще и удобнее.
Есть еще целый ряд особенностей и преимуществ, которые дает виртуализация. Чтобы понять, какие из них лучше применимы в вашем случае, необходим подробный анализ ситуации, но, скорее всего, вы обязательно найдете в виртуализации свои плюсы.
Например, для разделения ресурсов физического сервера между пользователями виртуальных серверов в нашей компании применяется одна из передовых технологий виртуализации – Virtuozzo от компании Parallels с возможностью выбора ветки и версии операционной системы UNIX/Windows. Но, разумеется, у каждой компании, использующей технологии виртуализации, есть свой опыт.
Нет – технологии ради технологии!
Обязательное условие успеха при переходе на виртуализацию – четкоe понимание цели внедрения той или иной технологии. Как показывает практика, подход «технология ради технологии» в итоге к положительному эффекту для бизнеса не приводит. Одно из основных правил, о котором надо помнить: основные опасности виртуализации вытекают из ее основных преимуществ. Консолидируя ресурсы и получая от этого выигрыш по целому ряду показателей, надо не забывать о том, что можно получить единое узкое место или единую точку отказа. Нужно уделять повышенное внимание вопросам надежности и наличию запаса ресурсов: «складывая все яйца в одну корзину», необходимо должным образом защитить свои сервисы.
Пожалуй, главное – это не просто использовать ВМ как дешевые/высоконадежные альтернативные варианты физических серверов, а понимать, что это особый тип сервиса, со своими достоинствами и недостатками, со своими отличительными чертами. Только в таком случае можно будет получить максимальную пользу от виртуализации.
Во что обойдется этот переход? Затраты ресурсов и времени на виртуализацию сервисов напрямую зависят от того, что в итоге необходимо получить. Можно за 10 минут и тысячу рублей заказать у сервис-провайдера виртуальный сервер как услугу и перенести туда свои данные, а можно годами строить сложную и дорогую систему. Нет единого рецепта – каждую ситуацию необходимо внимательно анализировать.
Да – надежности и безопасности!
Консолидация серверов предъявляет повышенные требования к стабильности и надежности. При сбое/простое одного физического сервера или системы хранения могут быть недоступны все ВМ, размещенные на этом оборудовании. Решение – использование высоконадежного оборудования, дублирование/резервирование оборудования, использование возможностей систем виртуализации для обеспечения высокой доступности.
При регламентных работах, обновлении программного обеспечения или замене аппаратных компонентов может потребоваться остановка/перезагрузка физического сервера – это способно привести к остановке/перезагрузке сразу большого количества размещенных на нем ВМ. Решение – использование дополнительного оборудования и механизмов миграции систем виртуализации для перемещения ВМ на другое оборудование (во многих случаях это можно сделать вообще без простоя ВМ, т.н. online-миграция).
Еще одна группа проблем при обслуживании ВМ – это обеспечение контроля и разделения ресурсов. В зависимости от технологии виртуализации можно контролировать огромное количество различных показателей и разграничивать ВМ по различным ресурсам. Однако ни один из них не позволяет полностью разграничить ресурсы и на 100% изолировать ВМ от влияния друг на друга (особенно тяжело обычно обстоит ситуация с разграничением дисковых операций и входящим сетевым трафиком). Решение – использовать комплексный подход, не ограничиваясь возможностями исключительно технологии виртуализации, также следует всегда держать разумный запас свободных ресурсов (тем более что виртуализация позволяет их экономить).
Как известно, информационная безопасность – это совокупность организационных и технических мероприятий, направленных на обеспечение защиты информации от следующих угроз:
- нарушение конфиденциальности информации (разглашение);
- нарушение целостности информациие (изменение);
- утрата или снижение доступности информации (работоспособности).
Соответственно, основной комплекс мер для обеспечения ИБ не отличается от использования невиртуализованных систем, но в случае перехода на виртуализацию появляется дополнительный слой, на котором также необходимо учитывать все эти аспекты.
Надо всегда помнить, что управление информационной безопасностью – это не построение максимально надежной системы защиты. Это управление рисками для минимизации суммарных затрат на безопасность, которые складываются из затрат на обеспечение комплекса мер защиты и итоговой величины риска. Необходимо оценивать риски и принимать адекватный величине риска комплекс защитных мер.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|