Лабораторная работа 1

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

Теоретический материал

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

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

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

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

ВМ имеют указанные ниже характеристики, которые обеспечивают ряд преимуществ.

  • Разделение:

    • Выполнение нескольких операционных систем на одном физическом компьютере;
    • Разделение системных ресурсов между виртуальными машинами;
  • Изоляция:

    • Изоляция неисправностей и нарушений системы безопасности на аппаратном уровне;
    • Сохранение уровня производительности с помощью расширенных средств управления ресурсами;
  • Инкапсуляция:

    • Полное сохранение состояния виртуальной машины в виде файлов;
    • Перемещение и копирование виртуальных машин аналогичны операциям с файлами;
  • Независимость от оборудования:

    • Инициализация и перенос любой виртуальной машины на любой физический сервер.

Виртуализация делится на три типа:

  1. Виртуализация представлений;
  2. Виртуализация приложений;
  3. Виртуализация серверов (оборудования).

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

Подобное выполнение приложений на общем сервере имеет следующие преимущества:

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

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

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

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

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

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

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

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

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

Гипервизор — программа или аппаратная схема, обеспечивающая или позволяющая одновременное, параллельное выполнение нескольких операционных систем на одном и том же хост-компьютере. Гипервизор также обеспечивает изоляцию операционных систем друг от друга, защиту и безопасность, разделение ресурсов между различными запущенными ОС и управление ресурсами.

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

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

Задание

  1. Разобраться в теоретической части.
  2. Установить Virtual Box.
  3. Установить операционную систему Ubuntu в Virtual Box. Процесс установки Ubuntu в Virtual Box подробно описан по ссылке: http:\/\/ru.wikihow.com\/установить-Ubuntu-в-VirtualBox.
  4. Имя пользователя системы Ubuntu должно быть составлено из первой буквы имени и фамилии студента латиницей. Например, ipetrov для студента Ивана Петрова.

Контрольные вопросы

  1. Что такое виртуализация?
  2. Типы виртуализации. Достоинства и недостатки каждого типа.
  3. Что такое гипервизор?

Источники

  1. Виртуализация (https:\/\/ru.wikipedia.org\/wiki\/Виртуализация)
  2. Александр Косивченко. "Зачем же нужна виртуализация?" (http:\/\/habrahabr.ru\/post\/91503\/)
  3. Основы виртуализации (http:\/\/www.vmware.com\/ru\/virtualization\/how-it-works)

results matching ""

    No results matching ""