Виртуализация в задачах оптимизации нагрузок на компьютерные системы






Оглавление









Введение

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

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

Преимущества виртуальных машин очевидны, особенно если принять во внимание, что большинство рабочих нагрузок используют лишь малую часть общей мощности оборудования. При согласовании нагрузок в отношении процессорной мощности и потребления памяти ИТ-организация может сократить количество физических серверов, необходимых для поддержки бизнеса. Типичный уровень загрузки сервера составляет 15%, а 85% общей мощности сервера не используются. Повышение уровня использования даже до 60% означает четырехкратное уменьшение занимаемой площади, количества оборудования и энергопотребления для питания и охлаждения таких серверных ферм. Обычно этот процесс называется консолидацией серверов.



1. Технологии виртуализации

1.1 Виртуализация сегодня

Идея виртуализации была предложена еще фирмой IBM, задолго до появления Windows. Но архитектура процессора x86 фирмы Intel, не поддерживающей виртуализацию, незаслуженно вытеснила эту технологию из широкой IT-практики. Дело в том, что в архитектуре x86 все аппаратные устройства (контроллеры жестких дисков, видеоконтроллеры, таймеры и прочее) проектировались на работу только с одной ОС.

В наши дни виртуализация на платформах Windows принимает одну из двух форм: тип 2 и гибридная (hybrid). Типичным примером виртуализации типа 2 является виртуальная машина Java. Еще один пример — общеязыковая среда выполнения (common language runtime, CLR) платформы .NET Framework. В обоих случаях все начинается с базовой ОС, то есть, с ОС, которая устанавливается непосредственно на физическое оборудование. Поверх базовой ОС работает монитор виртуальных машин (Virtual Machine Monitor, VMM), в задачу которого входит создание виртуальных машин и управление ими, распределение ресурсов между машинами, обеспечение изоляции машин друг от друга. Иными словами, в данном сценарии VMM играет роль уровня виртуализации (virtualization layer). Затем поверх VMM работают уже гостевые приложения, в данном случае, приложения Java или .NET. Эта архитектура показана на рис. 3-1. Очевидно, что ее производительность оставляет желать лучшего, поскольку приложениям на пути к оборудованию приходится проходить как через VMM, так и через базовую ОС.






Рис. 1. 1 Архитектура виртуализации типа 2

Рис. 1.2 Архитектура гибридной виртуализации

Большинству ИТ-профессионалов, вероятно, более знакома гибридная виртуализации, проиллюстрированная на рис. 3-2. Здесь непосредственно с

оборудованием общаются как базовая ОС, так и VMM (хотя к различным аппаратным компонентам они имеют разный доступ), а гостевые ОС работают поверх уровня виртуализации. Если говорить точнее, в этой конфигурации VMM также должен проходить через базовую ОС, чтобы получить доступ к оборудованию. Однако как базовая ОС, так и VMM работают в режиме ядра и потому, по сути, конкурируют за обладание ресурсами ЦП. Базовой системе циклы процессора выделяются по мере надобности в ее контексте, затем циклы передаются VMM, a VMM передает циклы гостевым ОС. Процесс повторяете снова. Гибридная форма работает быстрее формы типа 2, поскольку в первом случае VMM работает в режиме ядра, а во втором — в пользовательском режиме.

Именно гибридный подход к VMM используется в двух популярных решениях виртуализации от Microsoft: в Microsoft Virtual PC 2007 и в Microsoft Virtual Server 2005 R2. И хотя производительность его выше, чем у виртуальных систем типа 2, она все еще не так высока, как была бы у двух раздельных физических компьютеров.

VMM типа 2 называют еще машинами с виртуализацией процессов, поскольку в них в качестве «гостей» физической системы изолируются процессы (службы или приложения). Гибридные VMM называют машинами с виртуализацией системы, поскольку на них в качестве «гостей» изолируются целиком операционные системы, например Windows или Linux.

В наши дни имеется и третий тип технологии виртуализации — VMM типа 1 или технология гипервизора. Гыпервизор (hypervisor) — это программный уровень, расположенный непосредственно над оборудованием и под одной или несколькими ОС. Его основное назначение — организовать изолированные среды выполнения, называемые разделами (partition), внутри которых будут работать виртуальные машины с гостевыми ОС. Каждому разделу выделяется собственный набор аппаратных ресурсов, в который входят память, процессорное время и устройства, а гипервизор отвечает за организацию доступа к реальному оборудованию.

На рис. 3-3 показана простая форма VMM типа 1, в которой VMM (гипервизор) работает непосредственно на «голом железе» (на оборудовании), а поверх VMM работает несколько гостевых ОС.



Рис. 1.3 Архитектура виртуализации типа 1

Забегая вперед, виртуализация, основанная на гипервизоре, обладает наилучшей производительностью. Она реализована в Windows Server 2008. Можно сравнить два варианта VMM типа I: монолитный и микроядерный.

1.1.1 Монолитный гипервизор

В монолитной (monolithic) модели гипервизор использует для доступа к оборудованию собственные драйверы (рис. 3-4). Гостевые ОС работают на виртуальных машинах поверх гипервизора. Когда гостевой системе нужен доступ к оборудованию, она должна пройти через гипервизор и его модель драйверов. Обычно одна из гостевых ОС играет роль администратора или консоли, в которой вы запускаете компоненты для предоставления ресурсов, управления и мониторинга всех гостевых ОС, работающих на компьютере.

Модель монолитного гипервизора обеспечивает прекрасную производительность, но «хромает» с точки зрения защищенности и устойчивости. Это связано с тем, что она по своей сути обладает более широким фронтом нападения и подвергает систему большему потенциальному риску, поскольку разрешает работу драйверов (а иногда даже программ сторонних производителей) в очень чувствительной области. Скажем, вредоносная программа способна установить в гипервизоре под видом драйвера устройства регистратор нажатий клавиш. Если такое случиться, под контролем регистратора окажутся все гостевые ОС системы. Хуже того, этот «жучок» будет совершенно невозможно обнаружить средствами гостевых ОС: гипервизор им по определению не видим!



Рис. 1.4 Монолитный гипервизор

Еще одна проблема — устойчивость: если в обновленную версию драйвера затесалась ошибка, в результате обновления сбои начнутся во всей системе, во всех ее виртуальных машинах. Иными словами, в этой модели критическое значение приобретает устойчивость драйверов, а они зачастую создаются сторонними производителями, что может стать причиной проблем При этом оборудование серверов постоянно эволюционирует, и потому драйверы обновляются довольно часто, что увеличивает риск различных неприятностей. Можно считать монолитную модель моделью «толстого гипервизора» — из-за количества драйверов, поддержка которых ему требуется.

1.1.2 Микроядерный гипервизор

Альтернативу монолитному подходу составляет микроядерная (microkernelized) модель (рис. 3-5). В ней можно говорить о «тонком гипервизоре» — в этом случае в нем совсем нет драйверов. Вместо этого драйверы работают в каждом индивидуальном разделе, чтобы любая гостевая ОС имела возможность получить через гипервизор доступ к оборудованию. При такой расстановке сил каждая виртуальная машина занимает совершенно обособленный раздел, что положительно сказывается на защищенности и надежности.

В микроядерной модели (в виртуализации Windows Server 2008 используется именно она) один раздел является родительским (parent), остальные — дочерними (child). Раздел — наименьшая изолированная единица, поддерживаемая гипервизором. Он состоит из пространства физических адресов и одного или нескольких виртуальных процессоров. Каждому разделу назначаются конкретные аппаратные ресурсы — долю процессорного времени, память, устройства и пр. Родительский раздел создает дочерние разделы и управляет ими, а также содержит стек виртуализации (virtualization stack), используемый для управления дочерними разделами. Родительский раздел, является также корневым (root), поскольку он создается первым и владеет всеми ресурсами, не принадлежащими гипервизору. Обладание всеми аппаратными ресурсами означает среди прочего, что именно корневой (то есть, родительский) раздел управляет питанием, подключением самонастраивающихся устройств, ведает вопросами аппаратных сбоев и даже управляет загрузкой гипервизора.



Рис. 1.5 Микроядерный гипервизор

В родительском разделе содержится стек виртуализации — набор программных компонентов, расположенных поверх гипервизора и совместно с ним обеспечивающих работу виртуальных машин. Стек виртуализации обменивается данными с гипервизором и выполняет все функции по виртуализации, не поддерживаемые непосредственно гипервизором. Большая часть этих функций связана с созданием дочерних разделов и управлением ими и необходимыми им ресурсами (ЦП, память, устройства).

Стек виртуализации также обеспечивает доступ к интерфейсу управления, который в случае Windows Server 2008 является поставщиком WMI.

Преимущество микроядерного подхода, примененного в Windows Server, по сравнению с монолитным подходом состоит в том, что драйверы, которые должны располагаться между родительским разделом и физическим сервером, не требуют внесения никаких изменений в модель драйверов. Иными словами, в системе можно просто применять существующие драйверы. В Microsoft этот подход избрали, поскольку необходимость разработки новых драйверов сильно затормозила бы развитие системы. Что же касается гостевых ОС, они будут работать с эмуляторами или синтетическими устройствами. Необходимое ПО для этого Microsoft предоставит.

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

На данный момент весь рынок виртуализации для платформы x86 можно поделить согласно методу виртуализации, на следующие классы:

  1. Программная паравиртуализация

  2. Программная полная виртуализация

  3. Аппаратная виртуализация

  4. Технология виртуализации уровня операционной системы - виртуализация ресурсов.

Основным действующим лицом в любой технологии виртуализации является гипервизор: программная прослойка между гостевыми операционными системами и аппаратным обеспечением. Реализация гипервизора может быть разной.

1.2 Программная Паравиртуализация


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

1.3 Программная полная виртуализация

В 1998 году компания VMWare  выпустила программный комплекс программной полной виртуализации, который был основан на бинарной трансляции кода. Код гостевой операционной системы принимался гипервизором и проверялся на наличие проблемных команд. Логика гипервизора при этом либо переводила команды на выполнение от имени гипервизора, либо заменяла определенным образом команды. Технология полной виртуализации дала возможность реализовать виртуализацию проприетарных операционных систем, как Windows, MacOS, где нет возможности модифицировать ядро системы. Однако следует отметить, что полная трансляция и модификация бинарного кода - весьма ресурсоемкая операция, поэтому такая полная виртуализация не отличается высокой производительностью.



Рис. 1.6 Полная виртуализация

1.4 Аппаратная виртуализация



Для преодоления проблем с виртуализацией процессорных ресурсов, компании Intel и AMD ввели в свои новые процессоры новый режим процессора - так называемый "гостевой" режим. Благодаря этому, гостевой операционной системе на аппаратном уровне предоставлялась возможность выполнять привилегированные команды в нулевом кольце процессора. Это значительно повысило производительность решений на базе виртуализации, ведь теперь гипервизору не нужно было выполнять ресурсозатратные действия по контролю за кодом гостевой ОС. Конечно, гипервизор сохранился, но большое количество его функций с введением аппаратной виртуализации просто исчезли. Технологии аппаратной виртуализации фирм Intel и AMD называются соответственно Intel VT и AMD SVM. Наличие или отсутствие поддержки аппаратной виртуализации является одним из пунктов описания любого современного процессора. Стоит отметить, что далеко не все новые процессоры поддерживают аппаратную виртуализацию. К примеру, популярный процессор Intel Q6600 поддерживает технологию Intel VT, а Q8200 - нет.

Кроме технологий аппаратной виртуализации процессорных ресурсов,  технологии аппаратной виртуализации сделали возможным прямой доступ гостевых операционных систем к аппаратным устройствам, к примеру, жестким дискам, напрямую через канал DMA. Однако из-за этого уменьшается количество устройств, которые можно назначить гостевой ОС, и ухудшается её переносимость .






Рис. 1.7 Аппаратная виртуализация

Несмотря на казалось бы очевидный выигрыш от аппаратной виртуализации, мнение многих специалистов далеко не так радужно. Некоторые считают, что аппаратная виртуализация - рекламный ход производителей процессоров. Специалисты из VMWare усмотрели существенный минус в технологиях аппаратной виртуализации - их несовместимость с виртуализацией инструкции MMU (Memory Management Unit) - инструкции, осуществляющей доступ процессора к памяти и управляющей адресацией. Производители решения на базе аппаратной виртуализации, например Innotek и Xen, признаются, что используют возможности виртуализации, предоставляемый производителями процессоров, только в случаях, когда этот шаг действительно увеличивает производительность, и бывает это далеко не всегда. Возможно это связано с тем, что решения программной виртуализации хорошо проработаны и оптимизированы. Однако, нельзя не отметить один важный прорыв, достигнутый с помощью технологий аппаратной виртуализации - возможность запускать немодифицированные операционные системы в качестве гостевых ОС в системах паравиртуализации.

2. Основные задачи и область применения виртуализации

2.1 Основные задачи, которые решаются с помощью виртуализации


Виртуализация даёт следующие преимущества:

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

  • Эффективное использование ресурсов Более 70% времени сервера простаивают, изнашиваясь и потребляя электроэнергию. Вряд ли имеет смысл заводить в рабочей среде сервер, у которого процессор будет загружен всего процентов на пять. Типичный пример такой загрузки — DHCP-сервер предприятия, выдающий адреса в аренду нескольким тысячам клиентов или простаивает мощный 4-х процессорный SQL Server, который обслуживает ERP систему, в то время как слабый однопроцессорный  сервер SQL Server, обслуживающий «1C: Предприятие», загружен на 100%, часами обрабатывая сложную проводку. Чтобы решить проблему такого «недоиспользования», можно объединить в одном компьютере несколько ролей. Допустим, помимо DHCP-сервера вы устанавливаете на том же компьютере DNS-сервер, файловый сервер и сервер печати. Беда в том, что чем больше ролей исполняет компьютер, тем менее определенной становится его пиковая загруженность, в результате чего трудно будет уследить, чтобы компьютер не стал «узким местом». Кроме того, существенно расширяется фронт возможного нападения на компьютер, поскольку приходится одновременно держать открытыми многие порты, по которым прослушиваются обращения клиентов ко всем этим службам. Сложности возможны и с применением обновлений и исправлений. Допустим, вы решили применить обновление к одной из работающих на компьютере служб. Если это действие приведет к нежелательным последствиям, затронута будет не одна, а сразу несколько важных сетевых служб.

