yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Что такое виртуальная машина, как она работает и для чего нужна

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

Обзоры
Иллюстрация для статьи на тему «Что такое виртуальная машина, как она работает и для чего нужна»
Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys
Иконка-Evolution Container Apps
Evolution Container Apps
Иконка-Evolution Bare Metal
Evolution Bare Metal
Иконка-Evolution Compute
Evolution Compute

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

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

Каждая виртуальная машина работает в изолированном окружении и «считает» себя единственной на физическом устройстве. Это гарантирует, что при сбое в одной ВМ остальные виртуальные среды продолжат работу без последствий. Однако ВМ могут косвенно влиять друг на друга: при одновременном запуске большого числа виртуальных машин и нехватке ресурсов может снизиться общая производительность всех виртуальных сред.

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

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

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

Создайте ВМ с Evolution free tier. Бесплатно
Создайте ВМ с Evolution free tier. Бесплатно
А еще — храните данные в объектном хранилище, создавайте контейнеры, тестируйте еще семь сервисов в Preview. И это тоже бесплатно.
Узнать больше

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

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

Что такое хост, виртуализация и гипервизор

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

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

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

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

Есть два типа гипервизоров:

  1. Аппаратные (bare metal) запускаются непосредственно на железе хоста. Этот вариант часто используется в крупных компаниях и дает максимальную производительность, так как не предполагает использование промежуточного слоя в виде гостевой ОС — той, что установлена на ВМ.

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

Как хост жертвует ВМ часть ресурсов

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

Например, есть компьютер с 4-ядерным процессором и 16 ГБ ОЗУ. На нем надо запустить ВМ, у которой в конфигурации — 2 ядра и 4 ГБ памяти. Гипервизор выделит эти ресурсы из хоста для ВМ, и хост будет работать с оставшимися 2 ядрами и 12 ГБ.

Виртуальная машина не может быть мощнее хоста: нельзя выделить ей 8 ГБ, если на физическом устройстве есть только 6 ГБ. Чисто технически это возможно, но приведет к потере производительности. Это одинаково и для ПК, и для облачных серверов, которые предоставляют облачные провайдеры.

Создавайте ВМ разной конфигурации с Evolution Compute
Создавайте ВМ разной конфигурации с Evolution Compute
Используйте образа с популярными ОС, контролируйте трафик с помощью групп безопасности, присваивайте виртуальным машинам теги и управляйте ими удаленно.
Узнать больше

Для чего нужна виртуальная машина

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

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

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

Знакомство и работа с новыми операционными системами

Разработчикам и системным администраторам важно, чтобы существовала возможность параллельно работать с несколькими ОС. Например, нужны инструменты из Linux и приложения из Windows, а работать одновременно на двух компьютерах — это не особо удобно. Здесь поможет ВМ: если компьютер на Windows, а на ВМ установлена Linux, работать в обеих ОС можно параллельно.

Быстрое развертывание  приложений и серверов

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

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

Обеспечение безопасности при работе с незнакомыми программами

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

Виды виртуальных машин

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

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

    Примеры сервисов: VMware ESXi, QEMU, KVM, Microsoft Hyper-V, Xen.

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

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

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

    Примеры сервисов: VMware Workstation, Oracle VirtualBox.

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

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

    Это не тип виртуализации в классическом смысле, а изоляция процессов на уровне операционной системы. При контейнеризации не используется гипервизор, нет эмуляции процессов и виртуализации железа — есть только изоляция пользовательского пространства

Примеры сервисов: Docker, LXC (Linux Containers), OpenVZ.

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

Подходит для DevOps-разработки, для создания микросервисов и облачных решений.

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

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

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

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

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

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

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

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

  • Экономия ресурсов. Чтобы работать в разных ОС, не нужно закупать много компьютеров — достаточно одного, чтобы развернуть на нем несколько ВМ.

  • Безопасность. На ВМ можно тестировать разные приложения, в том числе работать с потенциально вредоносным ПО, и при этом не навредить основному устройству.

  • Быстрое восстановление и резервное копирование. Создание снимков (snapshots) позволяет быстро восстанавливать предыдущее рабочее состояние, что снижает риски потери данных.

  • Гибкость и скорость развертывания. Создание новой ВМ из готового шаблона занимает минуты — это гораздо быстрее, чем с нуля устанавливать ОС на физический сервер. Это ускоряет разработку, тестирование и масштабирование сервисов.

  • Переносимость. ВМ — это набор файлов. Его можно скопировать, перенести на другой сервер или в облако, а оттуда —мгновенно запустить. Это упрощает резервное копирование и аварийное восстановление.

  • Универсальность. Виртуалки поднимают и на домашнем ПК, и на мощном облачном сервере. Также можно установить любую ОС, выбрать нужную конфигурацию, чтобы сымитировать устройство с другими параметрами.

