Преимущества и недостатки виртуальных машин кратко

Обновлено: 04.07.2024

Что такое виртуальная машина

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

  • Хост-машина или хост: наш компьютер и основная операционная система.
  • Гостевая машина или гость: виртуальная машина как таковая, работающая поверх хоста.

Гипервизор, двигатель ВМ

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

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

Когда использовать виртуальные машины

Есть много причин, почему мы должны использовать виртуальные машины. Одним из наиболее распространенных является тестировать новые операционные системы без необходимости переделывать наш компьютер. Мы можем протестировать любой дистрибутив Linux внутри виртуальной машины и использовать его программы, как если бы он был установлен на нашем реальном ПК. Мы также можем использовать эти виртуальные машины для тестирования macOS без необходимости покупать Мак. Мы также можем установить инсайдерские версии Windows 10, чтобы протестировать новые функции Microsoft операционная система раньше всех.

Еще одно очень частое использование виртуальных машин в безопасно повторно использовать старые операционные системы , Мы можем оглянуться назад и установить Windows XP на наш компьютер, и даже вернуться еще больше, до Windows 98 или 3.1. Мы также можем установить MS-DOS, FreeDOS и другие подобные системы. Зачем это делать? Очень просто, чтобы иметь возможность перезапускать старые приложения и игры, которые с текущими операционными системами не работают.

Также можно использовать эти виртуальные машины для тестировать ненадежные программы и конфигурации , Если программа сломает Windows или установит вирус, это повлияет только на виртуальную машину, и наш хост-компьютер продолжит работать безопасно и без проблем. Это поможет нам не испортить наш компьютер время от времени, и позволит нам сэкономить время, не отформатируя и не настраивая Windows 10 с нуля. Кроме того, благодаря снимкам и функциям клонирования виртуальных машин, мы сможем отменить изменения и конфигурации за считанные секунды, всегда имея готовые виртуальные машины.

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

Недостатки виртуальных машин

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

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

Требования к использованию виртуальных машин

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

Лучшее, что нужно сделать, чтобы создать виртуальную машину, это, во-первых, иметь процессор среднего или высокого класса (Intel i5 или выше) с инструкциями по виртуализации. Также рекомендуется иметь достаточно оперативной памяти, чтобы виртуальная машина могла работать без проблем, и, кроме того, чтобы наша хост-операционная система не исчерпывала память. 8 Гб оперативной памяти может быть достаточно для нормальной работы виртуальных машин (даже Windows 10, использующих 4 ГБ памяти) и для хост-системы, чтобы иметь достаточно памяти для продолжения работы. Нам нужно жесткий диск для хранить виртуальные жесткие диски, которые мы создаем для этих виртуальных машин. Если у нас есть SSD, производительность будет намного выше, чем при использовании обычного жесткого диска.

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

Программы (или гипервизоры) для создания виртуальной машины

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

Hyper-v

Hyper-V - это гипервизор Microsoft, включенный в Windows, особенно в профессиональных версиях, таких как Windows 10 Pro. Этот гипервизор специализируется на эмуляции других версий Windows, но не отличается простотой или интуитивностью использования.

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

VMware

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

VMware Workstation Pro

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

VirtualBox

Не в последнюю очередь, у нас есть VirtualКоробка , Основное отличие этой программы от предыдущих заключается в том, что она абсолютно бесплатна для всех пользователей и с открытым исходным кодом. Также мы можем найти его для Windows, Linux и macOS.

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

Как установить операционную систему и программы на виртуальную машину

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

Виртуальная машина загрузится, POST и загрузит мастер установки операционной системы. Мы должны следовать мастеру установки до конца, как если бы мы установили его на любом физическом ПК, чтобы Windows, Linux или macOS были установлены и готовы к работе. После перезапуска виртуальной машины операционная система будет установлена ​​и будет полностью функциональной. Хотя нам, возможно, придется установить VMware Tools или VirtualBox Guest Additions, чтобы они работали на полную мощность.

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