Виртуализация позволяет консолидировать на одном физическом компьютере несколько ролей сервера, представив их в виде самостоятельных виртуальных машин. Такой подход позволяет сократить «размножение серверов» и максимально эффективно задействовать доступное оборудование. Каждая роль при этом работает в собственной изолированной виртуальной среде, что повышает безопасность и упрощает управление. Консолидировав несколько (десятков) виртуальных машин на одном солидном комплекте серверного оборудования с отказоустойчивыми массивами RAID и компонентами, допускающими «горячую замену», можно до предела сократить возможное время простоя. Процесс переноса серверных ролей с физических компьютеров на виртуальные машины называется — консолидация серверов (server consolidation). Он, представляет собой основную причину растущей популярности виртуализации в крупных компаниях.

  • Функции высокой доступности  для приложений, не поддерживающих кластеризацию Очень часто требуется обеспечить безотказную работу того или иного приложения. Обеспечить отказоустойчивость  таких приложений, как SQL Server или Exchange Server, можно средствами кластеризации, но часто требуется обеспечить высокую доступность приложений, которые не поддерживают кластеризацию. Средствами виртуализации можно обеспечить высокую доступность целого сервера, независимо от того, какая ОС на нём работает и какие приложения под ней функционируют. Возможность автоматически определять вышедший из строя физический сервер и перемещает виртуальную машину на работающие сервера.

  • Сокращение административных издержек В сравнении с физической инфраструктурой, виртуальная инфраструктура обеспечивает целый ряд возможностей, упрощающих и ускоряющих процессы по поддержке и управлению ИТ-инфраструктурой:

    • Централизованное резервирование всех виртуальных серверов в режиме реального времени.

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

    • Быстрое развёртывание новых серверов путём простого дублирования уже развёрнутых.

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

    • Централизованный мониторинг ресурсов и загруженности серверов.

    • Возможность распределения всех ресурсов физических серверов (процессоров, памяти, дисков) между виртуальными серверами.

  • Непрерывность бизнес-операций Еще один важный стимул к внедрению виртуализации — необходимость обеспечить непрерывность ведения бизнес-операций в случае катастрофического сбоя. Восстановление важной серверной роли с архивной ленты, после того как один из ваших компьютеров вдруг задымился, — долгий и болезненный процесс, особенно когда за спиной стоит исполнительный директор компании и нервно крутит пальцами в ожидании конца вашей работы. Конечно, замечательно, если у вас в шкафу спрятан готовый сервер на замену, но такое решение стоит денег — как в смысле оборудования, так и в смысле лицензий на использование ПО.

Виртуализация и здесь придет на помощь. Гостевая (guest) ОС, работающая на виртуальной машине (ВМ), вообще говоря, не зависит от оборудования, на котором работает базовая (host) ОС. Поэтому вы с легкостью восстановите виртуальный сервер на системе, оборудование которой отлично от аппаратной комплектации «сгоревшего* компьютера. За счет облегчения процесса восстановления, благодаря виртуальным ма шинам вы сократите плановое и внеплановое время простоя и обеспечите доступность 1ажных сетевых служб.

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

  • Виртуализация в центрах данных Особое место виртуализация занимает и в центрах данных, поскольку позволяет отделить рабочую нагрузку от оборудования и тем самым обеспечить его наиболее эффективное использование. Можно оперативно распределять необходимые ресурсы для текущей рабочей нагрузки, легко масштабируя решения как в сторону расширения, так и в сторону сокращения.

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

  • Максимизация серверной работы Посредством виртуализации вы можете изолировать приложения в отдельной виртуальной машине и предотвратить эффект домино, когда сбой в одном приложении может повлечь за собой сбой в работе всех остальных приложений. Например, если в виртуальной машине происходит сбой какого-либо приложения, то это никак не влияет на работу сервера и других виртуальных машин. Еще одна причина, по которой говорят, что виртуализация улучшает общую работу сервера, — это уменьшение конфликтов на аппаратном уровне. Виртуальные машины с их программными аппаратными драйверами предлагают пользователям стабильное рабочее окружение для приложений, благодаря чему последние работают в виртуальных средах практически без сбоев.

2.2 Виртуализация серверов.


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

Основные решения в области виртуализации принадлежат следующим продуктам:

Типичные представители это продукты VmWare (ESX, Server, Workstation) и Microsoft (Hyper-V, Virtual Serer, Virtual PC).

Microsoft Hyper-V и VMware ESX являются конкурирующими продуктами, ориентирующимися на рынок систем виртуализации масштаба предприятия. В данный момент решение VMware превосходит по возможностям решение Microsoft, но тем не менее Microsoft Hyper-V обладает некоторыми преимуществами, а именно: Hyper-V бесплатен, более лёгок в настройке, а следовательно более дёшев в обслуживании; поскольку Hyper-V является ролью Windows Server 2008, то он будет работать на любом оборудовании, на котором работает Windows Server 2008, а VMware ESX построен на базе UNIX и имеет ограниченный набор драйверов и как следствие поддерживаемого оборудования.

2.2.1 Виртуализация серверов на базе VMware vSphere


VMware vSphere – представляет собой пакет программных продуктов, предназначенных для создания и функционирования систем виртуализации в масштабах предприятия. Виртуализация на базе VMware vSphere позволяет всем приложениям и серверам предприятия абстрагироваться от аппаратной платформы. Приложения и серверы не привязываются к какому-либо оборудованию. Благодаря виртуализации VMware появляется возможность функционирования множества разнородных несовместимых между собой приложений и серверов на одном и том же оборудовании одновременно. Решения на базе VMware vSphere являются основным средством виртуализации, применяемым при построении центров обработки данных (ЦОД). Основными требованиями при построении ЦОД являются: высокая плотность установки серверов, гибкость и надёжность информационных систем, высокая доступность и производительность приложений, оптимизация энергопотребления и тепловыделения.

 

 

Рис. 2.1 Виртуализация серверов на базе VmWare vSphere (VMware ESX)

2.2.2 Виртуализация серверов на базе Microsoft Hyper-V


Microsoft Hyper-V представляет собой решение для виртуализации серверов в корпоративных средах. Hyper-V является ролью 64-х битной версии Windows Server 2008. В отличие от продуктов Microsoft Virtual Server или Virtual PC, Hyper-V обеспечивает виртуализацию на аппаратном уровне, с использованием технологий виртуализации, встроенных в процессоры. Таким образом, Hyper-V обеспечивает высокую производительность, практически равную производительности одной операционной системы, работающей на выделенном сервере.

 Microsoft Hyper-V, как и VMware ESX позволяет консолидировать несколько серверов на одном физическом сервере.  Виртуализация позволяет операционным системам и приложениям абстрагироваться от физического оборудования и конфигурации серверов. Независимость операционных систем и приложений от оборудования позволяет легко осуществлять миграцию с одного физического сервера на другой. Виртуализация на базе Hyper-V позволяет избавиться от необходимости покупки большого количества серверов, для обеспечения функционирования множества операционных систем или несовместимых между собой приложений.

Возможности виртуализации Microsoft Hyper-V значительно расширяются при помощи Microsoft System Center Virtual  Machine Manager 2008 (SCVMM 2008).

SCVMM 2008 обеспечивает следующие возможности:

  • Централизованное управление серверами виртуальных машин в масштабах предприятия. SCVMM 2008 поддерживает управление серверами Microsoft Hyper-V, Microsoft Virtual Server, VMware ESX и в будущем будет реализована поддержка Xen.

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

  • Мониторинг и размещение виртуальных машин в соответствие с загруженностью физических серверов.

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

  • Миграция (конвертирование) виртуальных машин других форматов в виртуальные машины Hyper-V - технология V2V. Данная технология аналогична P2V, но при этом позволяет переносить виртуальные машины Microsoft Virtual Server или VMware ESX в Hyper-V.

  • Управление кластерами Hyper-V.

 

 



 Рис. 2.1 Виртуализация серверов на базе Microsoft Hyper-V

Кластеры Hyper-V. Hyper-V может работать в режиме кластера. Ресурсом кластера, построенного на базе Microsoft Hyper-V, является виртуальная машина. Таким образом появляется возможность обеспечить отказоустойчивость целого сервера, причём независимо от того, какие приложения или операционная система на нём работают. Такие приложения, как Microsoft Exchange Server или SQL Server сами по себе поддерживают кластеризацию (высокую доступность), но большинство приложений кластеризацию не поддерживают, именно для них можно использовать кластер виртуальных машин Hyper-V. В случае выхода из строя физического сервера с одной или более виртуальными машинами, происходит автоматических запуск виртуальных машин на оставшихся физических серверах.

Как и VMware, Hyper-V предоставляет возможность выполнения моментальных снимков (snapshots) состояния виртуального сервера, что позволяет очень быстро восстановить сервер на момент создания снимка, причём после восстановления все приложения и службы остаются запущенными и в работающем состоянии, никакая перезагрузка или повторный запуск приложений не требуется. Такие возможности не обеспечивает ни одна система резервного копирования.

2.2 Виртуализация серверов уровня операционной системы.


Виртуализация на уровне операционной системы — виртуализирует физический сервер на уровне ОС, позволяя запускать изолированные и безопасные виртуальные серверы на одном физическом сервере. Эта технология не позволяет запускать ОС с ядрами, отличными от типа ядра базовой ОС. При виртуализации на уровне операционной системы не существует отдельного слоя гипервизора. Вместо этого сама хостовая операционная система отвечает за разделение аппаратных ресурсов между несколькими виртуальными серверами и поддержку их независимости друг от друга. Основные компьютерные программы для виртуализации операционной системы:

  • Solaris Containers/Zones

  • FreeBSD Jail

  • Linux-VServer

  • FreeVPS

  • OpenVZ

  • Virtuozzo

  • VDSmanager

  • iCore Virtual Accounts


