Выясняем, что представляют собой виртуальные машины, как ими пользоваться и зачем они вообще нужны.
Что такое виртуальная машина?
Виртуальная машина (ВМ, VM) – это виртуальная среда, работающая как настоящий компьютер, но внутри другого компьютера. Если выражаться проще, то это приложение, которое имитирует компьютер с полноценной операционной системой и аппаратным обеспечением.
Она запускается на изолированном разделе жесткого диска, установленного в компьютере-хосте (так называют системы, в рамках которых запускают ВМ). Благодаря виртуальным машинам пользователи могут тестировать программное обеспечение в различных окружениях (системах, конфигурациях и т.п.) на своем ПК без необходимости запускать и настраивать отдельное устройство.
Как работают виртуальные машины?
Определение виртуальной машины дает базовое понимание того, как все устроено, но мы пойдем чуть дальше. Запуск VM возможен благодаря технологии виртуализации. Она позволяет использовать существующее «железо» для создания его виртуальных копий. Виртуализация имитирует аппаратное обеспечение в цифровом виде для запуска нескольких полноценных операционных систем на одном компьютере поочередно или одновременно. Физическое «железо» в этом случае называется хостом, а виртуальное – гостевой ОС.
Весь процесс управляется приложением, которое называют гипервизором. Гипервизор отвечает за распределение физических ресурсов между виртуальными системами, выделении определенного количества оперативной памяти или пространства на жестком диске. Также он контролирует все процессы, запущенные в гостевых ОС, чтобы не произошло избыточной нагрузки и сбоев в работе систем из-за нехватки ресурсов.
Основные термины и их понимание
Прежде чем идти дальше, стоит изучить основные термины, которые применяются в области виртуализации. Так вы сможете лучше ориентироваться в сущности этой технологии и процессов, которые происходят при ее использовании.
- Виртуальная машина (VM) – конечно, это самый базовый термин. Он используется для обозначения эмулятора компьютера, который работает внутри другого реального компьютера.
- Хостовая система (Host System) – это настоящий компьютер, на котором запускаются виртуальные машины.
- Гостевая система (Guest System) – это виртуальная машина, запущенная на хостовой системе.
- Гипервизор (Hypervisor) – это программа или служба, которая отвечает за создание, управление и обслуживание виртуальных машин.
- Виртуализация (Virtualization) – это процесс создания виртуальной версии чего-либо. Например, аппаратных ресурсов, устройств хранения, сетевых ресурсов, операционных систем и т. д.
- Аппаратная виртуализация (Hardware Virtualization) – это процесс виртуализации аппаратных ресурсов компьютера. То есть гипервизор эмулирует физические ресурсы (например, процессор, память, диск, сеть), чтобы создать виртуальную машину.
- Программная виртуализация (Software Virtualization) – это тип виртуализации, где виртуальная машина интерпретирует инструкции аппаратного обеспечения и преобразует их в инструкции для физического аппаратного обеспечения хостовой системы.
- Виртуализация накопителей (Storage Virtualization) – это процесс объединения физического дискового пространства из нескольких сетевых накопителей и представления их в качестве единого управляемого пространства.
- Виртуализация сети (Network Virtualization) – это процесс объединения ресурсов сети и аппаратных средств в единую программную сеть.
- Виртуализация уровня ОС – это метод виртуализации, где ядро операционной системы поддерживает несколько изолированных экземпляров пользовательского пространства, а не только одно.
- Паравиртуализация – это тип виртуализации, при котором гостевая операционная система подвергается незначительной модификации перед установкой внутри ВМ. В итоге все гостевые ОС в системе будут более эффективно использовать ресурсы.
- Снимок состояния (Snapshot) – это сохраненное состояние виртуальной машины в определенный момент времени. Он позволяет быстро возвращаться к этому состоянию при необходимости.
- Холодная миграция – это процесс переноса виртуальной машины с одного хоста на другой, когда виртуальная машина выключена.
- Горячая миграция (Live Migration) – это процесс перемещения работающей виртуальной машины с одного хоста на другой без значительного прерывания работы.
- Кластеризация – это синхронизация группы серверов таким образом, чтобы они работали как единая система. Такая технология часто используется для обеспечения непрерывности обслуживания и балансировки нагрузки.
- Песочница (Sandbox) – это изолированная среда, в которой программы или файлы могут быть запущены без риска для окружающей среды. Ее можно запустить как на физическом компьютере, так и внутри ВМ.
Каждая из этих концепций играет свою роль в общем процессе работы виртуальных машин, и знание этих терминов поможет вам лучше понять, как именно функционирует виртуализация. При более углубленном изучении темы появляется множество других терминов.
Типы виртуальных машин
По типу ВМ делятся на виртуализацию процесса и виртуализацию ОС. В первом случае виртуальная машина отвечает только за работу конкретного приложения/процесса. По такому принципу работает язык программирования Java. Утилиты, написанные на нем, запускаются только в специальных виртуальных машинах – «прослойках» между аппаратной частью ПК и непосредственно приложением. Во втором случае речь идет об эмуляции полноценной системы.
Также ВМ иногда делят на категории по типу виртуализации:
-
Аппаратная виртуализация. Когда ВМ взаимодействует с физическим оборудованием ПК.
-
Программная. Когда виртуальная машина генерирует «новый ПК» на уровне ПО и использует его для запуска других систем.
Также есть виртуализация накопителей (когда несколько физических хранилищ данных объединяются в одно) и сети (когда несколько физически разных сетей формируют одну виртуальную).
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Зачем нужны ВМ?
Виртуальные машины используются в бизнес-среде. Разработка большого количества сервисов сейчас не обходится без ВМ или контейнеров. Разработчики используют их, чтобы гарантировать легкую расширяемость продукта и высокую производительность независимо от количества пользователей.
Некоторые разработчики используют ВМ в утилитарных целях, чтобы проверять работоспособность своих проектов. А кто-то таким образом знакомится с новыми для себя операционными системами. Впрочем, обо всем подробнее.
Тестирование ПО
Благодаря виртуальным машинам, можно тестировать написанный код в различных операционных системах и графических средах, не используя для этого отдельные компьютеры.
Можно запустить на одном ПК несколько ВМ параллельно и запускать в них разрабатываемое приложение. С помощью виртуальных машин можно создать несколько «цифровых компьютеров» с различными характеристиками, чтобы узнать, как ваша программа/сервис будет работать на более слабых устройствах.
Разработка в безопасной среде
Иногда вести разработку на хостовой операционной системе небезопасно. Из-за прямого подключения к корпоративной сети, из-за активности других приложений либо из-за непредсказуемого поведения написанного кода.
Поэтому можно быстро и дешево (или даже бесплатно) организовать безопасную рабочую среду, где можно тестировать любой код, не переживая, что он как-то навредит основной системе или к нему кто-то получит доступ извне.
Виртуальную машину можно лишить доступа к некоторым компонентам ПК или к сети.
Знакомство и работа с новыми ОС
Используя ВМ, можно из праздного интереса установить на ПК какой-нибудь дистрибутив Linux или другую ОС. Неплохой вариант для тех, кто ничем кроме Windows не пользовался и хочет узнать, как там поживают пользователи Linux.
Еще один распространенный сценарий – установка Windows параллельно с macOS в качестве виртуальной машины, чтобы пользоваться эксклюзивными для системы Microsoft продуктами.
Развертывание дополнительных инстансов приложения
Виртуальные машины можно использовать для параллельного запуска нескольких инстансов (то есть действующих копий) одной программы. Это может быть полезно как на этапах тестирования, так и после запуска какого-либо онлайн-сервиса. По такому принципу (если говорить совсем уж обобщенно и абстрактно) работают контейнеры Docker.
Размещение ПО на удаленных серверах
Технологии виртуализации используются на хостинговых платформах. Например, VDS (или VPS) – это Virtual Dedicated Server, то есть виртуальный сервер, имитирующий реальное железо.
На одном физическом сервере несколько VDS запускаются параллельно и работают как отдельные компьютеры для вебмастеров, заплативших за услуги хостинг-провайдера.
Виртуальные машины и контейнеры: в чем разница?
Виртуальные машины и контейнеры – это две смежные технологии, но каждая из них обладает своими особенностями. Они обе предлагают гибкие пути для разработки, развертывания и управления приложениями, но используют разные подходы. И чтобы применять их с максимальной эффективностью, нужно понимать основные различия между ними.
Отличия ВМ
Виртуальная машина содержит свою собственную операционную систему (ОС) и ресурсы, а также имитирует аппаратное обеспечение хоста. Каждая ВМ работает на своем собственном ядре ОС и имеет собственный набор приложений, библиотек и компонентов.
Виртуализация позволяет создать множество изолированных и независимых ВМ на одном физическом сервере, увеличивая эффективность использования ресурсов.
Отличия контейнеров
Контейнеры – это легковесная альтернатива виртуальным машинам. Они представляют собой изолированные среды, которые могут запускать приложения и их компоненты.
В отличие от ВМ, контейнеры не включают в себя полную ОС. Вместо этого они используют ядро хост-системы и изолируют работу программ на уровне процессов. То есть контейнер содержит только приложение и его компоненты.
Контейнеры «упаковывают» программный код и создают неизменяемую среду, которую можно переносить на другие серверы или облачные платформы. А при необходимости можно создать точную копию этой же среды, чтобы быстро развертывать и тестировать свои приложения в идентичных условиях.
Виртуальные машины vs Контейнеры
Сравнивая ВМ и контейнеры, стоит обратить внимание на следующие характеристики:
- Изоляция ресурсов. Виртуальная машина обеспечивает полную изоляцию, так как она имеет собственную операционную систему, сетевые интерфейсы и IP-адреса. Это дает возможность использовать разные ОС на одном физическом сервере или выполнять приложения, которые требуют повышенного уровня безопасности. С другой стороны, контейнеры используют ядро ОС хоста, обеспечивая изоляцию на уровне процессов.
- Ресурсные требования. Виртуальные машины потребляют больше ресурсов, которые нужны для корректной работы собственной ОС и системных процессов. Контейнеры являются более «легкими», так как использование ядра хост-системы требует меньше ресурсов.
- Переносимость. Виртуальные машины можно переносить между серверами, но это требует значительных ресурсов, поскольку они включают в себя полную ОС. Контейнер с приложением проще перенести с одной системы на другую без необходимости в дополнительной настройке. Поэтому они обладают улучшенной портативностью.
- Время запуска. ВМ требует времени для загрузки полной ОС и всех процессов. Контейнеры запускаются почти мгновенно, поскольку они используют ядро хост-системы.
- Управление. Виртуальные машины обычно требуют сложного управления, включая обновление и настройку ОС. Контейнеры, в свою очередь, предлагают более простые и гибкие возможности управления.
- Масштабируемость. Виртуальные машины обладают низкой масштабируемостью из-за больших затрат времени на их создание и удаление. Контейнеры обычно более масштабируемы, поскольку они могут быть быстро созданы и уничтожены, что обеспечивает высокую гибкость при изменении нагрузки.
- Безопасность. Виртуальные машины обеспечивают высокий уровень изоляции и безопасности в определенных сценариях, особенно когда используются разные операционные системы. Контейнеры при изоляции на уровне процесса разделяют ядро ОС, что может представлять потенциальные риски безопасности.
В итоге выбор между виртуальными машинами и контейнерами зависит от конкретных требований и сценариев использования. ВМ могут быть более подходящими для приложений с высокими требованиями к безопасности и изоляции, тогда как контейнеры предлагают большую эффективность, переносимость и скорость для развертывания и запуска приложений.
Облачные вычисления и виртуальные машины
Облачные вычисления – это модель предоставления IT-услуг, при которой пользователи получают через интернет необходимые сервисы.
Например:
- хранение информации;
- серверы;
- базы данных;
- сетевые компоненты;
- программное обеспечение;
- аналитику;
- и прочие.
Виртуальные машины играют ключевую роль в сфере облачных вычислений. Их часто используют в качестве удаленных серверов, которые предоставляются клиентам.
Облачные провайдеры применяют виртуализацию, чтобы увеличить эффективность использования собственных ресурсов. Для этого создаются «облачные виртуальные машины», которые позволяют клиентам получить доступ к вычислительным мощностям удаленного сервера. Такой сервис может пригодиться в тех ситуациях, когда локальный компьютер пользователя имеет низкую мощность, а ему нужно запустить ресурсное приложение.
Виртуальные машины можно использовать во всех основных моделях предоставления услуг облачных вычислений:
- Infrastructure as a Service (IaaS). Пользователи могут арендовать виртуальные машины, серверы, сетевое оборудование и прочие ресурсы. Это дает клиентам максимальную гибкость и контроль, позволяя им управлять своими системами и приложениями на высоком уровне.
- Platform as a Service (PaaS). Провайдеры предоставляют разработчикам среду для проектирования, тестирования, развертывания и обслуживания своего программного обеспечения. Это открывает большие возможности для создания и интеграции приложений без необходимости заботиться о поддержке инфраструктуры.
- Software as a Service (SaaS). Клиенты могут использовать необходимые приложения через интернет, тем самым оптимизировать свою работу. Такие приложения работают на облачных виртуальных машинах, которые могут быстро масштабироваться в зависимости от потребностей.
При этом облачные виртуальные машины предлагают высокую степень масштабируемости. Пользователи могут быстро и легко добавлять больше ВМ по мере необходимости. Этот вариант является оптимальным для бизнеса, который быстро развивается или имеет периодические пики спроса.
Кроме того, облачные виртуальные машины помогают в обеспечении надежности и безопасности. К их важным функциям можно отнести резервное копирование, восстановление данных и высокую доступность.
Преимущества ВМ
Исходя из описанных выше сценариев применения, можно вывести три основных преимущества виртуальных машин над реальным аппаратным обеспечением:
-
ВМ можно установить на любой компьютер. ВМ поддерживают любые ОС, поэтому можно сэкономить окружающее пространство, деньги на покупку дополнительного оборудования и время на установку и настройку компьютеров.
-
На виртуальные машины можно устанавливать устаревшие операционные системы, поддерживающие разного рода архаичное программное обеспечение. Не придется содержать устаревшие компьютеры для их запуска и использования.
-
ВМ легче перезапустить/перенастроить и заново вернуть к работе в случае форс-мажора.
Недостатки ВМ
Из минусов виртуальных машин обычно выделяют два наиболее значимых. Во-первых, стабильность. Большое количество виртуальных машин, запущенных на одном устройстве, могут привести к снижению стабильности и скорости работы основной операционной системы. Хост-компьютер должен соответствовать высоким системным требованиям, что может дорого стоить и ограничивать пользователей в выборе форм-фактора устройства.
Во-вторых, производительность. Даже на мощных ПК виртуальные машины работают ощутимо медленнее, чем хост-система. Нет полноценного контакта ПО с аппаратным обеспечением. Поэтому заставить работать приложения в ВМ так же быстро, как на стандартной ОС, не получится.
Сравнение контейнеров с виртуальными машинами
Принципиальное отличие контейнеров от ВМ заключается в масштабе. Виртуальные машины имитируют полноценный ПК. В них устанавливается система для решения задач пользователя. Контейнеры созданы для изолированного запуска единичных приложений и зависимых компонентов, необходимых для запуска и работы этого приложения.
Контейнеры легче как в плане физического размера, так и в плане скорости освоения. Настроить контейнеры для решения задач бизнеса проще, а возможность взаимодействовать напрямую с ядром системы позволяет загружать изолированные программы быстрее.
Виртуальные же машины куда функциональнее и позволяют запускать в отдельном программном окружении большое количество систем, программ и т.п.
Лучшие программы для создания и настройки ВМ
Чтобы начать работу с виртуальными машинами, нужна специальная программа. Это инструмент, задействующий системные технологии виртуализации, чтобы использовать аппаратное обеспечение хост-системы для запуска дополнительных ОС в изолированном программном пространстве.
Их довольно много, но мы рассмотрим лишь несколько ключевых, использующихся чаще всего.
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 есть функция автоматической загрузки, установки и настройки ВМ. Нужно просто указать нужную ОС (на выбор есть Windows, Debian, Fedora, Ubuntu, Android и т.п.) и нажать на кнопку «Установить».
Базовая лицензия Parallels Desktop стоит 4788 рублей.
Microsoft Hyper-V
Microsoft Hyper-V – это встроенная в Windows технология виртуализации, объединенная с одноименным приложением для создания новых ВМ и работы с ними.
Для активации Hyper-V нужно установить последнюю версию Windows 10 Pro, а затем прописать в консоли Power Shell команду для активации технологии виртуализации.
Здесь, как и в случае с Parallels, есть функция быстрого создания виртуальных машин. Можно выбрать одну из предложенных систем (Windows, Ubuntu) или установить систему на выбор, загрузив подходящий образ из сети.
Плюсы Hyper-V кроются в тесной интеграции оного с другими компонентами Windows и аппаратным обеспечением компьютера. Это положительно сказывается на стабильности и производительности виртуальных машин.
QEMU
Кроссплатформенный и быстрый эмулятор для запуска виртуальных машин. С помощью QEMU можно запускать Windows параллельно с Ubuntu или Fedora параллельно с macOS.
Также QEMU можно задействовать для виртуализации на серверных ПК. Поддерживается KVM-виртуализация для развертывания на удаленном компьютере сразу нескольких VDS.
Главное преимущество QEMU – высокая производительность. Разработчики обещают скорость работы гостевых ОС на уровне хост-систем.
KVM
Kernel-based Virtual Machine – это технология виртуализации на уровне центрального ядра для операционной системы Linux. Она позволяет ядру работать в качестве гипервизора, который управляет виртуальными машинами.
Используя KVM, можно создавать, запускать, останавливать и приостанавливать виртуальные машины, а также управлять их ресурсами и мониторить работу. При необходимости можно запускать несколько ВМ с различными операционными системами на одном хосте. Каждая из них будет иметь собственную виртуализированную аппаратную платформу: процессор, память, диски, сетевые адаптеры и прочее. Соответственно, KVM требует, чтобы процессор хоста поддерживал аппаратную виртуализацию (технологии Intel VT или AMD-V).
KVM не является отдельной самостоятельной программой. Это модуль (расширение) Linux, который обеспечивает функциональность виртуализации. Он может быть включен в любой совместимой версии ОС и становится доступным при установке соответствующих пакетов или модулей.
Учитывая, что KVM является частью операционной системы Linux, он бесплатно распространяется под лицензией GPL (General Public License), которая разрешает свободное использование, копирование и изменение программного обеспечения.
Стоит отметить, что существуют платные инструменты и утилиты, которые могут быть использованы вместе с KVM. Например, платформа Red Hat Virtualization включает в себя KVM, но предлагает дополнительные функции и коммерческую поддержку.
Docker
Docker – это открытая платформа от компании Docker Inc. для разработки, доставки и эксплуатации приложений в контейнерах. Она позволяет автоматизировать процесс развертывания приложений и предоставляет средства для их управления и масштабирования.
Для создания контейнеров Docker использует механизмы ядра Linux (cgroups и namespaces). Такие контейнеры работают на одном ядре, но каждый из них имеет свою файловую систему и сетевые интерфейсы, что обеспечивает изоляцию приложений. Эта концепция позволяет более эффективно использовать ресурсы по сравнению с традиционными виртуальными машинами.
Для описания контейнеров используется Dockerfile, в котором указывается необходимая информация:
- основной образ (например, операционная система);
- необходимые компоненты;
- параметры конфигурации;
- команды, которые нужно выполнить при запуске контейнера.
При необходимости Docker можно установить внутри виртуальной машины и в ней же запускать контейнеры. Такой подход часто используют разработчики и облачные сервисы.
Существует также инструмент под названием Docker Machine, который может автоматизировать процесс создания виртуальных машин и установки Docker на них.
Его можно использовать для:
- управления несколькими удаленными виртуальными машинами;
- запуска Docker контейнеров внутри ВМ.
Таким образом, Docker не создает виртуальные машины сам по себе. Но его можно интегрировать с ВМ, чтобы создать гибкую и мощную платформу для разработки, доставки и запуска приложений.
Как настроить виртуальную машину?
Процесс настройки зависит от выбранного инструмента для создания ВМ. Почти всегда процесс упирается в выбор образа гостевой системы и установку параметров аппаратного обеспечения. Многие инструменты предлагают опции для быстрого запуска ВМ. Такие есть в VMWare Workstation, Parallels и Hyper-V.
Немного сложнее устроена программа QEMU. О том, как ее настроить, мы писали ранее.
Самый простой способ:
- Заходим на сайт Oracle.
- Скачиваем и устанавливаем VirtualBox.
- Загружаем образ системы, которую нужно установить в ВМ (в формате ISO).
- Запускаем VirtualBox и нажимаем кнопку «Создать новую…».
- Указываем путь до ISO-файла с системой и жмем «Установить…».
Теперь с виртуальной системой можно работать, как с настоящей.
Мониторинг ВМ
Мониторинг виртуальных машин – это процесс наблюдения и управления их производительностью и ресурсами. Это важная часть эксплуатации ВМ, которая помогает оптимизировать их работу и обеспечить эффективное использование ресурсов.
Для этого существуют специализированные программные решения – системы мониторинга виртуальных машин. Например, Nagios, Zabbix, Prometheus, Grafana и прочие.
Сам процесс происходит в несколько этапов:
- Сбор данных. Первый шаг в мониторинге виртуальной машины – это сбор данных о ее производительности и ресурсах. Сюда относится информация о процессоре, памяти, дисковом пространстве, сетевом использовании и другие параметры. Системы мониторинга могут собирать эти данные в реальном времени и предоставлять актуальную картину производительности ВМ.
- Анализ данных. Это следующий шаг, который может включать отслеживание тенденций, распознавание паттернов использования и выявление проблем с производительностью. Такой анализ помогает найти способы улучшения работы ВМ.
- Алерты. На основе анализа данных системы мониторинга могут создавать предупреждения или алерты при обнаружении потенциальных проблем. Это может быть полезно для раннего выявления и решения проблем, прежде чем они станут критическими.
- Отчетность. Системы мониторинга могут генерировать отчеты, которые помогают определить общую картину производительности виртуальной машины. Это может быть полезно для планирования будущего использования ресурсов, а также для анализа прошлых тенденций.
- Автоматизация. Многие системы мониторинга включают элементы автоматизации, которые реагируют на определенные события или условия. Например, перенаправление трафика или добавление ресурсов при достижении определенного порога использования.
Правильно настроенная и управляемая система мониторинга виртуальных машин может значительно улучшить производительность и эффективность виртуальной среды. А также обеспечить оптимальное использование ресурсов и минимизировать простои.
Вместо заключения
На этом все. Теперь вы знаете, что такое виртуальная машина и какие задачи она помогает решить. Но что еще важнее, теперь вы можете сами создать ВМ!
Что такое виртуальная машина
В статье мы расскажем, что называется виртуальной машиной и для чего она предназначена, разберём преимущества и недостатки использования виртуальных машин, кратко рассмотрим 4 виртуальные машины и установим VirtualBox.
Что такое виртуальная машина и зачем она нужна
Виртуальная машина (ВМ или VM) — это виртуальный компьютер, который использует выделенные ресурсы реального компьютера (процессор, диск, адаптер). Эти ресурсы хранятся в облаке и позволяют ВМ работать автономно. Простыми словами, виртуальная машина позволяет создать на одном компьютере еще один компьютер, который будет использовать его ресурсы, но работать изолированно.
ВМ может работать в отдельном окне как программа или запускаться через панель управления.
Виртуализация, и виртуальная машина в частности, расширяет возможности IT-инфраструктуры. Она будет полезна разработчикам программных продуктов, веб-дизайнерам, а также тем, кто планирует перейти на новую ОС, но не уверен в выборе.
Для чего нужна виртуальная машина:
- чтобы разворачивать две и более независимые операционные системы на одном физическом устройстве. Например, на вашем компьютере установлена операционная система Windows 7, а на виртуальную машину вы установили Windows XP/8/10 или Linux;
- для экспериментов с программным обеспечением (например, кодом, предназначенным для запуска в различных ОС), не подвергая риску стабильность компьютера;
- чтобы устанавливать и тестировать различные программы и утилиты, не занимая место на основном ПК;
- чтобы запускать программы, которые не поддерживает основная ОС, или подключать оборудование, несовместимое с ней. Например, применять Windows-программы на Mac или Linux;
- для безопасного запуска приложения (программы), которое вызывает недоверие или подозрение на вирусы;
- чтобы эмулировать компьютерные сети и сложные среды, не настраивая виртуальную машину каждый раз. Можно сохранить настройки и продолжить с того этапа, где остановились;
- для создания резервных копий ОС.
Если сравнивать функции виртуальной машины с работой на обычном ПК, то можно выделить как преимущества, так и недостатки.
Преимущества виртуальной машины
- Можно выключить ПК или перейти к другой задаче с сохранением текущего состояния машины. Если вы решите продолжить работу, ВМ загрузится в том состоянии, в котором находилась в момент выключения.
- На VM можно делать снапшоты, которые позволяют откатываться до предыдущих конфигураций. Это удобно, если при тестировании нестабильного софта произошла критическая ошибка. По сравнению с основной системой, для ВМ выделяется меньше места на дисковом пространстве и откат до раннего состояния происходит быстрее.
- Машину можно сохранять или дублировать как изолированную среду. Её можно будет запустить позднее или скопировать на другой ПК. Заданные конфигурации сохранятся.
- ВМ вместе со всеми данными легко переносится с одного ПК на другой. Портативный софт для виртуальной машины сохраняет информацию одним файлом (в виде образа системы) на физическом компьютере. Для переноса достаточно переместить этот файл.
- ВМ не занимает место постоянной памяти, а оперирует выделенной временной памятью. Все действия фиксируются в виде лога, который очищается при завершении каждого сеанса.
- Для переподключения на другую ОС не нужно перезагружать компьютер.
- На одном устройстве можно хранить несколько виртуальных машин с несколькими ОС в разных состояниях.
Недостатки использования VM
- Чтобы одновременно запускать на ВМ несколько операционных систем, нужно иметь соответствующие аппаратные ресурсы.
- ОС в виртуальных машинах могут работать медленнее. Несмотря на то что показатели производительности виртуальных ОС стремятся к показателям физических ОС, на данный момент развития они всё-таки не равны.
- Виртуальная платформа поддерживает не весь функционал аппаратного обеспечения. VMware уже поддерживает USB 3.0, контроллеры портов COM и LPT и приводы CD-ROM, но с виртуализацией видеоадаптеров и поддержкой функций аппаратного ускорения трехмерной графики могут быть сложности.
Ниже мы расскажем про самые популярные и простые в использовании виртуальные машины и разберём их недостатки и преимущества.
Какие бывают виртуальные машины
К самым популярным виртуальным машинам относятся:
- VirtualBox,
- Microsoft Hyper-V,
- VMware Workstation Player,
- Parallels Desktop.
Microsoft Hyper-V ― это VM от Майкрософт.
Плюсы | Минусы |
---|---|
Привычный интерфейс для пользователей Microsoft | Не запускается с версий ниже Windows 10 |
Сразу установлена на Windows 10 (Pro, Enterprise, и Education) | Нельзя установить на MacOS |
Поддерживает различные старые версии Windows | Интерфейс уступает VMWare и VirtualBox |
VMware Workstation ― платная мощная виртуальная машина для профессионального использования. Работает в основном с Windows и Linux. Имеет бесплатную версию VMware Player, но она значительно ограничена функционалом.
Плюсы | Минусы |
---|---|
Установка систем по шаблону | Платная VM |
Удобный интерфейс | Нельзя записать видео с экрана виртуальной машины |
Высокая стабильность и надёжность | |
Детальная настройка оборудования. Можно отдельно настроить ID процессора, количество видеопамяти и др. | |
Поддержка 3D-графики и DirectX 10 | |
Поддерживает EFI |
Parallels Desktop ― это ВМ, которая позволяет использовать программы разных операционных систем на Mac.
Плюсы | Минусы |
---|---|
Работает без перегрузок | Платная программа |
Поддерживает различные операционные системы (Windows, Linux, разные версии MacOS и другие ОС) | Работает только на MacOS |
VirtualBox ― cамая популярная программа виртуализации с открытым исходным кодом. С её помощью можно запускать любые операционные системы, например Windows, Linux, Mac, Android. Программа имеет русифицированный интерфейс и проста в применении.
Плюсы | Минусы |
---|---|
Бесплатная VM | Нельзя выделить машине больше, чем 256 МБ видеопамяти. Для современных систем этого мало |
Имеет русскоязычную версию | Не поддерживается DirectX для 3D-графики |
Интуитивно понятный интерфейс, подходит новичкам | |
Можно управлять через GUI (графический пользовательский интерфейс) и командную строку | |
Есть комплект SDK | |
Можно подключать USB-устройства к виртуальным компьютерам, чтобы работать с ними напрямую | |
Поддерживает протокол RDP (протокол удалённого доступа) |
Все машины имеют свои сильные и слабые стороны. Нельзя рекомендовать только одну. Для примера мы рассмотрим, как создать виртуальную машину Oracle VirtualBox.
Как создать виртуальную машину Oracle VirtualBox
-
1.
Скачайте и установите VirtualBox на компьютер.
-
2.
Откройте панель управления Oracle и нажмите Создать:
-
3.
Введите название виртуальной машины (например, Ubuntu-1). Кликните Далее:
-
4.
Чтобы выделить объём памяти для машины, сдвиньте ползунок вправо. Мы рекомендуем указать объём 4 ГБ, но если на вашем компьютере недостаточно оперативной памяти, выбирайте максимум 2-3 ГБ. Нажмите Далее:
-
5.
Выберите пункт «Создать новый виртуальный жёсткий диск» и кликните Создать:
-
6.
Укажите тип файла «VDI (VirtualBox Disk Image)» и нажмите Далее:
-
7.
Выберите формат хранения «Динамический виртуальный жёсткий диск». Нажмите Далее:
-
8.
Укажите объем жесткого диска 20 ГБ. Кликните Создать:
Готово, вы создали VM Oracle. Теперь переходите к установке операционной системы.
Как установить операционную систему в Oracle VirtualBox
Рассмотрим, как установить операционную систему на примере Ubuntu 20.04.
-
1.
Скачайте дистрибутив Ubuntu на компьютер.
-
2.
Откройте панель управления Oracle и нажмите Настроить:
-
3.
Перейдите в раздел Система. На вкладке «Материнская плата» поставьте галочку напротив пункта «Гибкий диск»:
-
4.
На вкладке «Процессор» выберите 2 ядра:
-
5.
Перейдите в раздел Дисплей. Поставьте галочку напротив пункта «Включить 3D-ускорение» и перетяните ползунок вправо, чтобы выделить максимально возможный объём видеопамяти:
-
6.
Перейдите в раздел Носители и выберите «Пусто». Затем нажмите на иконку Диск — Выбрать образ оптического диска. Загрузите дистрибутив Ubuntu, который вы скачали на первом шаге.
-
7.
После загрузки кликните Ок:
-
8.
На главной странице нажмите Запустить:
-
9.
Подождите, пока загрузится машина:
!
-
10.
В приветственном окне выберите нужный язык:
-
11.
Нажмите установить Ubuntu:
-
12.
Выберите раскладку клавиатуры «Russian». Нажмите Продолжить:
-
13.
Выберите пункты «Обычная установка» и «Загрузить обновления во время установки Ubuntu». Затем кликните Продолжить:
-
14.
Выберите тип установки «Стереть диск и установить Ubuntu» и нажмите Установить:
Затем кликните Продолжить:
-
15.
Назначьте нужный регион и нажмите Продолжить:
-
16.
Зарегистрируйтесь. Задайте имя и пароль, остальные поля будут заполнены автоматически. Нажмите Продолжить:
-
17.
Дождитесь окончания установки и кликните Перезагрузить:
-
18.
Дождитесь перезагрузки и нажмите Enter:
-
19.
Выберите учетную запись, которую вы создали на шаге 15:
-
20.
Введите пароль, который вы задали при создании учётной записи:
-
21.
Примите предлагаемые настройки или нажмите Далее в правом верхнем углу экрана:
Готово, вы установили ОС Ubuntu 20.04 и можете приступать к работе:
Теперь вы знаете, зачем нужна виртуальная машина и как запустить её с помощью программы VirtualBox.
Виртуальный дата-центр VMware
Кроме VM, есть более крупные решения ― виртуальные дата-центры. Например, виртуальный дата-центр VMware, который можно заказать в Рег.ру.
Для чего используют виртуальный дата-центр?
Эта услуга подходит для применения как частными лицами, так и крупными организациями и корпорациями. Возможности виртуализации в совокупности с облачными вычислениями обладают такими преимуществами как масштабируемость, экономичность и доступность ресурсов в любое время. Можно создавать и развёртывать несколько ВМ одновременно. К примеру, вы можете создать один виртуальный контейнер vApp с машинами для тестовой среды, а другой — для продуктивной. При этом у вас будет возможность изолировать их с помощью разных сетей. Подробнее об услуге читайте в статье: Как начать работу с VMware.
Теперь вы знаете, что собой представляет ВМ, что делает виртуальная машина и какими ресурсами виртуальной машины можно управлять, и при необходимости можете заказать Виртуальный дата-центр VMware в Рег.ру.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊
👍
Виртуальные машины. Как сделать компьютер в компьютере
В одном обычном компьютере можно создать сразу несколько виртуальных, чтобы познакомиться с возможностями Linux или другими экзотическими ОС, запустить очень старую и сегодня неподдерживаемую программу, пройти заново игру детства на современном железе. Или же запустить Windows Vista внутри Windows 7 внутри Windows 8 внутри Windows 10. Просто потому, что захотелось.
Что такое виртуальные машины
Виртуальная машина — это эмулятор компьютера в самом широком смысле. Это почти как эмулятор игровой приставки или Android-устройства, только настраивается гораздо гибче.
Например, на эмуляторе Sony PlayStation не получится запустить игру под Nintendo GameBoy. А эмулятор DOSbox — это очень условный, специализированный виртуальный компьютер с эмуляцией определенного списка старого оборудования и со встроенной системой DOS, так что запустить там Windows 10 не получится.
Виртуальная машина же — это эмулятор персонального компьютера с практически любым железом. И на этот компьютер можно устанавливать любую операционную систему и программы, которые нужны.
Зачем нужны виртуальные машины
В деловых процессах виртуальные машины используются активно — там это нужно. Центры обработки данных, облачные вычисления, виртуальные серверы, разграничение доступа и все такое. На одном и том же железе может работать отдельный файловый архив, отдельный веб-сервер, отдельный сервер авторизации — и все на разных системах, полностью изолированных друг от друга. Но зачем нужна технология виртуальных машин обычному домашнему пользователю?
Вот простой пример: у вас есть компьютер и на нем, скорее всего, установлена операционная система Windows. Для изучения программирования вам требуется linux, но вы не хотите экспериментировать со своим компьютером, разбивать личный диск на несколько разделов и рисковать потерей данных. Виртуальная машина позволит работать в другой системе, при этом родная Windows никак не пострадает.
Или, например, есть очень важная и нужная программа, которая запускается только под WindowsXP конкретной версии и сборки. Причем эта программа откажется запускаться, если оперативной памяти больше 128 мегабайт. Можно отпилить часть микросхем от современного модуля на 16 гигабайт, но что-то вам подсказывает, что так делать не нужно. А вот виртуальная машина поможет запустить капризный софт, эмулируя компьютер с нужным объемом памяти.
А вот, допустим, игра двадцатилетней давности, которую вы нашли на антресолях и пытаетесь установить в приступе ностальгии. Игра отказывается верить в существование восьмиядерного процессора и вылетает с ошибкой «так не бывает». Виртуальная машина с нужными характеристиками поможет вспомнить былые времена и запустить игру.
Часто виртуальная машина используется в качестве «песочницы» — маленькой игровой площадки для программы, которая вызывает у вас подозрения. Чтобы не рисковать, вы запускаете сомнительную программу внутри виртуальной машины, а не на настоящем компьютере: софт честно делает свою работу, потом шифрует все файлы и требует денег, например. Но в виртуальной системе, в той самой «песочнице» не было никаких ценных данных, поэтому вы можете спокойно удалить виртуальную машину с наглой программой внутри. Здорово же!
Наконец, приверженцы техники Apple или убежденные Linux-пользователи тоже могут использовать виртуальную машину, чтобы запустить какой-то специфический софт, который работает только под Windows.
Как видите, даже для домашнего пользования виртуальные машины могут пригодиться. Поэтому разберемся с основными характеристиками и научимся создавать компьютер в компьютере.
Основные термины и их понимание
Гость (guest, гест, гостевая система, таргет) — это виртуальный компьютер, один или несколько, который запускается на хосте.
Хост — это основной компьютер, на котором запускаются виртуальные машины. Производительность хоста должна быть достаточной, чтобы тянуть и собственную систему, и гостевую. Для запуска одной виртуальной машины вполне достаточно возможностей любого современного компьютера. Но для нормальной работы нескольких систем одновременно лучше иметь не меньше шестнадцати гигабайт оперативной памяти, а образы компьютеров создавать на скоростном SSD-накопителе. По очевидным причинам, у вас не получится создать виртуальную машину с характеристиками выше, чем у самого хоста — если на основном компьютере всего 8 гигабайт оперативной памяти, то создать таргет с 16 ГБ не выйдет.
Гипервизор — специализированная программа для создания виртуальных машин и управления ими. Для домашнего пользования есть бесплатные программы-гипервизоры с минимальным количеством настроек и функций. В бизнес-сфере используются более продвинутые решения, а некоторые гипервизоры и вовсе устанавливаются вместо операционной системы, чтобы сразу несколько мощных компьютеров можно было объединить в большой виртуальный хост. Это называется «консолидация серверов». Дорогое удовольствие, как по затратам на железо, так и на гипервизор.
Образ — термин достаточно известный, обозначает файл с полной цифровой копией какого-либо носителя внутри. Обычно применяется в отношении оптических дисков, но в нашем случае в образе может храниться и дискета, и виртуальный жесткий диск.
Установка
Чтобы начать знакомство с виртуальной машиной потребуется установить гипервизор. Таковых существует множество: платных и не очень, для тонкой настройки всего и вся или базового «нажал — заработало». Virtualbox — один из наиболее популярных гипервизоров, потому что бесплатный, доступен под Windows, Mac OS и Linux, активно развивается и поддерживается сообществом разработчиков и энтузиастов. Скачать VirtualBox можно с официального сайта, но учтите, он на английском.
Начиная с шестой версии в VirtualBox убрали поддержку 32-битных хост-систем, но пятая версия до сих пор доступна для скачивания. В любом случае, можно скачать обе версии. Для более комфортной работы потребуется еще и набор расширений — ExtensionPack.
Устанавливается VirtualBox довольно просто, достаточно последовательно соглашаться со всеми предложениями. Перед установкой появится большое предупреждение о том, что компьютер будет отключен от сети, на время установки виртуальных сетевых карт — это нормально. А в ходе установки появится несколько подтверждающих окон — это устанавливается эмулятор USB, сетевых карт и других устройств.
Ну а после установки появится основное окно гипервизора на родном русском языке.
Первым же делом желательно установить пакет расширений — он добавляет поддержку USB 2.0, подключение по протоколу RDP, поддержку накопителей с NVMe и прочие полезные вещи. В стандартной установке все эти возможности отсутствуют из-за различных лицензий: сам гипервизор бесплатный во все стороны, а расширения бесплатны только для личного пользования и ознакомления.
Чтобы установить расширения достаточно запустить файл Extensionpack дабл-кликом, но делать это нужно после установки самого Virtualbox — потому что установщик расширений запускается внутри гипервизора.
Как работает виртуальная машина
Гипервизор создает файл образа жесткого диска, резервирует определенное количество оперативной памяти и занимает процессорное время — это необходимо для работы «контейнера», в котором будет работать виртуальная машина. Изнутри же «контейнер» выглядит как полноценный компьютер с жестким диском, оптическим приводом, дисководом, сетевой картой, видеоадаптером, звуковой картой и прочим оборудованием. Причем заменить видеокарту обычно нельзя — она эмулируется как встроенная в материнскую плату. А вот в оптический привод можно либо загрузить образ из файла, либо использовать существующий привод хоста.
Процессор виртуализируется как минимум одним ядром. Для старых систем лучше не использовать многоядерность — не поймут, испугаются и будут глючить. А новым больше двух ядер нужно выдавать только при реальной необходимости.
Подключенные к хосту USB-устройства можно пробросить внутрь виртуальной машины. Достаточно выбрать для конкретной машины нужный пункт из меню «Устройства — USB». При этом, например, флэшка исчезнет из списка накопителей в хост-системе и станет видна в виртуальной машине. Также можно поступить с любым другим USB-устройством, но не забудьте сначала установить Extensionpack, иначе скорость USB 1.1 вас огорчит.
Чтобы файлы на основной системе были доступны в виртуальной ОС можно воспользоваться общими папками: они монтируются как сетевые пути, но удобнее автоматически их монтировать как сетевой диск — он будет подключаться при загрузке системы. Подробности разберем на этапе настройки.
Создаем виртуальный компьютер
Создать новую виртуальную машину в VirtualBox поможет встроенный мастер настройки. Достаточно ввести название виртуального компьютера, а гипервизор на его основе попытается определить нужную операционную систему и выдаст рекомендуемые параметры. Если название слишком оригинальное, то потребуется указать тип гостевой операционной системы вручную.
Несмотря на то, что в списке поддерживаемых систем есть даже Windows 3.1, лучше всего виртуализируются относительно свежие системы, начиная хотя бы с Windows 2000. С win9x немного сложнее: сначала нужно загрузить DOS из образа дискеты, а уже потом запускать установщик — в те времена загрузочные CD не делали, потому что оптические носители только-только появлялись.
Следующим шагом будет выбор объема оперативной памяти и виртуального жесткого диска — если нет специальных требований, то автоматически предложенные значения можно не менять.
После создания виртуальной машины необходимо открыть ее настройки и подключить образ загрузочного компакт-диска на вкладке «носители». И теперь можно запускать виртуальный компьютер.
Установка системы у многих пользователей не вызовет лишних вопросов, поэтому подробно описывать этот процесс не будем. А последующая установка драйверов — другое дело. В VirtualBox есть специальный «диск с драйверами», который называется «Дополнения гостевой ОС» — его можно подключить через пункт меню.
Дополнения — это диск с драйверами, который загружается в виртуальный привод оптических дисков. В Windows-системах достаточно запустить файл autorun с диска, а под Linux — соответствующий скрипт. Главная выгода от установки гостевых драйверов — возможность произвольно менять размеры окна виртуальной машины, а разрешение экрана автоматически подстроится. А, ну и цвета станут повеселее: не 16 базовых, а 32 миллиона оттенков.
Настраиваем взаимодействие с хостом и сеть
Виртуальная машина с настройками «по умолчанию» получает доступ в интернет, но не имеет никакой связи с основным компьютером. А иногда эта связь нужна…
В настройках можно включить двусторонний буфер обмена. Он, правда, работает только с текстовой информацией, но упрощает ввод интернет-адресов и консольных команд. Для приема-передачи файлов можно настроить сетевые папки. Любая папка на хосте может быть подключена в виде сетевой папки в гостевой системе. Дополнительно можно выдать права гостевой системе на запись в эту папку и автоматически подключать папку в качестве диска при загрузке системы. Так, например, папка Downloads на хост-системе может быть доступна из гостевой системы через сетевое окружение по адресу //vboxsvr/Downloads или автоматически подключаться как сетевой диск.
Для экспериментов с Linux-системами и виртуальными серверами часто требуется доступ из хоста к веб-серверу, который запускается на гостевой ОС. Для этого нужно переключить режим сетевой карты с «NAT» на «виртуальный адаптер хоста» или же «Virtualbox Host-only Ethernet Adapter». В последнем случае у гостевой системы не будет личного доступа в интернет, но она сможет общаться с основным компьютером. Так, например, с хоста можно постучаться на файловый сервер, который работает на виртуальной машине.
В данном случае это специализированный linux-дистрибутив openmediavault для создания сетевого хранилища, который запущен в виртуальной машине с типом сетевого адаптера «только хост».
Проблемы с виртуализацией
Главная проблема — отсутствие вменяемой поддержки видеоадаптера и 3D-ускорения. На обычной хост-системе вы можете пользоваться новейшей видеокартой, но все ее преимущества в виртуальной машине будут недоступны. Впрочем, старые игры не особо требовательны к видео — в большинстве случаев справится и встроенный видеоадаптер процессора.
Второй момент — поддержка современного интернета старыми системами. Открыть любой сайт в системе, которая устарела лет на 10–20, может быть проблематично. Либо страница загрузится не полностью, либо не загрузится вовсе.
Виртуализируй это!
Виртуальные машины позволят вам изучить экзотические ОС на современном компьютере. Помимо множества современных Linux-дистрибутивов, это может быть:
- ReactOS — система с открытым кодом, которая пытается быть совместимой с WinXP
- BeOS (нынче HaikuOS) — самая дружелюбная к пользователю система из 90х
- OS/2 — нерушимая и надежная система от IBM, которая использовалась в 90х
- MacOSX — самая капризная в плане виртуализации система, которая хорошо работает только на компьютерах от Apple.
Также можно установить старую версию Windows и попробовать покорить современный интернет. Во времена технологии Active Desktop в windows98 интернет был очень другим.
В конце концов, виртуальная машина позволит экспериментировать с сомнительными программами, запуская их в изолированной песочнице. Virtualbox, как и многие другие бесплатные гипервизоры, это лишь инструмент, а как использовать виртуальную машину — решайте сами.
Что такое виртуальная машина и как её создать
- Что такое виртуальная машина
- Зачем нужна виртуальная машина и виртуализация
- Преимущества и недостатки использования виртуальной машины
- Популярные виртуальные машины
- Как создать виртуальную машину VirtualBox
- Как установить операционную систему в VirtualBox
В этой статье мы расскажем, что называется виртуальной машиной и для чего предназначена эта программа, а также покажем, как устанавливать VirtualBox.
Виртуальные машины с каждым годом все больше набирают популярность. Такой рост объясняется двумя основными причинами:
- появление множества разных операционных систем со своими требованиями к параметрам компьютера,
- увеличение затрат на администрирование и сложность обслуживания компьютеров с несколькими ОС (обеспечение надежности и безопасности работы).
Что такое виртуальная машина
Иногда требуется установить программу, созданную для ОС, которой нет на устройстве. Для этого можно воспользоваться технологией виртуализации. Виртуализация ― это возможность запуска нескольких операционных систем на одном физическом устройстве. То есть виртуальная машина позволяет создать на одном компьютере ещё один компьютер. Технология использует ресурсы устройства (память, процессор, устройство ввода и вывода), но при этом работает как отдельный компьютер.
Операционная система, на базе которой создаётся новая среда, называется хост-системой (host), а дополнительная операционная система — гостевой.
Виртуализация создается при помощи двух элементов: виртуальной машины и гипервизора.
Виртуальная машина (ВМ или VM) — программа, с помощью которой можно создать гостевую операционную систему на компьютере.
Гипервизор — программа, которая управляет физическими ресурсами вычислительной машины и распределяет эти ресурсы между несколькими различными операционными системами, позволяя запускать их одновременно. Благодаря гипервизору операционные системы не мешают друг другу.
Есть три вида гипервизоров:
-
Аппаратный. Такие гипервизоры используют Hyper-V, KVM, ESXi. Xen. Аппаратный гипервизор устанавливается прямо на «железо» и выполняет функции эмуляции физического аппаратного обеспечения. То есть такой гипервизор является минимальной операционной системой.
-
Хостовый гипервизор запускается на обычной ОС, как и другие приложения в системе. В этом случае гостевая ОС выполняется как процесс на хосте, а гипервизор разделяет гостевую ОС и ОС хоста. Примеры гипервизоров этого типа: VMware, VirtualBox и Parallels Desktop для macOS.
-
Гибридный. Смесь аппаратного и хостового гипервизора. Аппаратными средствами управляет первый тип гипервизора. Хостовый работает с остальными аппаратными компонентами. Такой вид управления имеет Hybrid, Type-1+.
Зачем нужна виртуальная машина и виртуализация
Для чего используют виртуализацию:
- Чтобы загружать программы и компьютерные игры, которые предназначены для определенной ОС. Например, программы для Windows можно устанавливать на macOS;
- Чтобы устанавливать две и более операционные системы на одном физическом устройстве. Например, на вашем компьютере установлена операционная система Windows 7, а на виртуальную машину вы установили Linux;
- Для тестирования. Иногда разработчикам нужно узнать, корректно и безопасно ли работает приложение в другой ОС, например в разных версиях Windows. Покупать или арендовать для этого несколько физических серверов и устанавливать на них разные ОС долго, дорого и сложно;
- Чтобы запускать программы, которые не совместимы с основной ОС. Например, применять Windows-программы на macOS или Linux;
- Для безопасного запуска приложения (программы), которое не вызывает доверия. Простыми словами, если файл заражен, то он не сможет атаковать основную ОС;
- Чтобы эмулировать компьютерные сети и сложные среды, не настраивая виртуальную машину каждый раз. Можно сохранить настройки и продолжить с того этапа, где остановились.
Преимущества и недостатки использования виртуальной машины
Преимущества:
-
Сохранение текущего состояния машины. Если нужно выключить ПК или перейти к другой задаче, то машина сохранит все настройки. При следующей загрузке ВМ откроется в том состоянии, в котором находилась в момент выключения.
-
Создание снапшота при тестировании нестабильной программы. Если при тестировании софта произошла критическая ошибка, можно откатить ВМ до предыдущего состояния. По сравнению с основной системой, для виртуальной машины выделяется меньше места на дисковом пространстве, благодаря этому откат системы происходит быстрее.
-
Машину можно сохранять или дублировать как изолированную среду. Её можно будет запустить позднее или скопировать на другой ПК со всеми заданными конфигурациями.
-
Для переподключения на другую ОС не нужно перезагружать компьютер.
Недостатки:
-
Для одновременного запуска на ВМ нескольких операционных систем, нужно иметь соответствующие аппаратные ресурсы.
-
ОС в виртуальных машинах работают медленнее. Несмотря на постоянное развитие ВМ, работа виртуальных ОС ниже традиционных.
-
Виртуальная платформа поддерживает не весь функционал устройства. Например, VMware поддерживает USB 3.0, контроллеры портов COM и LPT и приводы CD-ROM, но виртуализация видеоадаптеров и поддержка функций ускорения трехмерной графики пока малодоступны.
Популярные виртуальные машины
Самыми популярным виртуальным машинам являются:
- VMware,
- VirtualBox,
- Microsoft Hyper-V,
- Parallels Desktop.
VMware
VMware — одна из самых популярных виртуальных машин для крупных задач. VMware имеет 2 вида: Player (бесплатная версия) и Workstation (платная версия). Для macOS есть специальная версия VMware Fusion и VMware Fusion Pro.
Особенности:
- высокая надежность и функциональность,
- поддерживает USB 3.0, CD/DVD-диски и сетевые интерфейсы,
- до 8 ГБ оперативной памяти для одной виртуальной машины,
- понятный интерфейс,
- бесплатная версия VMware Player поддерживает ВМ, которые были созданы на платной версии VMware Workstation,
- поддержка 3D-графики и DirectX 10,
- поддерживает EFI.
VirtualBox
VirtualBox — простой и бесплатный инструмент для виртуализации от компании ORACLE. Можно установить самые популярные операционные системы (Windows, Linux-подобные ОС, FreeBSD, macOS). Также VirtualBox может работать с VM, которые были созданы в платной версии VMware Workstation.
Особенности:
- можно управлять через графический интерфейс и командную строку,
- интуитивно понятный интерфейс даже для новичков,
- можно подключать USB-устройства к виртуальным компьютерам и работать с ними напрямую,
- есть комплект SDK,
- поддерживает протокол удалённого доступа RDP.
Microsoft Hyper-V
Microsoft Hyper-V — VM для Windows 10. Не работает на других ОС.
Особенности:
- можно переносить файлы с основного ПК на виртуальный и обратно,
- можно соединить виртуальный и реальный компьютеры по сети,
- привычный интерфейс для пользователей Microsoft,
- встроена в Windows 10 (Pro, Enterprise, и Education),
- поддерживает старые версии Windows.
Parallels Desktop
Parallels Desktop — платная программа для создания виртуальной машины на macOS.
Особенности:
- можно эмулировать операционные системы Windows, Linux, разные версии MacOS и другие ОС,
- можно переносить информацию с ПК на виртуальную машину,
- может работать с USB-накопителями, клавиатурами и мышками напрямую,
- для виртуальных ОС есть персональный голосовой помощник Cortana.
Несмотря на развитость всех программ для виртуализации, самым часто используемым инструментом является VirtualBox. Он нашел свое применение частными лицами и организациями. Далее мы рассмотрим, как создать VM и установить операционную систему в программе VirtualBox.
Как создать виртуальную машину VirtualBox
-
Скачайте и установите VirtualBox на компьютер.
-
Откройте панель управления Oracle и нажмите Создать:
3. Введите название виртуальной машины (имя может быть любое). Кликните Далее:
4. Укажите объём памяти для машины. Для этого сдвиньте ползунок вправо. Нажмите Далее:
5. Выберите пункт «Создать новый виртуальный жёсткий диск» и кликните Создать:
6. Укажите тип файла «VDI (VirtualBox Disk Image)» и нажмите Далее:
7. Выберите формат хранения «Динамический виртуальный жёсткий диск». Нажмите Далее:
8. Укажите объём жёсткого диска 20 ГБ. Кликните Создать:
Готово, вы создали ВМ на VirtualBox. Теперь переходите к установке операционной системы:
Как установить операционную систему в VirtualBox
Рассмотрим, как установить операционную систему на примере Ubuntu 20.04.
-
Скачайте дистрибутив Ubuntu на компьютер.
-
Откройте панель управления Oracle и нажмите Настроить:
3. Перейдите в раздел Система. На вкладке «Материнская плата» поставьте галочку напротив пункта «Гибкий диск»:
4. На вкладке «Процессор» выберите 2 ядра:
5. Перейдите в раздел Дисплей. Поставьте галочку напротив пункта «Включить 3D-ускорение» и передвиньте ползунок вправо, чтобы выделить максимально возможный объём видеопамяти:
6. Перейдите в раздел Носители и выберите «Пусто». Затем нажмите на иконку Диск — Выбрать образ оптического диска. Загрузите дистрибутив Ubuntu, который вы скачали на первом шаге.
7. После загрузки кликните Ок:
8. На главной странице нажмите Запустить:
9. Подождите, пока загрузится машина:
10. В приветственном окне выберите язык:
11. Нажмите установить Ubuntu:
12. Выберите раскладку клавиатуры «Russian». Нажмите Продолжить:
13. Выберите пункты «Обычная установка» и «Загрузить обновления во время установки Ubuntu». Затем кликните Продолжить:
14. Выберите тип установки «Стереть диск и установить Ubuntu» и нажмите Установить:
Затем кликните Продолжить:
15. Назначьте нужный регион и нажмите Продолжить:
16. Зарегистрируйтесь. Задайте имя и пароль, остальные поля будут заполнены автоматически. Нажмите Продолжить:
17. Дождитесь окончания установки и кликните Перезагрузить:
18. Дождитесь перезагрузки и нажмите Enter:
19. Выберите учётную запись, которую вы создали на шаге 15:
20. Введите пароль, который вы задали при создании учётной записи:
21. Примите предлагаемые настройки или нажмите Далее в правом верхнем углу экрана:
Готово, вы установили ОС Ubuntu 20.04 и можете приступать к работе:
Теперь вы знаете, что делает виртуальная машина и какими ресурсами виртуальной машины можно управлять с помощью программы VirtualBox.
Знакомство с виртуальными машинами
Время на прочтение
10 мин
Количество просмотров 34K
Каждому администратору предприятия приходится иметь дело с настройкой виртуальных машин. Использовать виртуальные машины можно для разработки и тестирования приложения, а также хранения данных. Преимуществами виртуальных машин можно назвать гибкость в выборе операционной системы и возможность дублирования рабочего пространства. Проблемы при работе с ними сложны, поскольку виртуальные машины используют ресурсы иначе, чем физические. Виртуальные машины подвергаются различным рискам и проблемам с производительностью. Must know для IT-специалистов, чтобы поддерживать работоспособную сетевую инфраструктуру.
Виртуальные машины (ВМ) — это такие абстрактные вычислительные экземпляры, созданные программой, работающей на другой машине, и которые физически не существуют, но работают, как настоящий компьютер. ВМ работает на программном обеспечении, а не на оборудовании. Так сказать, программное обеспечение создаёт «воображаемый» компьютер, который ведёт себя как физический. Другими словами, пользователь создаёт компьютер внутри другого компьютера. Несколько ВМ могут работать параллельно на одном базовом устройстве отдельно друг от друга.
Машина, создающая виртуальную машину, называется хост-машиной, а виртуальная машина называется «гостевой». На одном хост-компьютере может быть множество гостевых ВМ. Также может быть и множество виртуальных серверов, работающих с одной физической машины.
Хотя виртуальная машина создается с помощью ПО, она использует физические ресурсы хост-машины, такие как ЦП, ОЗУ и место в хранилище на жёстком диске. На своём хост-компьютере можно настроить столько виртуальных машин, сколько нужно, но придётся разделить физические аппаратные ресурсы между ними всеми. Количество виртуальных машин, которые можно иметь одновременно, ограничено только ресурсами хост-компьютера; однако большинство ВМ будут работать медленнее, чем физический компьютер, просто из-за дополнительных уровней абстракции, которые они должны пройти для выполнения функции.
Функции, предоставляемые виртуальными машинами, аналогичны функциям физических, но ВМ не работают непосредственно на оборудовании компьютера. Вместо этого между оборудованием и виртуальной машиной существует «гипервизор». Этот средний уровень защищает хост-компьютер, а также создает виртуальную машину и управляет ею. Подробнее о гипервизорах чуть ниже.
Существует множество преимуществ использования виртуальных серверов вместо физического оборудования, и каждое предприятие должно учитывать настройку виртуального сервера по мере своего роста. Если у пользователя есть только один сервер, виртуализация себя не окупит, но вложение имеет смысл, если серверов много.
ВМ можно использовать для смены операционных систем. Например, если у гостевой операционной системы используется Windows, а на хост-компьютере Mac OS. Кроме того, можно тестировать ПО в этой гостевой операционной системе, которую не может использовать хост-компьютер, или одновременно тестировать программы в разных операционных системах, чтобы убедиться, что они работают одинаково на каждой из них. Виртуальные машины также можно использовать в качестве буферов безопасности и выполнять вредоносный код или проверять подозрительные файлы, не нанося вреда другим частям системы-хоста.
ВМ экономят большие суммы денег. Размещая несколько виртуальных серверов на одной физической машине, пользователь может выделить ресурсы на каждый из них. Это позволяет использовать только те ресурсы, которые нужны только в данный момент. Если одна виртуальная машина использует меньше ресурсов, другая виртуальная машина может использовать освободившиеся. Это позволяет более эффективно и экономно распоряжаться ресурсами машины-хоста. Также, когда используется меньше физических машин, экономятся деньги за счёт уменьшения объёма пространства, необходимого для хранения серверов.
Виртуализация ещё и экономит энергию. По сравнению с традиционными операционными системами виртуальная машина не так сильно зависит от потребляемой электроэнергии, потому что её центральное оборудование не нужно менять или расширять. Таким образом, затраты на виртуализацию всегда ниже, чем на покупку и обслуживание дополнительного оборудования. Ведь вычислительная мощность имеет свою цену. Если для пользователя единственным способом получить больше ресурсов является покупка нового оборудования, то это не самый оптимальный вариант. Слишком часто организации развёртывают серверы, которые потребляют лишь часть доступных ресурсов и не используют весь свой потенциал. Это приводит к тому, что, серверы попросту простаивают.
Казалось бы, очевидные вещи, но при управлении виртуальными машинами важно следовать ряду базовых рекомендаций:
- Производите оценку виртуальной среды. Если вы не знаете, какие виртуальные устройства включены или выключены, или правильно ли работают ваши виртуальные серверы, вы не сможете быстро и эффективно устранять проблемы, когда они возникают. Устранение неполадок, связанных с замедлением, зависит от возможности точно определить проблему, и если вы не наметили полностью свою среду, вы можете даже не знать о замедлении, пока ваши пользователи не начнут жаловаться. Проводите регулярную инвентаризацию своей виртуальной среды, чтобы быть в курсе всего, прежде чем это повлияет на ваших клиентов или бизнес.
- Контролируйте рост виртуализации. Когда в вашей среде слишком много ВМ, то вам трудно будет их отслеживать. Поскольку создавать виртуальные машины несложно (гораздо проще, чем приобретать новое оборудование), можно запросто сделать больше ВМ, чем нужно. В конечном итоге это может свести на нет некоторые преимущества консолидации и повышения эффективности, которые должна обеспечивать виртуализация. Убедитесь, что вы предприняли шаги для контроля разрастания виртуализации, а также отключили или удалили все ненужные виртуальные машины.
- Управляйте рисками безопасности. Риски безопасности для вашей виртуальной среды могут проявляться в разных формах. Если вы не следите за разрастанием, остаётся множество точек, через которые злоумышленник может получить доступ к вашей сети. Несмотря на то, что ВМ изолированы друг от друга, злоумышленники всё же могут получить информацию о структуре или настройках вашей сети. Важно убедиться, что в вашей виртуальной среде установлены соответствующие инструменты безопасности и защиты от вредоносных программ. Не стоит недооценивать возможность внутренних рисков, как злонамеренных, так и случайных. Неосведомлённые пользователи могут изменить конфигурацию виртуальной машины или параметры доступа, случайно удалить что-либо или преднамеренно получить доступ к данным, которые они не должны иметь. Сохраняйте привилегии доступа для вашей виртуальной среды так же, как и для любой физической среды.
- Делайте своевременные обновления. Если вы не обновляете своё программное обеспечение или операционные системы, это также оставляет потенциальные уязвимости открытыми для злоумышленников. Ошибки в ПО, гипервизорах или ОС могут позволить злоумышленникам получить доступ к вашим системам, даже если эти системы являются виртуальными. Убедитесь, что программное обеспечение ВМ всегда обновлено, а приложения и программы, установленные на ваших виртуальных машинах, также регулярно обновляются.
- Быстро реагируйте при возникновении проблем. Убедитесь, что у вас есть план реагирования на случай, если производительность ВМ резко упадёт, или если у вас возникнут проблемы с виртуальной средой. Обязанности в команде должны быть чётко распределены, чтобы вы знали, кто и какими проблемами будет заниматься, особенно проблемами безопасности. Наличие выделенного персонала и групп для каждой потенциальной проблемы, а также чёткий план эскалации и решения помогут вам, если вам нужно быстро исправить что-то в вашей виртуальной среде. И всегда помните о резервном копировании.
Типы виртуальных машин
Существует несколько видов виртуальных машин. Они работают по-разному, и каждый из них имеет свои конкретные цели. Двумя основными типами виртуальных машин являются системные виртуальные машины и виртуальные машины процессов.
Системная виртуальная машина предназначена для имитации всей компьютерной системы, включая запуск полной ОС. Системные ВМ обычно используются для запуска программ в ОС, которой нет на хост-компьютере, или для запуска нескольких экземпляров ВМ, чтобы эффективно распределить аппаратные ресурсы. Операционная система на системной виртуальной машине изолирована от хост-машины. Например, мы можем установить Windows XP/7/8 или Linux Ubuntu/Kali в операционной системе Windows 10 используя VirtualBox, QEMU или Citrix Xen.
Виртуальные машины процессов, в отличие от системных виртуальных машин, создаются специально для запуска отдельного приложения. Когда этот процесс не используется, виртуальная машина также не используется — она «уничтожается» при завершении процесса или приложения. Примером виртуальной машины процесса является Java Virtual Machine (JVM), которая позволяет любой системе запускать приложения Java, как если бы они были родными для системы.
Как работает виртуальная машина
ВМ настраиваются с использованием гипервизора или аналогичной технологии. Гипервизор — это часть оборудования, микропрограммы или программного обеспечения, которое создаёт виртуальные машины, выделяет им ресурсы, а затем управляет ими. Проще говоря, это слой между физическим компьютером и ВМ. Гипервизоры и управляемые ими виртуальные машины обычно используются для репликации данных, виртуализации рабочих столов и ОС, консолидации серверов и облачных вычислений.
Например, у вас может быть ПК с 8 ГБ оперативной памяти и операционная система Windows. Если вместо этого вы хотите запускать программы, требующие Linux, вы создаёте виртуальную машину с Linux, а затем используете гипервизор для управления её ресурсами, например, выделив ей 2 ГБ ОЗУ. Часть ресурсов хост-машины будет работать под управлением ОС Windows, а часть будет выделена виртуальной машине под управлением Linux.
Гипервизоры также обеспечивают уровень безопасности между виртуальными машинами и операционной системой хост-компьютера, предотвращая заражение хост-компьютера неисправными приложениями или повреждёнными файлами, т.е. неполадки в ВМ не затронут хост-машину. Допустим, если пользователь загрузит повреждённый или заражённый файл на свою виртуальную машину, гипервизор предотвратит попадание файла на хост-компьютер.
Существует два основных типа гипервизора: аппаратный и программный. Аппаратные гипервизоры устанавливаются непосредственно на физическое оборудование, а программные гипервизоры устанавливаются в операционную систему.
Аппаратные гипервизоры обычно эффективнее и быстрее, чем программные. Им не надо конкурировать с операционной системой или другими приложениями, работающими одновременно, что позволяет им получить доступ ко всей вычислительной мощности хост-машины. Эту дополнительную мощность можно выделить виртуальным машинам, которыми управляет гипервизор.
Основным преимуществом программных гипервизоров является простота настройки. Можно использовать их так же, как и любую другую программу в операционной системе, и не обязательно знать, как работает это оборудование, чтобы установить его. В большинстве случаев программные гипервизоры используются для разработки или тестирования приложений.
VMware, Hyper-V и KVM — ключевые примеры гипервизоров: VMware принадлежит Dell, KVM — RedHat, а Hyper-V — Microsoft. Программное обеспечение VMware создано для облачных вычислений и виртуализации, и оно устанавливает гипервизор на физические серверы, чтобы позволить ВМ работать одновременно. Hyper-V делает то же самое, но также виртуализирует серверы. Hyper-V поставляется с предустановленной Windows 10. KVM — это инструмент виртуализации для Linux на оборудовании x86, содержащее расширения виртуализации (Intel VT или AMD-V). Все три являются аппаратными гипервизорами.
Как настроить виртуальную машину
Настроить виртуальную машину не так уж сложно, и для большинства решений для виртуальных машин — при условии, что вы используете программный гипервизор — выполняйте следующие действия:
- Откройте приложение виртуальной машины и нажмите кнопку, чтобы создать новую виртуальную машину.
- Следуйте инструкциям мастера по созданию ВМ, при необходимости обязательно измените значения по умолчанию.
- Убедитесь, что имя и версия вашей виртуальной машины указаны правильно.
- Если у вас уже есть виртуальный диск, который вы хотите использовать, вы можете пропустить любые шаги, требующие создания виртуальной базы данных. Если у вас нет виртуального диска, создайте базу данных с помощью инструмента. Выберите динамически выделяемый диск или диск фиксированного размера.
- Выберите размер вашего диска.
- Нажмите кнопку «Создать».
- В главном окне приложения для виртуальных машин вы должны увидеть все созданные вами виртуальные машины; выберите тот, который вы хотите запустить через приложение.
После того, как вы настроили виртуальную машину (или несколько), вам может потребоваться оптимизировать производительность, чтобы убедиться, что всё работает эффективно, или для того, чтобы увеличить скорость вашей сети. Следующие советы помогут вам оптимизировать производительность виртуальной машины:
- Используйте фиксированные диски. Они потребляют меньше ресурсов и позволяют лучше и точнее планировать ёмкость. Если вы выделите фиксированный диск для каждой ВМ, у вас будет лучшее представление о том, какие ресурсы у вас есть и какие уже используются. Тем не менее, в большинстве случаев вы не заметите большой разницы между фиксированным и динамическим размещением. Однако при масштабировании или работе с крупной корпоративной инфраструктурой небольшие различия могут складываться. Фиксированные диски также имеют больше смысла, если у вас ограниченный объём физического хранилища. А в производственных средах вы обнаружите, что динамическое выделение дисков со временем снижает производительность, поскольку ВМ занимают больше места.
- Выделите больше памяти. Большинству виртуальных машин будет не хватать памяти, поэтому рассмотрите возможность выделения большего объёма памяти, чем, по вашему мнению, им потребуется, и позвольте ВМ отключать память в зависимости от использования, что поможет максимизировать эффективность.
- Переключитесь на твердотельные накопители. Переход на твердотельные накопители — один из самых быстрых способов повысить производительность. В зависимости от того, какие у вас процессоры, вы можете использовать их для улучшения виртуализации. Например, Intel VT-x и AMD-V — это специализированные процессоры, разработанные для виртуальных машин. Планируйте рабочие нагрузки заранее и убедитесь, что ваше оборудование включено и в порядке.
- Уменьшите количество фоновых приложений. Во многих случаях простое сокращение фоновых приложений и программ, в том числе снижение частоты сканирования каталогов ВМ с помощью антивирусного программного обеспечения, может помочь улучшить производительность ВМ и время отклика. По сути, относитесь к виртуальным машинам как к физическим машинам, поскольку к ним применяются многие из тех же концепций производительности.
Мониторинг ВМ
Часто виртуальные машины, используемые на предприятиях, настраиваются одинаково. Однако одному человеку может потребоваться больше оперативной памяти для своих приложений, чем другому, а кому-то может понадобиться ВМ с другими установленным ПО. Мониторинг производительности и использования виртуальных машин является важной частью обеспечения того, чтобы ВМ вашего предприятия функционировали должным образом. Мониторинг обычно помогает обнаружить области для улучшения, а также возможности для автоматизации и перераспределения ресурсов в режиме реального времени.
Используйте инструмент мониторинга производительности ВМ для сбора данных и метрик для сети и сравнивайте отчёты каждую неделю или месяц, чтобы убедиться, что система работает хорошо, и нет растущих проблем. После того, как наладите сбор данных, вы сможете отслеживать тенденции (например, какие виртуальные машины постоянно достигают лимита ресурсов), более эффективно подходить к планированию ёмкости и отмечать любые виртуальные машины, которые регулярно подвергаются сбоям, задержкам или проблемам с приложениями.
Данные, собранные с помощью инструмента оценки производительности ВМ, показывают, сколько физических ресурсов используют ВМ и какие меры по оптимизации применяются.
Вот некоторые из инструментов мониторинга ВМ:
- Paessler PRTG
- LogicMonitor
- Veeam One
- Quest Foglight
- eG Enterprise
- APTARE IT Analytics
- Ipswitch WhatsUp Gold
- Turbonomic
Мониторинг через Paessler PRTG
Виртуальные машины становятся жизненно важной частью как локальных, так и облачных вычислений, присоединяясь к физическим устройствам в составе корпоративной инфраструктуры. Они позволяют организациям более безопасно и эффективно разрабатывать и тестировать приложения, улучшать свои хранилища, дублировать рабочие области и достигать гибкости в использовании операционных систем.