Слово «виртуальный» с момента появления компьютеров в домашнем использовании начало звучать повсеместно. Существует такое понятие как «виртуализация». Информация об этом пригодится всем, кто планирует работать за компьютером.
В данной статье будет рассказано о том, что собой представляет виртуальная среда. Постараемся разобраться с виртуализацией и ее особенностями. Также будут приведены примеры решений для реализации упомянутого процесса. Данные пригодятся не только специалистам, но и опытным ПК-пользователям.
Определение
В Google виртуализация – это представление набора вычислительных ресурсов или их логического объединение, абстрагированное от аппаратной реализации, а также обеспечивающее логическую изоляцию друг от друга вычислительных процессом, выполняемых на одном и том же физическом устройстве (носителе).
Система виртуализации – это специальная среда на оборудовании (пример – в операционной системе Windows), которая позволяет запустить изолированно какой-нибудь процесс. Пример – это активация нескольких ОС на одном компьютере.
При помощи рассматриваемой операции можно не устанавливать непосредственно две операционные системы на один ПК, создавать загрузчик, а затем запускать каждую из них поочередно.
Google указывает на то, что продуктом системы виртуализации становится что-то, что очень удобно использовать, но на самом деле обладающее весьма сложную структуру. Последняя будет отличаться от той, которая воспринимается при работе с объектом. В процессе воплощения рассматриваемой процедуры происходит отделение представления от непосредственной реализации чего-либо.
В информационных технологиях, как говорит Google, системы виртуализации – это некая абстракция вычислительных ресурсов и предоставление клиенту системы, которая инкапсулирует (скрывает в себе) собственную реализацию. Пользователь будет работать с удобным представлением объекта, не углубляясь в реальный его состав.
Историческая справка
Впервые термин «виртуализация» в IT появился в 60-х годах 20-го века. Его начали использовать с термином «виртуальная машина». Это некий продукт виртуализации программно-аппаратной платформой. Ранее он назывался «псевдо машиной».
До начала 90-х для виртуализации использовалось устройство IBM серии System 360/370. После этого история, согласно Google, стала более насыщенной:
- В 1997 году появилась первая Virtual PC для Macintosh. Эта виртуальная средства была разработана компанией Connectix.
- Через год VMware создает собственные виртуализационные системы. Сейчас данная организация выкуплена EMC.
- Ближе к 2000-м годам рассматриваемое понятие получило широкое распространение. Трактовка термина «виртуализация» стала меняться в зависимости от ситуации.
Google указывает на то, что в 21 веке существуют различные виды виртуализации. От них зависит значение изучаемого понятия.
Разновидности
В мире информационных технологий поддерживается условная классификация virtualization. Она включает в себя две фундаментальные концепции, которые принципиально различаются друг с другом:
- Виртуализация платформ. Она называется программной. Продуктом выступают виртуальные машины – это абстракции, запускаемые на реальной платформе.
- Виртуализации ресурсов. Google называет данный подход аппаратным. Он преследует две цели – комбинирование или упрощение представления аппаратных устройств для пользователя.
Далее каждый вариант будет изучен более детально. Это поможет понять все особенности и истинное предназначение виртуальной среды.
Платформенный тип
Технология виртуализации платформ – это создание программных систем на базе уже существующих устройств. Они могут как зависеть, так и не зависеть от «главного» оборудования.
Рекомендуется запомнить следующее:
- Система, которая предоставляет аппаратные ресурсы и программное обеспечение – это хост (host).
- Симулируемые системы – гостевые (guest).
- Для стабильного функционирования «гостей» на хостовой системе, нужно, чтобы программное и аппаратное обеспечение host было надежным, а также предоставляло необходимый набор интерфейсов для доступа к ресурсам.
Существуют несколько видов виртуализации платформ, каждая из которых предусматривает собственные концепции к трактовке изучаемого понятия. Далее представлены существующие виды виртуализации платформ.
Полная эмуляция (симуляция)
Google указывает на то, что в данном случае виртуальная машина полностью виртуализирует все аппаратное обеспечение при сохранении гостевой операционной системы в неизменной форме. Подход позволяет эмулировать разнообразные аппаратные архитектуры.
Такой прием использовался долгое время для того, чтобы разрабатывать ПО для новых процессоров заблаговременно – до того, как они становились доступными в физическом плане. Соответствующие эмуляторы, согласно Google, применяют при низкоуровневой отладке операционный систем.
Ключевой недостаток полной эмуляции – это то, что эмулированное ПО сильно замедляет быстродействие «гостя», что делает работу неудобной. Из-за этого концепция используется для образовательных целей, а также при разработке системного программного обеспечения.
Частичная эмуляция
Google называет ее нативной виртуализацией. При ней виртуальная машина виртуализирует исключительно ограниченное количество программного обеспечения. Столько, чтобы можно было запустить ее изолированно.
Концепция дает возможность запуска гостевых операционных систем, разработанных только для той же архитектуры, что и у «хоста». Это приводит к тому, что одновременно допускается запуск нескольких экземпляров гостевых систем.
Данный вид выделяется следующими моментами:
- Позволяет сильно увеличить быстродействие «гостей» в сравнении с полной эмуляции. Концепция применяется достаточно широко.
- Между «гостем» и оборудованием применяется специальная «прослойка». Она, согласно Google, называется гипервизором. Позволяет «гостю» напрямую обращаться к ресурсам «главного» устройства.
- Гипервизор – это монитор виртуальных машин. Понятие, которое является ключевым в мире виртуализационных процессов. Его применение обеспечивает быстродействие платформы. То, что сэмулировано, будет работать почти так же быстро, как и в физической форме.
Недостаток тут один – это зависимость виртуальной машины от архитектуры аппаратной платформы.
Частичная виртуализация
Это – виртуализация адресного пространства. Google говорит о том, что при таком подходе виртуальная машина симулирует несколько экземпляров аппаратного окружения, делая акцент на адресах. Концепция дает возможность совместного использования ресурсов и изоляции процессов. Разделять экземпляры гостевые ОС не получится.
В Google частичная виртуализация описывается как то, что при ее применении пользователь не будет создавать виртуальные машины. На уровне ОС будут происходить изоляционные процессы. Они и отвечают за реализацию процедуры.
Пример из современных технологий – это UML (для Linux). В нем «гостевое» ядро будет запускаться в пользовательском пространстве базового ядра.
Паравиртуализация
Google предписывает, что при такой концепции симулировать ПО нет никакой необходимости. Вместо этого (или дополнительно) будет применять специальный аппаратный интерфейс. В Google он описывается как API. Этот интерфейс нужен для того, чтобы взаимодействовать с гостевой ОС.
Здесь рекомендуется обратить внимание на следующие моменты:
- Подход требует модификации кода «гостя».
- Паравиртуализационные системы обладают собственным гипервизором. API-вызовы, если верить Google и иным поисковикам, будут называться гипервызовами или hypercalls.
- Используется концепция редко.
Дальнейшее будущее данной концепции находится под вопросом. Ее пример – продукты от Virtual Iron.
Уровень ОС
Google говорит о том, что суть соответствующего подхода заключается в виртуализации физического сервера на уровне операционной системы для создания нескольких защищенных виртуализированных сервером на одном физическом носителе. «Гость» здесь будет делить использование одного ядра «хоста» с себе подобными. Виртуальная машина – это среда для приложений, запускаемых изолированно. Применяется концепция при организации «хостинга» тогда, когда для одного экземпляра ядра нужно вести поддержку нескольких виртуальных клиентских серверов.
Уровень приложений
В Google указало, но этот вид виртуализации на предыдущие не похож. Здесь само приложение размещается в контейнере с необходимыми для дальнейшего функционирования ресурсами:
- реестровыми файлами;
- конфигурационными документами;
- пользовательскими и системными объектами.
Результат – это приложение, которое не требует непосредственной инициализации на аналогичной платформе. При переносе с одной машины на другую, а также во время запуска, виртуальная среда решит конфликты с ОС и иными программами. Концепция напоминает поведение интерпретаторов разных языков разработки.
Ресурсный тип
Google указывает на наличие нескольких глобальных типов виртуализации. Первый – платформенный, второй – ресурсный. Программный тип – это возможность рассмотрения виртуализации в узком смысле, в основном применяя понятие к процессу формирования виртуальных машин. Но в более широком смысле подходит именно ресурсный вид. Он дает возможность работать с сетью, хранилищем данных, а также пространством имен. Тоже бывает нескольких видов.
Объединение и концентрация
Google указывает на то, что первый тип ресурсной виртуализации – это объединение, агрегация и концентрация элементов. Здесь принято понимать организацию нескольких логических или физических объектов в ресурсные пулы (своеобразные группы). Они представляют собой удобные интерфейсы пользователям.
Примеры:
- многопроцессорные системы, которые предстают перед клиентов в виде единого целого, более мощного и производительного;
- системы хранения, которые используются для формирования сетей хранения информации SAN;
- частные виртуальные сети (VPN), а также трансляция сетевых адресов.
При помощи последний можно создавать разнообразные пространства сетевых имен и адресов. Очень полезно при работе в интернете.
Кластеризация
Кластеризация компьютеров и распределенные вычисления – это техники, которые применяются для объединения множества ПК. Вследствие проведенной операции получаются глобальные системы – метакомпьютеры. Они помогают в решении общей сложной изначально поставленной задачи.
Распределение ресурсов
В процессе осуществляется деление одного большого ресурса на несколько однотипных объектов. Google предписывает «дробление» на такие части, которые клиенту будет легко использовать. В сетях хранения информации соответствующий процесс носит название zoning. Это – зонирование ресурсов.
Инкапсуляция
Пользоваться Google для расшифровки подобного понятия не рекомендуется. Связано это с тем, что инкапсуляция тесно связана с разработкой программного обеспечения. Она включает в себя сокрытие объектом собственной реализации.
В плане виртуализации – это процесс формирования и выпуска продукта, который предоставляет клиенту удобный интерфейс для дальнейшей работы. Особенностью операции является то, что сложности и подробности реализации будут скрыты. Пример – это применение центральным процессором кэша в целях ускорения вычислений. На внешних интерфейсах подобная операция никак не отражается.
Для чего нужна
Виртуализация имеет несколько целей:
- Финансовая выгода. Использование виртуальной среды при наличии достаточного количества ресурсов – это меньше затрат. На одном физическом сервере появляется возможность разворачивания нескольких контейнеров с желаемыми ресурсами.
- Высокий уровень безопасности. Виртуализация изолирует виртуальные машины друг от друга. ПО одного сервера никак не будет затрагивать приложения на другом.
- Универсальность. Перенести виртуальные машины с одного физического сервера на другой намного проще, чем менять оборудование. Это относится также к созданию резервных копий.
- Гибкость. Любые ресурсы, выделенные при виртуализации, клиент сможет урезать или увеличить. Также можно с легкостью создавать и удалять серверы, отключать какие-то из них. Оставшиеся серверы будут функционировать стабильно и исправно.
Сфер применения у виртуализации тоже несколько:
- Серверная консолидация.
- Разработка и тестирование приложений. За счет большинства продуктов виртуализации, если верить Google, можно запускать несколько ОС на одном устройстве. Этот подход пригодится тем, кто разрабатывает и тестирует ПО на разных платформах и при различных конфигурациях.
- Бизнес. Самый творческий и обширный подход. Сюда можно отнести все, что относится к IT-ресурсам в бизнесе. Пример – создание резервных копий рабочих серверов и станций, настройка систем восстановления. Это – бизнес-решения, использующие ключевые преимущества виртуальных машин.
- Виртуальные рабочие станции. С одной виртуальной машиной можно настроить ее использование на любом другом компьютере, создавать шаблоны VM для решения определенных задач.
Это – ключевые области применения виртуальных машин (VM). Далее будут представлены самые популярные системы для реализации рассмотренной концепции.
Передовые системы для серверов
Google поможет найти системы для того, чтобы виртуализировать то или иное ПО. Каждая предусматривает свои ключевые особенности и нюансы. Рассмотрим наиболее распространенные «среды» у современных разработчиков и администраторов.
OpenVZ
Работает на Linux. Пользуется спросом у хостинг-провайдеров, которые предлагают дешевые тарифы виртуальных серверов. Неплохой вариант для обучения. Ресурсы здесь распределяются неравномерно. Это приводит к повышению нагрузки на сервер, а также к его достаточно медленной работе.
Virtuozzo
Еще один вариант для программной виртуализации. Google говорит, что она запускается на Linux. Это – коммерческая версия и более стабильный и эффективный аналог предыдущего ПО. Недорогой и стабильный. Несмотря на это, быстродействием полученные системы не отличаются. Недостатки у Virtuozzo точно такие же, как и у OpenVZ.
KVM
Используется для аппаратной виртуализации в Linux. Она обеспечивает:
- регулярные и качественные обновления;
- стабильную работу;
- широкую поддержку у хостинг-провайдеров.
Чтобы KVM работала стабильно, нужно дополнительно обеспечить на сервере центральный процессор с поддержкой виртуализации. Это – средства, которая даст полноценно выделить ресурсы для виртуальной машины.
Hyper-V
В Google можно увидеть все преимущества этого ПО. Оно относится к аппаратной виртуализации. Согласно Google, Hyper-V базируется на серверах Windows. Отлично работает с продукцией Microsoft. Применяется преимущественно при хостинге платформ Windows. Применяется для виртуализации облачной платформы Azure.
Виртуализацию операционных систем, а также иных элементов компьютеров провести в домашних условиях не слишком трудно. В этом поможет Google – там полно полезной информации. Но для того, чтобы работать с серверами, а также грамотно оперировать виртуализацией, необходимо получить более глубокие знания. Пример – закончив дистанционные онлайн-курсы. На них пользователя с нуля научат виртуализации, а в конце выдадут электронный сертификат, подтверждающий приобретенные умения.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!