Parallels Virtuozzo Containers — занимает ведущее решение для виртуализации ОС. Имеет возможность создавать множество изолированных контейнеров на одном физическом сервере и экземпляре ОС, что обеспечивает максимально эффективное управление, допустим, датацентром.




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

Виртуализация на уровне основной операционной системы предполагает создание единого уровня распределения системных ресурсов среди всех виртуальных серверов (контейнеров). При таком подходе дополнительная нагрузка на сервер составляет всего 2%, что обеспечивает бОльшую вместимость физического сервера, максимальную производительность виртуальных серверов и уникальные возможности управления виртуальной средой. Эти возможности включают динамическое перераспределение ресурсов и создание обратных ссылок на основную операционную систему сервера, что обеспечивает максимально быстрое выполнение операций.

2.3 Виртуализация приложений.

Виртуализация приложений подразумевает эмуляцию ресурсов операционной системы (реестра, файлов, и т.д.). Данная технология позволяет использовать на одном компьютере, а точнее в одной и той же операционной системе несколько несовместимых между собой приложений одновременно. Виртуализация приложений реализуется на базе продукта Microsoft Application Virtualization (AppV). AppV позволяет пользователям запускать одно и тоже заранее сконфигурированное приложение или группу приложений с сервера. При этом приложения будут работать независимо друг от друга, не внося никаких изменений в операционную систему. Причем всё это происходит прозрачно для пользователя, как будто он работает с обычным локально-установленным приложением.

Виртуализация приложений - это тип виртуализации, при котором происходит изоляция приложения от ресурсов операционной системы.

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

 2.4 Виртуализация представлений.



Виртуализация представлений подразумевает эмуляцию интерфейса пользователя. Т.е. пользователь видит приложение и работает с ним на своём терминале, хотя на самом деле приложение выполняется на удалённом сервере, а пользователю передаётся лишь картинка удалённого приложения. В зависимости от режима работы пользователь может видеть удалённый рабочий стол и запущенное на нём приложение, либо только само окно приложения. Это реализуется на базе Microsoft Terminal Services и на базе решений Citrix.

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

Типичным представителем виртуализации представлений является служба терминалов Microsoft Terminal Services, которая появилась еще в конце 90-х годов, и изначально использовалась  для одновременного удалённого доступа к рабочему столу сервера с нескольких компьютеров. Службы терминалов постоянно совершенствовались и предлагали всё новые возможности.

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


Рис. 1.3 Виртуализация представлений

Технология виртуализации представлений даёт целый ряд преимуществ для бизнеса:

  • Сокращение затрат на приобретение рабочих станций. При использовании технологии виртуализации представлений, вместо рабочих станций могут быть закуплены дешёвые «тонкие» клиенты, которые не нужно будет ни обновлять, ни модернизировать многие годы.

  • Сокращение затрат на приобретение программного обеспечения. «Тонкие» клиенты не требуют приобретения программного обеспечения, достаточно лишь иметь лицензии на подключение к серверам терминалов, цена которых значительно меньше.

  • Сокращение затрат на обслуживание оборудования. «Тонкие» клиенты включают в себя маломощный процессор и видеокарту с пассивным охлаждением, не содержат жёсткого диска,  и поэтому не требуют никакого обслуживания.

  • Сокращение затрат на обслуживание программного обеспечения. В большинстве компаний количество системных администраторов, обслуживающих компьютеры пользователей, примерно в 10 раз больше, чем системных администраторов, обслуживающих сервера. И это естественно, т.к. число рабочих станций на порядок больше, чем серверов. При этом, у каждой рабочей станции своя операционная система и свои приложения, с которыми могут быть свои проблемы: сбой драйвера, неудачное обновление, неверные действия пользователя, действия вирусов и т.д. При использовании служб терминалов все эти проблемы практически исключаются. Требуется обслуживать только несколько серверов терминалов и только один экземпляр каждого приложения.

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

Высокая производительность и доступность. При использовании служб терминалов пользователи могут работать с ресурсоёмкими бизнес-приложениями, такими как SAP, 1С Предприятие, Oracle, Microsoft Dynamics, используя маломощные компьютеры, «тонкие» клиенты или даже нетбуки. Все вычисления происходят на мощном сервере, совсем не нагружая компьютер пользователя. Терминальный сеанс полностью независим от компьютера, с которого работает пользователь. Так, например, бухгалтер может запустить длительный процесс формирования отчетов, выключить свой компьютер и пойти домой, а дома, подключившись к своему терминальному сеансу, может посмотреть результаты и продолжить работу. Ему будет доступен тот же рабочий стол с теми же открытыми приложениями.


Рис. 2.4 Виртуализация на базе Terminal Services

Внедрение служб терминалов на базе операционной системы Windows Server 2008 R2. В новом продукте службы терминалов были переименованы в Remote Desktop Services (RDS) и функционал был значительно расширен:

  1. Появилась технология Terminal Services RemoteApp, позволяющая выводить на компьютер пользователя не весь рабочий стол удаленного сеанса, а лишь одно или несколько приложений (раньше это было возможно только с использованием решений Citrix). Теперь пользователь может просто запустить ярлычок приложения и работать с ним, как будто оно запущено локально, хотя на самом деле все вычисления по-прежнему будут выполняться на удалённом сервере.

  2. Появилась технология Remote Desktop Web Connection, позволяющая подключаться к серверу терминалов и установленным на нём приложениям при помощи WEB-браузера. При этом весь трафик передаётся через зашифрованный HTTPS канал.

  3. Появилась выделенная роль сервера Terminal Services Gateway, которая позволяет подключаться к нескольким терминальным серверам, расположенным в корпоративной сети, без использования VPN подключения.

  4. Появилась выделенная роль сервера Terminal Service Session Broker, которая позволяет балансировать нагрузку в пределах фермы терминальных серверов, объединённых в NLB-кластер.  Session Broker равномерно распределяет пользователей по группе терминальных серверов, выравнивая нагрузку.

Также Microsoft Remote Desktop Services, позволяет пользователям копировать файлы между локальным компьютером и сервером терминалов, выводить на печать документы, подключать USB устройства, слышать звук, воспроизводимый в удалённом сеансе и использовать несколько мониторов одновременно.

2.5 Виртуализация рабочих столов


Ещё одним типом виртуализации представлений является виртуализация рабочих столов. Да, у технологии служб терминалов много плюсов и достоинств, но есть и некоторые ограничения. При работе с сервером терминалов все пользователи должны работать с ограниченными правами. И поэтому они не могут сами устанавливать приложения, изменять системные параметры, устанавливать драйверы и т.д. Это связано с тем, что операционная система одна, и на неё устанавливается пакет программ, необходимых всем пользователям компании, а не кому-то лично. Но иногда некоторым пользователям требуются административные права, индивидуальный пакет приложений, или вообще другая версия операционной системы.

Именно для решения этих задач был разработан продукт Microsoft Virtual Desktop Infrastructure (VDI). Используя VDI, пользователь, так же, как и в случае работы с Terminal Services, выполняет свои приложения, используя вычислительные ресурсы сервера, видя результаты работы у себя на экране и управляя приложениями своей клавиатурой и мышью. Но, в отличие от Terminal Services, программы запускаются не в операционной системе сервера, а в отдельных, автоматически создаваемых виртуальных машинах. Таким образом, данные пользователей и работа их программ не пересекаются и не конфликтуют между собой и с операционной системой сервера.



Рис. 2.5 Виртуализация рабочих столов

Таким образом, каждый пользователь, использующий технологию Virtual Desktop Infrastructure, получает в распоряжение виртуальную машину, с которой он может делать практически всё, что захочет, так же, как если бы он работал с собственным компьютером. Но все эти виртуальные машины функционируют на сервере виртуализации.

Заключение


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

  1. Снижение затрат на оборудование. Консолидации нескольких виртуальных серверов на одном физическом сервере, виртуализация позволяет значительно сократить расходы на серверное оборудование. На одном физическом сервере могут одновременно функционировать десятки и даже сотни виртуальных серверов.

  2. Снижение затрат на программное обеспечение. Некоторые производители программного обеспечения ввели отдельные схемы лицензирования специально для виртуальных сред. Так, например, покупая одну лицензию на Microsoft Windows Server 2008 Enterprise, компании получают право одновременно её использовать на 1 физическом сервере и 4 виртуальных (в пределах одного сервера), а Windows Server 2008 Datacenter лицензируется только на количество процессоров и может использоваться одновременно на неограниченном количестве виртуальных серверов.

  3. Снижение затрат на обслуживание. Меньшее количество оборудования легче и дешевле обслуживать.

  4. Снижение затрат на электроэнергию. В среднем 70% времени сервера работают в пустую, потребляя электроэнергию и выделяя большое количества тепла. Виртуализация позволяет более эффективно использовать процессорное время и увеличить утилизацию до 90%.

  5. Увеличение гибкости инфраструктуры. Виртуализация позволяет программному обеспечению абстрагироваться от физического оборудования. Таким образом, появляется возможность миграции виртуальных машин между различными физическими серверами. Раньше при выходе сервера из строя приходилось переустанавливать ОС, восстанавливать данные из резервных копий, что занимало часы. Сейчас достаточно мигрировать виртуальную машину с одного сервера на другой, без каких-либо переустановок. Также как VmWare, так и Hyper-V предоставляют средства миграции физических машин на виртуальные.

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

