Виртуализация платформ (программная виртуализация)

Автор: Пользователь скрыл имя, 07 Мая 2012 в 20:51, реферат

Краткое описание

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

Файлы: 1 файл

виртуализация (доклад).docx

— 198.90 Кб (Скачать)
 

 

       

       Введение

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

       Понятие виртуализации условно можно  разделить на две категории:

  • виртуализация платформ (программная виртуализация). Продуктом этого вида виртуализации являются виртуальные машины – некие программные абстракции, запускаемые на платформе реальных аппаратно-программных систем.
  • виртуализация ресурсов (аппаратная виртуализация). Данный вид виртуализации преследует своей целью комбинирование или упрощение представления аппаратных ресурсов для пользователя и получение неких пользовательских абстракций оборудования, пространств имен, сетей и т.п.

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

       Виды  виртуализации представлены на рисунке 1 
 
 
 
 
 
 
 
 
 
 
 
 
 

       Рисунок 1 – Виды виртуализации

         
 
 
 
 
 
 
 

       
  1. Виртуализация платформ (программная виртуализация)

       Под виртуализацией платформ понимают создание программных систем на основе существующих аппаратно-программных комплексов, зависящих или независящих от них. Система, предоставляющая аппаратные ресурсы и программное обеспечение, называется хостовой (host), а симулируемые ей системы – гостевыми (guest). Для того чтобы гостевые системы могли стабильно функционировать на платформе хостовой системы, необходимо чтобы программное и аппаратное обеспечение хоста было достаточно надежным и предоставляло необходимый набор интерфейсов для доступа к его ресурсам. Есть несколько видов виртуализации платформ, в каждом из которых осуществляется свой подход к понятию «виртуализация». Виды виртуализации платформ зависят от того, насколько полно осуществляется симуляция аппаратного обеспечения. 

       
    1. Полная  эмуляция (симуляция).

       При таком виде виртуализации виртуальная  машина полностью виртуализует все  аппаратное обеспечение при сохранении гостевой операционной системы в  неизменном виде. Такой подход позволяет  эмулировать различные аппаратные архитектуры. К примеру, можно запускать  виртуальные машины с гостевыми  системами для x86-процессоров на платформах с другой архитектурой (например, на RISC-серверах компании Sun). Долгое время такой вид виртуализации использовался для того, чтобы разрабатывать программное обеспечение для новых процессоров еще до того, как они были физически доступны. Такие эмуляторы также применяют для низкоуровневой отладки операционных систем. Основной минус данного подхода заключается в том, что эмулируемое аппаратное обеспечение весьма и весьма существенно замедляет быстродействие гостевой системы, что делает работу с ней очень неудобной, поэтому, кроме как для разработки системного программного обеспечения, а также образовательных целей, такой подход мало где используется. Примеры продуктов для создания эмуляторов: Bochs, PearPC, QEMU (без ускорения), Hercules Emulator. 

       
    1. Частичная эмуляция (нативная виртуализация).

       В этом случае виртуальная машина виртуализует лишь необходимое количество аппаратного  обеспечения для того, чтобы она  могла быть запущена изолированно. Такой подход позволяет запускать  гостевые операционные системы, разработанные  только для той же архитектуры, что  и у хоста. Таким образом, несколько  экземпляров гостевых систем могут  быть запущены одновременно. Этот вид  виртуализации позволяет существенно  увеличить быстродействие гостевых систем по сравнению с полной эмуляцией  и широко используется в настоящее  время. Также, в целях повышения  быстродействия, в платформах виртуализации, использующих данный подход, применяется  специальная «прослойка» между  гостевой операционной системой и оборудованием (гипервизор), позволяющая гостевой системе напрямую обращаться к ресурсам аппаратного обеспечения. Гипервизор, называемый также «Монитор виртуальных машин» (Virtual Machine Monitor) - одно из ключевых понятий в мире виртуализации. Применение гипервизора, являющегося связующим звеном между гостевыми системами и аппаратурой, существенно увеличивает быстродействие платформы, приближая его к быстродействию физической платформы. К минусам данного вида виртуализации можно отнести зависимость виртуальных машин от архитектуры аппаратной платформы. Примеры продуктов для нативной виртуализации: VMware Workstation, VMware Server, VMware ESXi Server, Virtual Iron, Hyper-V, VirtualBox, Parallels Desktop и другие. 

       
    1. Частичная виртуализация, а также «виртуализация адресного пространства» («address space virtualization»).

       При таком подходе, виртуальная машина симулирует несколько экземпляров  аппаратного окружения (но не всего), в частности пространства адресов. Такой вид виртуализации позволяет  совместно использовать ресурсы  и изолировать процессы, но не позволяет  разделять экземпляры гостевых операционных систем. Строго говоря, при таком  виде виртуализации пользователем  не создаются виртуальные машины, а происходит изоляция каких-либо процессов  на уровне операционной системы. В данный момент многие из известных операционных систем используют такой подход. Примером может послужить использование  UML (User-mode Linux), в котором «гостевое» ядро запускается в пользовательском пространстве базового ядра (в его контексте).  

       
    1. Паравиртуализация.

       При применении паравиртуализации нет  необходимости симулировать аппаратное обеспечение, однако, вместо этого (или  в дополнение к этому), используется специальный программный интерфейс (API) для взаимодействия с гостевой операционной системой. Такой подход требует модификации кода гостевой системы, что с точки зрения сообщества Open Source не так уж и критично. Системы для паравиртуализации также имеют свой гипервизор, а API-вызовы к гостевой системе, называются «hypercalls» (гипервызовы). Многие сомневаются в перспективах этого подхода виртуализации, поскольку в данный момент все решения производителей аппаратного обеспечения в отношении виртуализации направлены на системы с нативной виртуализацией, а поддержку паравиртуализации приходиться искать у производителей операционных систем, которые слабо верят в возможности предлагаемого им средства. В настоящее время провайдерами паравиртуализации являются компании XenSource и Virtual Iron, утверждающие, что быстродействие паравиртуализации выше. 

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

       Сутью данного вида виртуализации является виртуализация физического сервера  на уровне операционной системы в  целях создания нескольких защищенных виртуализованных серверов на одном  физическом. Гостевая система, в данном случае, разделяет использование  одного ядра хостовой операционной системы  с другими гостевыми системами. Виртуальная машина представляет собой  окружение для приложений, запускаемых  изолированно. Данный тип виртуализации  применяется при организации  систем хостинга, когда в рамках одного экземпляра ядра требуется поддерживать несколько виртуальных серверов клиентов. Примеры виртуализации уровня ОС: Linux-VServer, Virtuozzo, OpenVZ, Solaris Containers и FreeBSD Jails. 

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

       Этот  вид виртуализации не похож на все остальные: если в предыдущих случаях создаются виртуальные  среды или виртуальные машины, использующиеся для изоляции приложений, то в данном случае само приложение помещается в контейнер с необходимыми элементами для своей работы: файлами  реестра, конфигурационными файлами, пользовательскими и системными объектами. В результате получается приложение, не требующее установки  на аналогичной платформе. При переносе такого приложения на другую машину и  его запуске, виртуальное окружение, созданное для программы, разрешает  конфликты между ней и операционной системой, а также другими приложениями. Такой способ виртуализации похож  на поведение интерпретаторов различных  языков программирования (не даром интерпретатор, Виртуальная Машина Java (JVM), тоже попадает в эту категорию). Примером такого подхода служат: Thinstall, Altiris, Trigence, Softricity. 
 

       
  1. Виртуализация ресурсов (аппаратная виртуализация).

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

       
    1. Объединение, агрегация и концентрация компонентов.

       Под таким видом виртуализации ресурсов понимается организация нескольких физических или логических объектов в пулы ресурсов (группы), представляющих удобные интерфейсы пользователю. Примеры  такого вида виртуализации:

  • многопроцессорные системы, представляющиеся нам как одна мощная система;
  • RAID-массивы и средства управления томами, комбинирующие несколько физических дисков в один логический;
  • виртуализация систем хранения, используемая при построении сетей хранения данных SAN (Storage Area Network);
  • виртуальные частные сети (VPN) и трансляция сетевых адресов (NAT), позволяющие создавать виртуальные пространства сетевых адресов и имен.
 
       
    1. Кластеризация компьютеров и распределенные вычисления (grid computing).

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

       
    1. Разделение  ресурсов (partitioning).

       При разделении ресурсов в процессе виртуализации  происходит разделение какого-либо одного большого ресурса на несколько однотипных объектов, удобных для использования. В сетях хранения данных это называется зонированием ресурсов («zoning»). 

       
    1. Инкапсуляция.

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

       
  1. Применение виртуализации

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

       
    1. Консолидация  серверов.

       В данный момент приложения, работающие на серверах в IT-инфраструктуре компаний, создают небольшую нагрузку на аппаратные ресурсы серверов (в среднем 5-15 процентов). Виртуализация позволяет мигрировать с этих физических серверов на виртуальные и разместить их все на одном физическом сервере, увеличив его загрузку до 60-80 процентов и повысив тем самым коэффициент использования аппаратуры, что позволяет существенно сэкономить на аппаратуре, обслуживании и электроэнергии. 

       
    1. Разработка  и тестирование приложений.

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

       
    1. Использование в бизнесе.

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

       
    1. Использование виртуальных рабочих станций.

       Создав однажды виртуальную машину со своей рабочей или домашней средой, можно будет использовать её на любом другом компьютере. Также можно использовать готовые шаблоны виртуальных машин (Virtual Appliances), которые решают определенную задачу (например, сервер приложений). Концепция такого использования виртуальных рабочих станций может быть реализована на основе хост-серверов для запуска на них перемещаемых десктопов пользователей (нечто подобное мэйнфреймам). В дальнейшем эти десктопы пользователь может забрать с собой, не синхронизируя данные с ноутбуком. Этот вариант использования также предоставляет возможность создания защищенных пользовательских рабочих станций, которые могут быть использованы, к примеру, для демонстрации возможностей программы заказчику. Можно ограничить время использования виртуальной машины – и по прошествии этого времени виртуальная машина перестанет запускаться.

       Все перечисленные варианты использования  виртуальных машин фактически являются лишь сферами их применения в данный момент. 

       
  1. Достоинства и недостатки виртуализации.
    1. Достоинства виртуализации:
  • Экономия на аппаратном обеспечении при консолидации серверов;
  • Возможность поддержания старых операционных систем в целях обеспечения совместимости;
  • Возможность изолировать потенциально опасные окружения. Такую изолированную среду называют также «песочницей» (sandbox);
  • Возможность создания требуемых аппаратных конфигураций;
  • Виртуальные машины могут создавать представления устройств, которых физически нет в системе, это необходимо для создания различного рода симуляций;
  • На одном хосте может быть запущено одновременно несколько виртуальных машин, объединенных в виртуальную сеть;
  • Возможность быстрого восстановления;
  • Виртуальные машины повышают мобильность;
  • Виртуальные машины могут быть организованы в «пакеты приложений»;
  • Виртуальные машины более управляемы.

Информация о работе Виртуализация платформ (программная виртуализация)