report this ad


report this ad

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

Концепция виртуализации ИТ - инфраструктуры

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

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

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

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

Преимущества использования виртуальных машин

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

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

Недостатки использования виртуальных машин

Несмотря на то, что большая часть недостатков виртуальных машин разрешима, нельзя не упомянуть о них:

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

Типы виртуализации.

Рассмотрим основные типы виртуализации различных компонент ИТ - инфраструктуры.

Является наиболее распространенной в данный момент формой виртуализации. Виртуальная операционная система (виртуальная машина) представляет собой, как правило, совмещение нескольких операционных систем, функционирующих на одной аппаратной основе. Каждая из виртуальных машин управляется отдельно при помощи VMM ( Virtual Machine Manager). Лидерами в области поставок решений для виртуализации информационных систем являются Microsoft, AMD , Intel и VMware.

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

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

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

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

В свою очередь делится на два типа: виртуализацию блоков и виртуализацию файлов.

Виртуализация файлов, как правило используется в системах хранения, при этом ведутся записи о том, какие файлы и каталоги находятся на определенных носителях. Виртуализация файлов отделяет статичный указатель нахождения виртуального файла ( C:\ , к примеру) от его физического местоположения. Т.е. при запросе пользователем файла C:\file.doc решение виртуализации файлов отправит запрос к месту реального размещения файла.

Виртуализация блоков. Используется в сетях распределенного хранения данных. Сервера - хранилища данных используют RAID - технологию. iSCSI интерфейс также использует блочную виртуализацию, позволяя операционной системе распределить виртуальное блочное устройство . Более подробную информацию о виртуализации систем хранения см. в п.№4 списка источников для самостоятельного изучения.

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

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

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

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

Виртуализация серверов. Сравнительное описание подходов.

Существует два основных подхода к виртуализации серверов: на одном сервере (на базе хоста), либо виртуализация операционной системы. Особенности подходов приведены ниже.

Виртуализация на базе хоста, или полная виртуализация , обладает следующими особенностями:

  • возможность консолидации унаследованных серверов.
  • не поддерживается изоляция аппаратных средств.
  • при интенсивных вычислительных операциях производительность заметно падает.

Виртуализация на базе хоста, или паравиртуализация, обладает следующими особенностями :

  • ограниченная поддержка ОС.
  • не поддерживает поддержку унаследованных ОС.

Особенности виртуализации на базе хоста, или аппаратной виртуализации :

  • реализация требует аппаратного обеспечения, поддерживающего Intel VT или AMD -V.
  • сетевые и дисковые операции ввода\вывода осуществляются, практически, с эффективностью, обеспечиваемой исходным оборудованием.

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

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

Сценарии применения решений виртуализации

Рассмотрим типовые решения использования серверной виртуализации:

  1. Консолидация. Виртуализация позволяет снизить количество физических серверов, а соответственно, и издержки на их техническое обслуживание. Кроме того, это ведет к упрощению ИТ - инфраструктуры, а значит к ее большей управляемости и гибкости.
  2. Тестирование и разработка. Как уже отмечалось ранее, использование решений виртуализации позволяет ИТ - администраторам в короткие сроки разворачивать макет ИТ - инфраструктуры для целей тестирования. При чем это не потребует приобретения дополнительного оборудования, или перестройки уже имеющейся и функционирующей на предприятии ИТ - инфраструктуры.
  3. Центр обработки данных. Виртуализация серверов позволяет обеспечить высокую степень адаптивности ИТ - инфраструктуры к меняющимся требованиям бизнеса. Благодаря возможности переноса виртуальных машин с одного сервера на другой, можно осуществлять динамическую балансировку нагрузки
  4. Обеспечение отказоустойчивости сервисов. В случае сбоя физического сервера, обеспечивающего доступность и работоспособность сервисов посредством виртуальных машин, эти машины могут быть оперативно перенесены на базу другого физического сервера. Таким образом, время простоя сервисов из - за неисправностей, и по иным причинам, минимально.