Технологии виртуализации представляют собой целую концепцию, существенно изменяющую подход к ИТ-инфраструктуре и позволяющую увеличить ее эффективность и гибкость за счет одновременного запуска нескольких виртуальных систем на одной физической. На данный момент виртуализация применяется на самых различных уровнях абстракции программных и аппаратных систем, начиная от виртуализации приложений и заканчивая виртуализацией систем хранения данных (СХД).

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

  • Сложность оценки эффективности и возвращения инвестиций
    Внедрение технологий виртуализации на различных уровнях в организации представляет собой весьма сложный и трудоемкий процесс, который требует очень грамотного планирования и квалифицированного персонала. Оценить, как именно в денежном эквиваленте виртуализация принесет эффект, всегда очень сложно. Необходимо провести полную инвентаризацию и анализ существующего парка программного и аппаратного обеспечения, учесть специфику платформ виртуализации, их требования и ограничения, спланировать стратегии резервного копирования и восстановления после сбоев, наладить управление виртуальными системами и подготовить специалистов. Рынок виртуальных систем сейчас предлагает множество продуктов, которые позволяют решить все эти проблемы, однако схема их внедрения и обслуживания всегда индивидуальна для каждой организации и требует немалых затрат.

  • Надежность виртуальных систем

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

  • Безопасность виртуальных систем

Виртуализация представляет собой еще один уровень абстракции компьютерных систем, который, безусловно, является потенциальным источником угроз. Ведь платформа виртуализации является еще одним звеном в цепочке объектов, нуждающихся в защите от несанкционированного доступа. При этом получение контроля над хостовой системой сервера виртуализации означает получение доступа ко всем виртуальным системам, запущенным в ней. Этот факт заставляет уделять повышенное внимание защите серверов виртуализации. К тому же, платформа виртуализации сама представляет собой объект для внутренних и внешних атак, и ее уязвимости могут повлечь непоправимые последствия для функционирования ИТ-инфраструктуры компании. Множество уязвимостей, находимых в последнее время в платформах виртуализации, заставили заговорить всерьез о безопасности виртуальных систем как об одном из самых значимых факторов при принятии решения о внедрении виртуализации.

В последнее время безопасность является одним из ключевых факторов при принятии решения об использовании технологий виртуализации. В условиях необходимости защиты конфиденциальной информации виртуальные машины требуют повышенного внимания, хотя они и, напротив, могут использоваться для обеспечения безопасности (например, для изоляции критически важных систем друг от друга). В то же время, виртуализация сама по себе, как еще не опробованная технология, таит в себе множество опасностей. Вредоносное ПО, использующее виртуализацию, может в ближайшем будущем являться угрозой не только для организаций, но и для конечных пользователей. Поэтому при использовании виртуализации необходимо грамотно спланировать стратегию защиты виртуальной инфраструктуры. Простая развертываемость виртуальных систем требует постоянного контроля, поскольку «забытые» и необновляемые системы могут являться точкой проникновения злоумышленников во внутреннюю сеть компании. К тому же, нельзя забывать об инсайдерских угрозах - необходимо правильно разграничивать права доступа персонала к информационным ресурсам, содержащих виртуальные системы. В больших масштабах нужно использовать специализированное ПО для контроля за ИТ-инфраструктурой и средства обнаружения вторжений.

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







Список использованных источников





  1. Макин Дж. К., Десаи Анил Развертывание и настройка Windows Server® 2008. Учебный курс Microsoft / Пер. с англ. — М. : Издательство «Русская Редакция», 2008. — 640 стр.

  2. Митч Таллоч Знакомство с Windows Server 2008 / Пер. с англ. — М.: Издательство «Русская Редакция» ; СПб.: «БХВ-Петербург», 2008. — 400 стр.

  3. Виртуализация. //Журнал «Системный администратор» (Март, 2010)

  4. Технологии аппаратной виртуализации. Официальный сайт журнала «ixbt.com», 2007, http://www.ixbt.com/cm/virtualization-h.shtml

  5. Сергея Озерова и Александра Карабуто Технологии виртуализации: вчера, сегодня, завтра. // Журнал "Экспресс Электроника". -2006.

  6. Всё о виртуализации. //Сайт компании «MYadministrator», http://www.myadministrator.ru/vsyo-o-virtualizatsii.html

  7. Основы виртуализации. //Сайт компании Datasystems — Центр компетенции по ИТ-решениям, http://www.datasystems.ru/dir.php?id=1370

  8. Векипедия. Свободная энциклопедия: http://ru.wikipedia.org

  9. Parallels Virtuozzo Containersv. //Сайт компании Parallels http://www.parallels.com/ru/products/pvc45

Нравится материал? Поддержи автора!

Ещё документы из категории информатика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

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

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