Санкт-Петербург      Сервисная служба           
(812) 346-82-56               8 (800) 555-59-69

Виртуализация

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

Виртуализация рассматривается в нескольких основных контекстах:

  • §Во-первых, когда требуется использовать много типов каких-то устройств без переписывания программ, т.е. использовать некоторые унифицированные интерфейсы.
  • §Во-вторых, когда требуется объединить несколько устройств, например, несколько дисководов, который можно было бы использовать как один большой виртуальный дисковод, например, как в технологии RAID. Другой пример: когда требуется интегрировать две или больше машин так, чтобы пользователь мог воспринимать её как одну, как в кластерных решениях.
  • §В третьих, когда требуется большое по мощности (скорости, объёму) устройство разделить на несколько устройств с меньшими параметрами, но сохранив все особенности независимого устройства. Например, одну мощную машину представить как множество независимых виртуальных машин меньшей мощности, или один большой дисковод можно разделить на несколько независимых дисководов меньшей ёмкости. В обоих случаях мы получаем логически (виртуально) совершенно независимые устройства.

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

  • §виртуализация настольных машин;
  • §виртуализация серверов;
  • §виртуализация кластеров.

Рассмотрим эти аспекты виртуализации чуть подробнее.

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


Виртуализация серверов весьма актуальна для ЦОДов. Содержание заключается в следующем. Постоянно растущие со временем единичные мощности компьютерных серверов не всегда оказываются востребованными в конкретных ситуациях. Например, если вам требуется организовать средний мейл-сервер на пару сотен человек или небольшой сервер LDAP, то часто можно видеть, что современное оборудование практически не загружено данными задачами: машина просто простаивает. С другой стороны просто устанавливать такой сервер на компьютер, где уже поддерживается масса других сервисов не всегда оправданно. С точки зрения простоты обслуживания удобно иметь один сервис на отдельной машине. В таком случае удобнее использовать технологию виртуальных серверов. Имеется возможность создать виртуальную машину с заданными параметрами для использования, например, сервисом LDAP. Заметим, что реализация технологии виртуальных машин предполагает практически полную независимость одной виртуальной машины от другой. Тогда созданную новую машину с сервисом LDAP можно запустить почти на любом физическом сервере, который имеется в ЦОД. Если физический сервер, на котором выполнялась виртуальная машина с сервисом LDAP, вышел из строя, то виртуальная машина с сервисом LDAP может быть перезапущен на другом физическом сервере.

Иными словами, если у вас имеется множество сервисов (сотни) и немало физических машин, то вы сможете разместить несколько виртуальных машин в каком-то смысле оптимальным образом, чтобы минимизировать объём оборудования.

Можно также изменять конфигурацию (число используемых физических машин и/или распределение виртуальных машин по физическим машинам) в зависимости от реальной нагрузки и степени использования конкретных сервисов.

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

Примеры предлагаемых решений виртуализации серверов: одной из наиболее продвинутых компаний в области виртуализации серверов является Oracle (бывшая Sun Microsystems). Компания предлагает решения на базе Open Solaris и Linux. В частности, для Open Solaris имеются решения в виде:

  • §Solaris containers. Контейнеры (другое название zones) представляют собой средства виртуализации, которая обеспечивается самой операционной системой. При этом создаётся полная иллюзия нескольких отдельных хостов со своим IP (вернее отдельных операционных систем). Естественно, что только один тип операционной системы может рассматриваться при данном способе виртуализации – Solaris. [http://www.sun.com/bigadmin/content/zones/]
  • §Solaris xVM. С этим средством обеспечивает так называемая паравиртуализация, при которой гостевая операционная система должна быть специальным образом приготовлена  [http://www.sun.com/software/products/xvmserver]
  • §Sun xVM Virtual Box. Это средство обеспечивает полную виртуализацию, если используются современные микропроцессоры такие как Intel VT или AMD-V [http://www.sun.com/software/products/virtualbox/perspectives.jsp].

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

Такие возможности имеются в настоящее время в виде совместной инициативы компаний Sun Microsystems и Amazon - Amazon Elastic ComputeCloud (Amazon EC2) - эластичное вычислительное облако