Виртуализация рабочих станций

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

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

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

Преимущества решений виртуализации для бизнеса

Учитывая все вышесказанное можно выделить ряд положительных, с точки зрения бизнеса, моментов, обеспечиваемых использованием решений виртуализации:

  1. обеспечение SMP - совместного использования пула ресурсов несколькими приложениями одновременно.
  2. живая миграция - приложение может быть перенесено с одной группы ресурсов на другую без приостановления его функционирования.
  3. оперативное развертывание дополнительных рабочих станций и серверов для тестирования, отладки и обновления имеющихся решений.
  4. возможность добавлять и изымать ИТ - ресурсы из пула без необходимости остановки работ.
  5. повышение устойчивости приложений.
  6. балансировка используемых ресурсов.
  7. сокращение энергопотребления за счет оптимизации, используемых ресурсов

Термины

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

Консолидация приложений - процесс размещения нескольких приложений на одном физическом сервере (хосте).

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

VMM ( Virtual Machine Manager ) - тип приложений, разработанный для управления виртуальными машинами.

Полная виртуализация - технология полного симулирования базового оборудования.

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

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

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

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

Краткие итоги

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

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

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

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

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

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

Что такое виртуальная машина?

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

Принцип работы виртуализации

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

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

Существует два основных типа гипервизоров.

Гипервизоры 1 типа работают непосредственно на физическом оборудовании (обычно сервере), заменяя собой ОС. Для создания виртуальных машин и управления ими через гипервизор, как правило, используется отдельный программный продукт. Некоторые инструменты управления, например VMware vSphere, предоставляют возможность выбора гостевой ОС для установки на виртуальную машину.

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

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

Полный обзор гипервизоров приведен в документе Гипервизоры: полное руководство.

Достоинства и преимущества виртуальных машин

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

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

Примеры использования виртуальных машин

Существует несколько сфер применения виртуальных машин для ИТ-администраторов предприятий и для конечных пользователей. Вот некоторые из них:

  • Облачные вычисления: за последние десять с лишним лет виртуальные машины превратились в базовый компонент облачных вычислений и обеспечили возможность успешного выполнения и масштабирования десятков разных типов приложений и задач.
  • Поддержка DevOps: виртуальные машины прекрасно подходят разработчикам на предприятиях благодаря возможности настраивать шаблоны виртуальных машин с учетом внутренних процессов разработки и тестирования ПО. Разработчики могут создавать виртуальные машины для конкретных задач, например статических тестов ПО, включая автоматизированные процессы разработки с такими этапами. Все это помогает упростить конвейер DevOps.
  • Тестирование новых операционных систем: новые операционные системы можно тестировать на обычных рабочих станциях, не заменяя их основную ОС.
  • Исследование вредоносного кода: виртуальные машины активно применяются исследователями вредоносных программ, которым часто нужны свежие машины для тестирования вредоносных программ.
  • Запуск несовместимого программного обеспечения: зачастую пользователи предпочитают определенную ОС, но для работы им нужна программа, доступная только для других операционных систем. В качестве примера можно привести программное обеспечение Dragon с функциями голосовой диктовки. Компания Nuance, производитель этого продукта, прекратила поддержку macOS. Однако проблему можно решить следующим образом: гипервизор для рабочего стола, например VMware Fusion или Parallels, позволяет запустить Windows в виртуальной машине, обеспечив доступ к нужной версии ПО.
  • Безопасный просмотр веб-сайтов: виртуальные машины позволяют посещать веб-сайты, не опасаясь подхватить вирус. Можно создать моментальный снимок системы и выполнять откат после каждой сессии работы в Интернете. Любой пользователь может самостоятельно настроить эту функцию с помощью гипервизора 2 типа. Либо же администратор может предоставить временный виртуальный рабочий стол на сервере.

