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




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

 

· цель доклада

· задачи (что такое виртуализация и зачем она нужна)

· типы виртуализации

· что было что есть и что будет на рынке виртуализации

· сравнение виртуализации линукс и виндоус

 

У пользователей Linux или Mac иногда возникает потребность в запуске программ, работающих только в Windows, а у Windows-пользователей, особенно программистов, потребность в запуске Linux или другой версии Windows.

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

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

Специальная программа (по сути тоже операционная система) — гипервизор — занимается созданием виртуальных машин и их управлением.

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

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

Типы
Для виртуализации операционных систем применяется серия подходов, которые по типу реализации подразделяются на программные и аппаратные

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

Гостевая система не зависит от архитектуры хостовой платформы и реализации платформы виртуализации.

Аппаратная виртуализация обеспечивает производительность, сравнимую с производительностью невиртуализованной машины, что дает виртуализации возможность практического использования и влечет её широкое распространение. Наиболее распространены технологии виртуализации Intel-VT и AMD-V.

Преимущества:

· Простота разработки программных платформ виртуализации, доступность аппаратных интерфейсов управления, поддержка виртуальных гостевых систем;

· Увеличение быстродействия платформ виртуализации за счет использования гипервизора;

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

· Гостевая система не привязана к архитектуре хостовой платформы. Возможен запуск 64-битных гостевых ОС на 32-битных хостовых системах.

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

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

Динамическая трансляция

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

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

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

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

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

Достоинства программной виртуализации:

· Доступность ресурсов (каталоги, принтеры и т.д.) для обеих ОС;

· Удобный интерфейс окон приложений;

· При тонкой настройке аппаратной платформы производительность мало отличается от оригинальной ОС. Переключение между системами происходит менее чем за 1 сек.;

· Простая процедура обновления гостевой ОС;

· Двухсторонняя виртуализация (приложения одной системы запускаются в другой, и наоборот).


Что было, что есть и что будет на рынке виртуализации
Термин виртуализация был придуман в 1960 году. Эта машина ibms360 была первой системой виртуализации. Работала она по принципу супервизор. В неё было загружено несколько ОС. Каждый раз, когда какая-то машина приходила к её выполнению, ОС переключала контекст, т.е. машина по очереди между разными ОС переключалась и выполняла задачу.

Виртуализация существует со времен мейнфреймов 1960-х, где работа одной программы была отделена от другой. Позднее IBM СР-40 ввел понятие гипервизора и возможность одновременного функционирования нескольких операционных систем.

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

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

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

VIRTUALBOX

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

VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.

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

Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.

VMWARE

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

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

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

QEMU
KVM
XEN

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: