Что такое виртуальная машина
В статье мы расскажем, что называется виртуальной машиной и для чего она предназначена, разберём преимущества и недостатки использования виртуальных машин, кратко рассмотрим 4 виртуальные машины и установим VirtualBox.
Виртуальный дата-центр VMware
Гибкое решение для создания собственного виртуального дата-центра.
Что такое виртуальная машина и зачем она нужна
Виртуальная машина (ВМ или VM) — это виртуальный компьютер, который использует выделенные ресурсы реального компьютера (процессор, диск, адаптер). Эти ресурсы хранятся в облаке и позволяют ВМ работать автономно. Простыми словами, виртуальная машина позволяет создать на одном компьютере ещё один компьютер, который будет использовать его ресурсы, но работать изолированно.
ВМ может работать в отдельном окне как программа или запускаться через панель управления.
Виртуализация, и виртуальная машина в частности, расширяет возможности IT-инфраструктуры. Она будет полезна разработчикам программных продуктов, веб-дизайнерам, а также тем, кто планирует перейти на новую ОС, но не уверен в выборе.
Для чего нужна виртуальная машина:
Если сравнивать функции виртуальной машины с работой на обычном ПК, то можно выделить как преимущества, так и недостатки.
Преимущества виртуальной машины
Недостатки использования VM
Ниже мы расскажем про самые популярные и простые в использовании виртуальные машины и разберём их недостатки и преимущества.
Какие бывают виртуальные машины
К самым популярным виртуальным машинам относятся:
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
Откройте панель управления Oracle и нажмите Создать:
Введите название виртуальной машины (например, Ubuntu-1). Кликните Далее:
Чтобы выделить объём памяти для машины, сдвиньте ползунок вправо. Мы рекомендуем указать объём 4 ГБ, но если на вашем компьютере недостаточно оперативной памяти, выбирайте максимум 2-3 ГБ. Нажмите Далее:
Выберите пункт «Создать новый виртуальный жёсткий диск» и кликните Создать:
Укажите тип файла «VDI (VirtualBox Disk Image)» и нажмите Далее:
Выберите формат хранения «Динамический виртуальный жёсткий диск». Нажмите Далее:
Укажите объём жёсткого диска 20 ГБ. Кликните Создать:
Готово, вы создали VM Oracle. Теперь переходите к установке операционной системы.
Как установить операционную систему в Oracle VirtualBox
Рассмотрим, как установить операционную систему на примере Ubuntu 20.04.
Перейдите в раздел Система. На вкладке «Материнская плата» поставьте галочку напротив пункта «Гибкий диск»:
На вкладке «Процессор» выберите 2 ядра:
Перейдите в раздел Дисплей. Поставьте галочку напротив пункта «Включить 3D-ускорение» и перетяните ползунок вправо, чтобы выделить максимально возможный объём видеопамяти:
После загрузки кликните Ок:
На главной странице нажмите Запустить:
Подождите, пока загрузится машина:
В приветственном окне выберите нужный язык:
Нажмите установить Ubuntu:
Выберите раскладку клавиатуры «Russian». Нажмите Продолжить:
Выберите пункты «Обычная установка» и «Загрузить обновления во время установки Ubuntu». Затем кликните Продолжить:
Выберите тип установки «Стереть диск и установить Ubuntu» и нажмите Установить:
Затем кликните Продолжить:
Назначьте нужный регион и нажмите Продолжить:
Зарегистрируйтесь. Задайте имя и пароль, остальные поля будут заполнены автоматически. Нажмите Продолжить:
Дождитесь окончания установки и кликните Перезагрузить:
Дождитесь перезагрузки и нажмите Enter:
Выберите учётную запись, которую вы создали на шаге 15:
Введите пароль, который вы задали при создании учётной записи:
Примите предлагаемые настройки или нажмите Далее в правом верхнем углу экрана:
Готово, вы установили ОС Ubuntu 20.04 и можете приступать к работе:
Теперь вы знаете, зачем нужна виртуальная машина и как запустить её с помощью программы VirtualBox.
Виртуальный дата-центр VMware
Кроме VM, есть более крупные решения ― виртуальные дата-центры. Например, виртуальный дата-центр VMware, который можно заказать в REG.RU.
Для чего используют виртуальный дата-центр?
Эта услуга подходит для применения как частными лицами, так и крупными организациями и корпорациями. Возможности виртуализации в совокупности с облачными вычислениями обладают такими преимуществами как масштабируемость, экономичность и доступность ресурсов в любое время. Можно создавать и развёртывать несколько ВМ одновременно. К примеру, вы можете создать один виртуальный контейнер vApp с машинами для тестовой среды, а другой — для продуктивной. При этом у вас будет возможность изолировать их с помощью разных сетей. Подробнее об услуге читайте в статье: Как начать работу с VMware.
Что такое виртуальная машина и зачем она нужна
Выясняем, что представляют собой виртуальные машины, как ими пользоваться и зачем они вообще нужны.
Что такое виртуальная машина?
Виртуальная машина (ВМ, VM) – это виртуальная среда, работающая как настоящий компьютер, но внутри другого компьютера. Если выражаться проще, то это приложение, которое имитирует компьютер с полноценной операционной системой и аппаратным обеспечением.
Она запускается на изолированном разделе жесткого диска, установленного в компьютере-хосте (так называют системы, в рамках которых запускают ВМ). Благодаря виртуальным машинам пользователи могут тестировать программное обеспечение в различных окружениях (системах, конфигурациях и т.п.) на своем ПК без необходимости запускать и настраивать отдельное устройство.
Как работают виртуальные машины?
Определение виртуальной машины дает базовое понимание того, как все устроено, но мы пойдем чуть дальше. Запуск VM возможен благодаря технологии виртуализации. Она позволяет использовать существующее «железо» для создания его виртуальных копий. Виртуализация имитирует аппаратное обеспечение в цифровом виде для запуска нескольких полноценных операционных систем на одном компьютере поочередно или одновременно. Физическое «железо» в этом случае называется хостом, а виртуальное – гостевой ОС.
Весь процесс управляется приложением, которое называют гипервизором. Гипервизор отвечает за распределение физических ресурсов между виртуальными системами, выделении определенного количества оперативной памяти или пространства на жестком диске. Также он контролирует все процессы, запущенные в гостевых ОС, чтобы не произошло избыточной нагрузки и сбоев в работе систем из-за нехватки ресурсов.
Типы виртуальных машин
По типу ВМ делятся на виртуализацию процесса и виртуализацию ОС. В первом случае виртуальная машина отвечает только за работу конкретного приложения/процесса. По такому принципу работает язык программирования Java. Утилиты, написанные на нем, запускаются только в специальных виртуальных машинах – «прослойках» между аппаратной частью ПК и непосредственно приложением. Во втором случае речь идет об эмуляции полноценной системы.
Также ВМ иногда делят на категории по типу виртуализации:
Аппаратная виртуализация. Когда ВМ взаимодействует с физическим оборудованием ПК.
Программная. Когда виртуальная машина генерирует «новый ПК» на уровне ПО и использует его для запуска других систем.
Также есть виртуализация накопителей (когда несколько физических хранилищ данных объединяются в одно) и сети (когда несколько физически разных сетей формируют одну виртуальную).
Зачем нужны ВМ?
Виртуальные машины используются в бизнес-среде. Разработка большого количества сервисов сейчас не обходится без ВМ или контейнеров. Разработчики используют их, чтобы гарантировать легкую расширяемость продукта и высокую производительность независимо от количества пользователей.
Некоторые разработчики используют ВМ в утилитарных целях, чтобы проверять работоспособность своих проектов. А кто-то таким образом знакомится с новыми для себя операционными системами. Впрочем, обо всем подробнее.
Тестирование ПО
Благодаря виртуальным машинам, можно тестировать написанный код в различных операционных системах и графических средах, не используя для этого отдельные компьютеры.
Можно запустить на одном ПК несколько ВМ параллельно и запускать в них разрабатываемое приложение. С помощью виртуальных машин можно создать несколько «цифровых компьютеров» с различными характеристиками, чтобы узнать, как ваша программа/сервис будет работать на более слабых устройствах.
Разработка в безопасной среде
Иногда вести разработку на хостовой операционной системе небезопасно. Из-за прямого подключения к корпоративной сети, из-за активности других приложений либо из-за непредсказуемого поведения написанного кода.
Поэтому можно быстро и дешево (или даже бесплатно) организовать безопасную рабочую среду, где можно тестировать любой код, не переживая, что он как-то навредит основной системе или к нему кто-то получит доступ извне.
Виртуальную машину можно лишить доступа к некоторым компонентам ПК или к сети.
Знакомство и работа с новыми ОС
Используя ВМ, можно из праздного интереса установить на ПК какой-нибудь дистрибутив Linux или другую ОС. Неплохой вариант для тех, кто ничем кроме Windows не пользовался и хочет узнать, как там поживают пользователи Linux.
Еще один распространенный сценарий – установка Windows параллельно с macOS в качестве виртуальной машины, чтобы пользоваться эксклюзивными для системы Microsoft продуктами.
Развертывание дополнительных инстансов приложения
Виртуальные машины можно использовать для параллельного запуска нескольких инстансов (то есть действующих копий) одной программы. Это может быть полезно как на этапах тестирования, так и после запуска какого-либо онлайн-сервиса. По такому принципу (если говорить совсем уж обобщенно и абстрактно) работают контейнеры Docker.
Размещение ПО на удаленных серверах
Технологии виртуализации используются на хостинговых платформах. Например, VDS (или VPS) – это Virtual Dedicated Server, то есть виртуальный сервер, имитирующий реальное железо.
На одном физическом сервере несколько VDS запускаются параллельно и работают как отдельные компьютеры для вебмастеров, заплативших за услуги хостинг-провайдера.
Преимущества ВМ
Исходя из описанных выше сценариев применения, можно вывести три основных преимущества виртуальных машин над реальным аппаратным обеспечением:
ВМ можно установить на любой компьютер. ВМ поддерживают любые ОС, поэтому можно сэкономить окружающее пространство, деньги на покупку дополнительного оборудования и время на установку и настройку компьютеров.
На виртуальные машины можно устанавливать устаревшие операционные системы, поддерживающие разного рода архаичное программное обеспечение. Не придется содержать устаревшие компьютеры для их запуска и использования.
ВМ легче перезапустить/перенастроить и заново вернуть к работе в случае форс-мажора.
Недостатки ВМ
Из минусов виртуальных машин обычно выделяют два наиболее значимых. Во-первых, стабильность. Большое количество виртуальных машин, запущенных на одном устройстве, могут привести к снижению стабильности и скорости работы основной операционной системы. Хост-компьютер должен соответствовать высоким системным требованиям, что может дорого стоить и ограничивать пользователей в выборе форм-фактора устройства.
Во-вторых, производительность. Даже на мощных ПК виртуальные машины работают ощутимо медленнее, чем хост-система. Нет полноценного контакта ПО с аппаратным обеспечением. Поэтому заставить работать приложения в ВМ так же быстро, как на стандартной ОС, не получится.
Сравнение контейнеров с виртуальными машинами
Принципиальное отличие контейнеров от ВМ заключается в масштабе. Виртуальные машины имитируют полноценный ПК. В них устанавливается система для решения задач пользователя. Контейнеры созданы для изолированного запуска единичных приложений и зависимых компонентов, необходимых для запуска и работы этого приложения.
Контейнеры легче как в плане физического размера, так и в плане скорости освоения. Настроить контейнеры для решения задач бизнеса проще, а возможность взаимодействовать напрямую с ядром системы позволяет загружать изолированные программы быстрее.
Виртуальные же машины куда функциональнее и позволяют запускать в отдельном программном окружении большое количество систем, программ и т.п.
Лучшие программы для создания и настройки ВМ
Чтобы начать работу с виртуальными машинами, нужна специальная программа. Это инструмент, задействующий системные технологии виртуализации, чтобы использовать аппаратное обеспечение хост-системы для запуска дополнительных ОС в изолированном программном пространстве.
Их довольно много, но мы рассмотрим лишь несколько ключевых, использующихся чаще всего.
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 можно запускать Windows параллельно с Ubuntu или Fedora параллельно с macOS.
Также QEMU можно задействовать для виртуализации на серверных ПК. Поддерживается KVM-виртуализация для развертывания на удаленном компьютере сразу нескольких VDS.
Главное преимущество QEMU – высокая производительность. Разработчики обещают скорость работы гостевых ОС на уровне хост-систем.
Как настроить виртуальную машину?
Процесс настройки зависит от выбранного инструмента для создания ВМ. Почти всегда процесс упирается в выбор образа гостевой системы и установку параметров аппаратного обеспечения. Многие инструменты предлагают опции для быстрого запуска ВМ. Такие есть в VMWare Workstation, Parallels и Hyper-V.
Немного сложнее устроена программа QEMU. О том, как ее настроить, мы писали ранее.
Самый простой способ:
Заходим на сайт Oracle.
Скачиваем и устанавливаем VirtualBox.
Загружаем образ системы, которую нужно установить в ВМ (в формате ISO).
Запускаем VirtualBox и нажимаем кнопку «Создать новую…».
Указываем путь до ISO-файла с системой и жмем «Установить…».
Теперь с виртуальной системой можно работать, как с настоящей.
Вместо заключения
На этом все. Теперь вы знаете, что такое виртуальная машина и какие задачи она помогает решить. Но что еще важнее, теперь вы можете сами создать ВМ!
Виртуальные машины: что это, как работают и чем отличаются от контейнеров
Виртуализация физического оборудования позволяет эффективнее использовать его ресурсы и получить большую свободу в установке нужного программного обеспечения. В статье расскажем о «единице виртуализации» — виртуальной машине, разберемся, что это такое и как работает.
Что такое виртуальная машина и как она работает
Виртуальная машина (VM, ВМ) — это виртуальная копия реального оборудования, приложение, которое функционирует как физический компьютер или сервер. Ее еще называют виртуальным сервером.
С точки зрения пользователя виртуальная машина выглядит как настоящее оборудование — как будто вы используете программы или приложения, установленные на вашем компьютере, вот только этот компьютер не реальный, а виртуальный.
ВМ не зависит от реального оборудования и может использовать только те ресурсы, которые были в нее добавлены. Например, воспроизводит внутри себя код установленной на ней операционной системы.
Просто так виртуальная машина работать не будет, между ней и физическим оборудованием должна быть прослойка — специализированная программа под названием гипервизор. Она как бы копирует (эмулирует) процессорное время, память, жесткий диск, сеть и другие аппаратные ресурсы физического устройства, позволяя виртуальным машинам совместно ими пользоваться.
Виртуальные машины работают на гипервизоре и каждая из них может содержать свою ОС. Другие приложения, помимо гипервизора, установлены на хостовом оборудовании и используют его основную ОС. Источник
Зачем нужны виртуальные машины
С помощью них можно эффективнее использовать физическое оборудование — значит, для решения поставленных задач его нужно меньше. Также при использовании виртуальной машины снижается потребность в электроэнергии и охлаждении.
Кроме того, преимуществами виртуальных машин пользуются, чтобы упростить резервное копирование, аварийное восстановление инфраструктуры, новые развертывания приложений и базовые задачи системного администрирования — новую ВМ с нужной ОС и кодом легко развернуть из виртуального образа.
Виртуальные машины легко перемещать между физическими серверами, например, когда надо заменить оборудование на новое или перераспределить нагрузку между серверами. Это упрощает управление кластером, то есть группой из нескольких серверов. Также ВМ можно копировать для оптимизации использования аппаратных ресурсов.
Разные виртуальные машины на одном физическом сервере обычно потребляют разное количество ресурсов, то есть одна из них может использовать всё доступное физическое хранилище, а другая хранить мало файлов, поэтому требуется балансировка распределения доступных ресурсов между ВМ.
Как используют виртуальные машины
Для чего еще нужны виртуальные машины? Есть много вариантов их использования. Часто их развертывают, если для одновременно работающих приложений требуются разные операционные системы и вычислительная мощность.
Вот еще несколько вариантов использования виртуальных машин:
Виртуальные машины и контейнеры: в чем разница?
Контейнеризация — другой вид виртуализации, контейнеры виртуализируют только операционную систему, а не все базовое оборудование. При этом одно и то же ядро операционной системы, то есть ее центральный модуль, может обслуживать не одно, а несколько изолированных экземпляров пространства пользователя — областей ОС, предназначенных для приложений и данных конкретного пользователя. Эти области и называют контейнерами.
Эти контейнеры содержат код, системные инструменты, среду выполнения, системные библиотеки и параметры, необходимые для запуска приложений. Их часто используют, когда требуется работа нескольких приложений на одной и той же операционной системе. Контейнеры полностью изолированы, программы из разных контейнеров не могут воздействовать друг на друга.
Контейнеры применяют в распределенных приложениях на инфраструктуре частного или публичного облака, а также для упаковки устаревших приложений, чтобы упростить их развертывание, в том числе при переносе на другой сервер.
В отличие от виртуальных машин, все контейнеры используют одно и то же ядро операционной системы, которая установлена на сервере. В этом и недостаток, и преимущество контейнеризации:
Одним из ведущих разработчиков контейнеров в настоящее время является Docker, который впервые появился на рынке в 2013 году как контейнерная платформа на базе Linux.
Слева — контейнеры, они находятся как бы над операционной системой, вместо Docker может быть и другая система контейнеризации. А вот справа — виртуальные машины, которые сами содержат гостевые ОС. Источник
Облачные вычисления и виртуальные машины
Виртуальными машинами можно пользоваться не только на своем оборудовании. Их можно брать в аренду у облачных провайдеров — они сами покупают оборудование, настраивают системы виртуализации, а потом выделяют своим клиентам нужное количество виртуальных серверов. В облаке можно развернуть не только одну-две виртуальных машины, но и целую IT-инфраструктуру с множеством таких ВМ, связями между ними и сложными настройками.
Облачные вычисления добавляют к виртуализации дополнительные технологии, например, сервис самостоятельного администрирования и автоматический биллинг — подсчет стоимости потраченных ресурсов. Так, в облачном дата-центре инженеры могут создавать новые виртуальные машины в зависимости от потребностей пользователей или нового проекта. А обычный пользователь в облачной среде выбирает ресурсы из каталога в личном кабинете и создает виртуальные машины, не взаимодействуя с реальным физическим оборудованием.
Для многих бизнес-задач использовать виртуальные серверы в облаке проще и выгоднее, чем покупать и настраивать собственное оборудование. Облачная инфраструктура дает широкие возможности для разработки программного обеспечения, подходит как для стартапов и небольшого бизнеса, так и для развертывания IT-систем крупных проектов.