Недостатки

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

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

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

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

Oracle VirtualBox — кроссплатформенное приложение для виртуализации, которое позволяет создавать виртуальные машины. На ВМ можно запустить любую операционную систему x86, такую ​​как DOS, Windows, OS/2, FreeBSD и OpenBSD, на хосте x86_64. Также есть возможность запускать некоторые гостевые системы Arm на хостах Arm. Есть возможность управлять ВМ из нескольких интерфейсов одновременно, например, можно запустить виртуальную машину кнопкой в графическом интерфейсе, а затем управлять ей удаленно или из командной строки.

Документаця Oracle VirtualBoxСтраница с документацией Oracle VirtualBox

На странице с документацией Oracle VirtualBox вы можете познакомиться с тем, как работает ПО, получить советы по установке и узнать, как интегрировать его в свои продукты через API

VMware Workstation позволяет запускать на ВМ сотни операционных систем, подключать Fusion или Workstation к удаленным серверам vSphere или ESX для запуска, контроля и управления ВМ и физическими хостами. Благодаря поддержке виртуальных машин, контейнеров и кластеров Kubernetes Fusion и Workstation разработчики могут тестировать контейнерные приложения и кластеры.

Microsoft Hyper-V — встроенный гипервизор для Windows Server и Windows Client. Предназначен для организаций, центров обработки данных и гибридных облачных решений. Есть поддержка миграции виртуальных машин между узлами без остановки работы самих ВМ, а еще программа легко интегрируется с облачной платформой Microsoft Azure.

QEMU позволяет полностью эмулировать систему и запускать ВМ на любой из десятка поддерживаемых архитектур, например x86, ARM, PowerPC, MIPS. Наиболее распространенный способ применения QEMU — эмуляция всей системы, включая центральный процессор (CPU), память и нужные устройства. В этом режиме CPU может быть полностью виртуализован или работать с гипервизором, таким как KVM, Xen или Hypervisor.Framework.

Практическое руководство по настройке ВМ

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

Установка на локальном компьютере 

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

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

  3. Присвойте ВМ информативное имя. Хорошо, если в нем будет информация об операционной системе и установленном ПО, например, Windows 10 with Visio. Также это название может использоваться, чтобы программа автоматически предложила подходящую ОС и содержимое связанных полей.

  4. Далее вы сможете выбрать тип диска — динамический или фиксированный — и его размер. Динамический сможет масштабироваться, если вырастет нагрузка, но не сможет уменьшиться, если используемые ресурсы начнут простаивать. Фиксированный вариант обычно работает быстрее.

После этого виртуальная машина будет создана — останется ее только настроить, и можно работать. Более подробные инструкции по настройке и создании ВМ вы сможете найти в документации гипервизоров, например, у Oracle VirtualBox.

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

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

Дадим инструкцию на примере запуска ВМ в облачном сервисе Evolution Compute. Итак, что нужно сделать:

  1. Авторизуйтесь в личном кабинете.

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

  3. Найдите на верхней панели слева фигуру квадрата из шести точек — нажмите на эту иконку. Далее перейдите в раздел Инфраструктура → Виртуальные машины.

  4. Кликните Создать виртуальную машину.

  5. Задайте конфигурацию и настройки виртуальной машины.

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

Заключение

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

  • ВМ работают на основе технологии виртуализации, которая создает копии физического оборудования.

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

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

Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys
Иконка-Evolution Container Apps
Evolution Container Apps
Иконка-Evolution Bare Metal
Evolution Bare Metal
Иконка-Evolution Compute
Evolution Compute
30 сентября 2025

Вам может понравиться