Типы виртуальных машин

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

  • Виртуальные машины Windows
  • Виртуальные машины Android
  • Виртуальные машины Mac
  • Виртуальные машины iOS
  • Виртуальные машины Java
  • Виртуальные машины Python
  • Виртуальные машины Linux
  • Виртуальные машины VMware
  • Виртуальные машины Ubuntu

Виртуальные машины Windows

Большинство гипервизоров поддерживают виртуальные машины, работающие в ОС Windows как гостевые системы. Гипервизор Microsoft Hyper-V входит в состав операционной системы Windows. Во время установки он создает родительский раздел, содержащий сам гипервизор и основную ОС Windows, которые обладают привилегированным доступом к аппаратному обеспечению. Другие операционные системы, включая гостевые системы Windows, выполняются в дочерних разделах, взаимодействующих с аппаратным обеспечением через родительский раздел.

Виртуальные машины Android

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

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

В некоторых проектах, например Shashlik или Genymotion, используется эмулятор, который воссоздает архитектуру ARM в программном обеспечении. Альтернативный проект Android-x86 переносит Android на архитектуру x86. Для ее запуска необходимо установить программу Android-x86 в качестве виртуальной машины с использованием гипервизора VirtualBox 2 типа. Еще одно альтернативное решение, Anbox, запускает операционную систему Android в ядре ОС Linux хоста.

Виртуальные машины Mac

ОС macOS от Apple может работать исключительно на оборудовании Apple; лицензионное соглашение с конечным пользователем запрещает запускать macOS на оборудовании других производителей как виртуальную машину или иным способом. Для создания виртуальных машин с гостевой ОС macOS можно использовать гипервизоры 2 типа на базе оборудования Mac.

Виртуальные машины iOS

На сегодняшний день невозможно запустить iOS в виртуальной машине, поскольку Apple разрешает запускать ОС iOS исключительно на устройствах iOS и строго контролирует свой продукт.

Ближайшее к виртуальной машине iOS решение — эмулятор iPhone, который поставляется вместе с интегрированной средой разработки Xcode, имитирующей всю систему iPhone в программном обеспечении.

Виртуальные машины Java

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

Поэтому JVM не запускает ОС целиком и не использует гипервизор, как другие виртуальные машины. Вместо этого она преобразует программы прикладного уровня для работы на определенном оборудовании.

Более подробная информация о Java приведена в документе Java: полное руководство.

Виртуальные машины Python

Виртуальная машина Python, как и JVM, не запускает гипервизор и не включает гостевую ОС. Этот инструмент обеспечивает возможность выполнения программ на языке программирования Python на множестве различных ЦП.

Аналогично Java, Python преобразует программы в промежуточный формат (байтовый код) и хранит его в исполняемом файле. При запуске программы виртуальная машина Python преобразует байтовый код в машинный код для быстрого выполнения.

Виртуальные машины Linux

Виртуальные машины VMware

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

Виртуальные машины Ubuntu

Ubuntu — дистрибутив Linux, разработанный компанией Canonical. Он доступен в двух версиях — для ПК и сервера — с возможностью установки в виде виртуальной машины. Ubuntu можно развернуть как гостевую ОС в Microsoft Hyper-V. Он предоставляет оптимизированную версию Ubuntu Desktop, которая отлично работает в расширенном режиме Hyper-V (Enhanced Session Mode), обеспечивая тесную интеграцию между хостом Windows и виртуальной машиной Ubuntu. Кроме того, поддерживаются следующие возможности: интеграция буфера обмена, динамическое изменение размера рабочего стола, общие папки и перемещение указателя мыши между рабочим столом хоста и гостевой системы.

Сравнение моделей с одним и несколькими арендаторами

В средах облачных вычислений виртуальные машины обычно доступны в двух вариантах — с одним и несколькими арендаторами.

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

Виртуальные машины с одним арендатором доступны в двух вариантах — выделенные хосты и выделенные экземпляры.

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

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

