что такое виртуальная машина и зачем она нужна
Зачем мне виртуалки?
Думаю что каждый хоть раз слышал, что существуют виртуальные машины (далее по тексту «ВМ»).
Виртуальные машины, позволяют развернуть несколько систем на базе одного компьютера или сервера.
Я хочу поведать о том, как можно их использовать и зачем они нужны.
Если Вам не сложно, комментируйте, и смело задавайте вопросы.
Начну с того, что я с ними познакомился уже давненько. Не буду рекламировать конкретную продукцию, скажу лишь, что пользовался одной из самых распространенных систем работающих на винде 😉
Я пришел к использованию ВМ в связи с тем, что по долгу службы приходилось саппортить малограмотных пользователей все той же Винды, разбросанных по всему городу. Проблема была в том, что пользователи были на разных системах. Пару раз мне даже приходилось сталкиваться с 95 и НТ =). Но речь не об этом.
Все мы прекрасно понимаем, что помнить все невозможно, а когда тебе звонят и спрашивают например: «как мне настроить параметры сети на win ME» невольно пытаешься вспомнить что там и как, и начинаешь заваливать и без того напуганного пользователя вопросами.
К чему я все это, да к тому что я решил для себя проблему, создав виртуалки с практически всеми популярными ОСями, и вопросы отпали сами собой, просто открывалась необходимая виртуалка, и я вместе с пользователем совершал действия необходимые для решения его проблемы.
Второе знакомство, или точнее второе применение ВМ нашлось, когда в конторе появился мощный сервак от HP. Через некоторое время стало ясно: То, что уже было поставлено на сервер не использует и 1/5 его возможностей, а кроме того, что уже стояло на нем (Вин 2к3 с АД, Ексч на 40 компов, фтп, иса) в него засунуть было невозможно, ибо все остальное было на никсах, и при этом на ужасно убогом железе 90х годов, как и то, что было перенесено на серв изначально. Я решил, что можно попробовать исправить ситуацию и заставить серв работать на 100%.
Сначала, я поставил ВМ прямо из под Винды и развернул на ней 3 виртуалки (в качестве эксперимента) и перенес на них часть никсоводов (в основном БД, и всякие эксперименты). На следующий день ко мне пришли удивленные сотрудники, с вопросом, что же случилось, что теперь все так летает. Я был приятно удивляет тем что в среднем, даже в пиковые моменты нагрузка сервера не превышала 40%, в связи с чем, следующая ночь была посвящена полному перебросу на виртуалки. В итоге было создано 7 ВМ, которые загрузили сервер на 80-90% иногда до 98% в пике, и наконец сожрали всю память. Таким образом было решено сразу несколько проблем.
1. Производительность станций.
2. Экономия электроэнергии
3. Снижение шума в жилище админа — серверной.
4. Высвобождение пространства (в общей сложности по отделам разъехалось 10 компов =))
5. Удобство управления. (получилась эдакая консоль)
Минус же в том, что подобные системы, в случае критичности отказа, обязательно должны полностью дублироваться, так как если накрывается одна машина (собственно наш сервак), то падает все =), но у меня такого не случалось.
Ну и машина должна быть достаточно мощной (проц, память, диски), потому что все распределяется между виртуалками.
Вот небольшая иллюстрация, отображающая смысл виртуализации, только в моем случае, A,B и C это слабенькие машинки загруженные на 90-100% а ABC Мощный сервер.
Еще ВМ используется мной, для безопасности, чуть не забыл.
Дело в том, что ВМ можно полностью изолировать от Материнской ОС, то есть вы можете не боятся экспериментировать с вирусами, левым софтом, можно так же проверять на них свой код, так как виртуалку намного проще восстановить, чем свою основную машину, плюс она всегда может быть под рукой.
Админу, она может так же помочь дома: можно спокойно экспериментировать создавая виртуальные сети, эмулируя сервисы.
admion
Есть еще вариант использования ВМ для обучения, например ознакомление с nix системами, многих пугает что при установке они могут случайно отформатировать жесткий диск, а установить что-то новое на ВМ более безопасно для системы.
Также можно использовать для тестов новых систем (тотже самый win7)
Что такое виртуальная машина и зачем она нужна
Выясняем, что представляют собой виртуальные машины, как ими пользоваться и зачем они вообще нужны.
Что такое виртуальная машина?
Виртуальная машина (ВМ, 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-файла с системой и жмем «Установить…».
Теперь с виртуальной системой можно работать, как с настоящей.
Вместо заключения
На этом все. Теперь вы знаете, что такое виртуальная машина и какие задачи она помогает решить. Но что еще важнее, теперь вы можете сами создать ВМ!
Что такое виртуальная машина и как её создать
В этой статье мы расскажем, что называется виртуальной машиной и для чего предназначена эта программа, а также покажем, как устанавливать VirtualBox.
Виртуальные машины с каждым годом все больше набирают популярность. Такой рост объясняется двумя основными причинами:
Что такое виртуальная машина
Иногда требуется установить программу, созданную для ОС, которой нет на устройстве. Для этого можно воспользоваться технологией виртуализации. Виртуализация ― это возможность запуска нескольких операционных систем на одном физическом устройстве. То есть виртуальная машина позволяет создать на одном компьютере ещё один компьютер. Технология использует ресурсы устройства (память, процессор, устройство ввода и вывода), но при этом работает как отдельный компьютер.
Операционная система, на базе которой создаётся новая среда, называется хост-системой (host), а дополнительная операционная система — гостевой.
Виртуализация создается при помощи двух элементов: виртуальной машины и гипервизора.
Виртуальная машина (ВМ или VM) — программа, с помощью которой можно создать гостевую операционную систему на компьютере.
Гипервизор — программа, которая управляет физическими ресурсами вычислительной машины и распределяет эти ресурсы между несколькими различными операционными системами, позволяя запускать их одновременно. Благодаря гипервизору операционные системы не мешают друг другу.
Есть три вида гипервизоров:
Аппаратный. Такие гипервизоры используют Hyper-V, KVM, ESXi. Xen. Аппаратный гипервизор устанавливается прямо на «железо» и выполняет функции эмуляции физического аппаратного обеспечения. То есть такой гипервизор является минимальной операционной системой.
Хостовый гипервизор запускается на обычной ОС, как и другие приложения в системе. В этом случае гостевая ОС выполняется как процесс на хосте, а гипервизор разделяет гостевую ОС и ОС хоста. Примеры гипервизоров этого типа: VMware, VirtualBox и Parallels Desktop для macOS.
Гибридный. Смесь аппаратного и хостового гипервизора. Аппаратными средствами управляет первый тип гипервизора. Хостовый работает с остальными аппаратными компонентами. Такой вид управления имеет Hybrid, Type-1+.
Зачем нужна виртуальная машина и виртуализация
Для чего используют виртуализацию:
Преимущества и недостатки использования виртуальной машины
Сохранение текущего состояния машины. Если нужно выключить ПК или перейти к другой задаче, то машина сохранит все настройки. При следующей загрузке ВМ откроется в том состоянии, в котором находилась в момент выключения.
Создание снапшота при тестировании нестабильной программы. Если при тестировании софта произошла критическая ошибка, можно откатить ВМ до предыдущего состояния. По сравнению с основной системой, для виртуальной машины выделяется меньше места на дисковом пространстве, благодаря этому откат системы происходит быстрее.
Машину можно сохранять или дублировать как изолированную среду. Её можно будет запустить позднее или скопировать на другой ПК со всеми заданными конфигурациями.
Для переподключения на другую ОС не нужно перезагружать компьютер.
Для одновременного запуска на ВМ нескольких операционных систем, нужно иметь соответствующие аппаратные ресурсы.
ОС в виртуальных машинах работают медленнее. Несмотря на постоянное развитие ВМ, работа виртуальных ОС ниже традиционных.
Виртуальная платформа поддерживает не весь функционал устройства. Например, VMware поддерживает USB 3.0, контроллеры портов COM и LPT и приводы CD-ROM, но виртуализация видеоадаптеров и поддержка функций ускорения трехмерной графики пока малодоступны.
Популярные виртуальные машины
Самыми популярным виртуальным машинам являются:
VMware
VMware — одна из самых популярных виртуальных машин для крупных задач. VMware имеет 2 вида: Player (бесплатная версия) и Workstation (платная версия). Для macOS есть специальная версия VMware Fusion и VMware Fusion Pro.
VirtualBox
VirtualBox — простой и бесплатный инструмент для виртуализации от компании ORACLE. Можно установить самые популярные операционные системы (Windows, Linux-подобные ОС, FreeBSD, macOS). Также VirtualBox может работать с VM, которые были созданы в платной версии VMware Workstation.
Microsoft Hyper-V
Microsoft Hyper-V — VM для Windows 10. Не работает на других ОС.
Parallels Desktop
Несмотря на развитость всех программ для виртуализации, самым часто используемым инструментом является 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.