Модели ценообразования для виртуальных машин

К самым распространенным моделям ценообразования для виртуальных машин в облаке относятся: оплата за фактическое использование (в час или секунду), временные/оперативные экземпляры, зарезервированные экземпляры и выделенные хосты.

Сравнение виртуальных машин и физических серверов

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

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

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

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

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

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

Сравнение виртуальных машин и контейнеров

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

Вместо виртуализации базового оборудования контейнеры виртуализируют операционную систему (обычно Linux), т. е. каждый отдельный контейнер содержит только приложение, его библиотеки и зависимости. Легкость, высокая скорость и переносимость контейнеров объясняется именно отсутствием гостевой ОС.

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

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

Более подробная информация приведена в статье блога Сравнение контейнеров и виртуальных машин: в чем отличия?

В следующем видеоролике Сай Веннам подробно разбирает основные принципы контейнеризации и ее отличия от виртуальных машин (8:09):

Стратегия выбора поставщика виртуальных машин

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

Виртуальные машины и IBM Cloud

IBM Cloud предлагает для работы с виртуальными машинами различные конфигурации как относительно технических возможностей, так и с точки зрения ценообразования. Технический профиль виртуальной машины можно выбрать, исходя из ваших требований к вычислительной мощности, памяти, объему локального хранилища, возможностям GPU, т. е. настроить систему для своих конкретных задач. Кроме того, для управления виртуальными машинами VMware можно использовать решения IBM Cloud for VMware.

В зависимости от нормативных требований и требований к безопасности можно выбрать общедоступный или частный узел. Частная среда с одним арендатором может быть размещена на выделенном хосте, выбранном вами из более чем 60 ЦОД IBM в 19 странах по всему миру.

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

Для просмотра дополнительных сведений посетите страницу IBM Cloud и создайте IBMid.

Что такое виртуальная машина и зачем она нужна

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

Что такое виртуальная машина?

Виртуальная машина (ВМ, VM) – это виртуальная среда, работающая как настоящий компьютер, но внутри другого компьютера. Если выражаться проще, то это приложение, которое имитирует компьютер с полноценной операционной системой и аппаратным обеспечением.

Ubuntu, запущенная в виртуальной машине на Windows

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

Как работают виртуальные машины?

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

Типы виртуальных машин

Также ВМ иногда делят на категории по типу виртуализации:

Аппаратная виртуализация. Когда ВМ взаимодействует с физическим оборудованием ПК.

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

Зачем нужны ВМ?

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

Интерфейс программы VirtualBox

Некоторые разработчики используют ВМ в утилитарных целях, чтобы проверять работоспособность своих проектов. А кто-то таким образом знакомится с новыми для себя операционными системами. Впрочем, обо всем подробнее.

Тестирование ПО

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

Разработка в безопасной среде

Иногда вести разработку на хостовой операционной системе небезопасно. Из-за прямого подключения к корпоративной сети, из-за активности других приложений либо из-за непредсказуемого поведения написанного кода.

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

Виртуальную машину можно лишить доступа к некоторым компонентам ПК или к сети.

Знакомство и работа с новыми ОС

Используя ВМ, можно из праздного интереса установить на ПК какой-нибудь дистрибутив Linux или другую ОС. Неплохой вариант для тех, кто ничем кроме Windows не пользовался и хочет узнать, как там поживают пользователи Linux.

Еще один распространенный сценарий – установка Windows параллельно с macOS в качестве виртуальной машины, чтобы пользоваться эксклюзивными для системы Microsoft продуктами.

Развертывание дополнительных инстансов приложения

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

Размещение ПО на удаленных серверах

Технологии виртуализации используются на хостинговых платформах. Например, VDS (или VPS) – это Virtual Dedicated Server, то есть виртуальный сервер, имитирующий реальное железо.

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

VDS Timeweb арендовать

Преимущества ВМ

Исходя из описанных выше сценариев применения, можно вывести три основных преимущества виртуальных машин над реальным аппаратным обеспечением:

Несколько виртуальных машин, запущенных параллельно

ВМ можно установить на любой компьютер. ВМ поддерживают любые ОС, поэтому можно сэкономить окружающее пространство, деньги на покупку дополнительного оборудования и время на установку и настройку компьютеров.

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

ВМ легче перезапустить/перенастроить и заново вернуть к работе в случае форс-мажора.

Недостатки ВМ

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

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

Сравнение контейнеров с виртуальными машинами

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

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

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

Лучшие программы для создания и настройки ВМ

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

Их довольно много, но мы рассмотрим лишь несколько ключевых, использующихся чаще всего.

VirtualBox

Бесплатный продукт компании Oracle, позволяющий создавать ВМ на Windows, macOS и Linux. VirtualBox не обладает высокой производительностью и функционально отстает от конкурентов, но это та цена, которую необходимо заплатить за безвозмездное использование программы.

Ограничений по выбору ОС для запуска в VirtualBox почти нет. Можно найти образ практически любой операционной системы и спокойной установить ее в ВМ. Это касается даже проприетарных разработок компании Apple (но не всех; некоторые современные версии macOS все еще не поддерживаются).

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

VMWare Workstation

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

Из важных преимуществ VMWare Workstation стоит выделить поддержку Windows Hyper-V и кластеров Kubernetes. Первое позитивно сказывается на совместимости различных видов оборудования с системами, установленными в ВМ. Второе – позволяет создавать контейнеры и управлять ими из командной строки Windows и Linux.

Стандартная версия VMWare Workstation обойдется примерно в 15 тысяч рублей. Есть бесплатный тестовый период. Можно опробовать все функции утилиты в течение 30 дней.

Parallels Desktop

Лучшая утилита для создания и настройки ВМ на компьютерах Apple. Parallels Desktop – самый быстрый и эффективный способ запустить Windows или отдельные приложения для Windows в macOS.

Из важных плюсов PD стоит выделить тесную интеграцию с компонентами Windows. Можно запускать отдельные win-приложения в графической среде macOS, будто это нативные программы, а не утилиты из виртуальной машины.

Базовая лицензия Parallels Desktop стоит 4788 рублей.

Microsoft Hyper-V

Microsoft Hyper-V – это встроенная в Windows технология виртуализации, объединенная с одноименным приложением для создания новых ВМ и работы с ними.

Для активации Hyper-V нужно установить последнюю версию Windows 10 Pro, а затем прописать в консоли Power Shell команду для активации технологии виртуализации.

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

Виртуальная машина с Windows 10

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

Кроссплатформенный и быстрый эмулятор для запуска виртуальных машин. С помощью QEMU можно запускать Windows параллельно с Ubuntu или Fedora параллельно с macOS.

Также QEMU можно задействовать для виртуализации на серверных ПК. Поддерживается KVM-виртуализация для развертывания на удаленном компьютере сразу нескольких VDS.

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

Как настроить виртуальную машину?

Процесс настройки зависит от выбранного инструмента для создания ВМ. Почти всегда процесс упирается в выбор образа гостевой системы и установку параметров аппаратного обеспечения. Многие инструменты предлагают опции для быстрого запуска ВМ. Такие есть в VMWare Workstation, Parallels и Hyper-V.

Немного сложнее устроена программа QEMU. О том, как ее настроить, мы писали ранее.

Самый простой способ:

Заходим на сайт Oracle.

Скачиваем и устанавливаем VirtualBox.

Загружаем образ системы, которую нужно установить в ВМ (в формате ISO).

Теперь с виртуальной системой можно работать, как с настоящей.

Вместо заключения

На этом все. Теперь вы знаете, что такое виртуальная машина и какие задачи она помогает решить. Но что еще важнее, теперь вы можете сами создать ВМ!

Читайте также: