виртуальная машина что это такое и зачем она нужна
Зачем мне виртуалки?
Думаю что каждый хоть раз слышал, что существуют виртуальные машины (далее по тексту «ВМ»).
Виртуальные машины, позволяют развернуть несколько систем на базе одного компьютера или сервера.
Я хочу поведать о том, как можно их использовать и зачем они нужны.
Если Вам не сложно, комментируйте, и смело задавайте вопросы.
Начну с того, что я с ними познакомился уже давненько. Не буду рекламировать конкретную продукцию, скажу лишь, что пользовался одной из самых распространенных систем работающих на винде 😉
Я пришел к использованию ВМ в связи с тем, что по долгу службы приходилось саппортить малограмотных пользователей все той же Винды, разбросанных по всему городу. Проблема была в том, что пользователи были на разных системах. Пару раз мне даже приходилось сталкиваться с 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, ВМ) — это виртуальная копия реального оборудования, приложение, которое функционирует как физический компьютер или сервер. Ее еще называют виртуальным сервером.
С точки зрения пользователя виртуальная машина выглядит как настоящее оборудование — как будто вы используете программы или приложения, установленные на вашем компьютере, вот только этот компьютер не реальный, а виртуальный.
ВМ не зависит от реального оборудования и может использовать только те ресурсы, которые были в нее добавлены. Например, воспроизводит внутри себя код установленной на ней операционной системы.
Просто так виртуальная машина работать не будет, между ней и физическим оборудованием должна быть прослойка — специализированная программа под названием гипервизор. Она как бы копирует (эмулирует) процессорное время, память, жесткий диск, сеть и другие аппаратные ресурсы физического устройства, позволяя виртуальным машинам совместно ими пользоваться.
Виртуальные машины работают на гипервизоре и каждая из них может содержать свою ОС. Другие приложения, помимо гипервизора, установлены на хостовом оборудовании и используют его основную ОС. Источник
Зачем нужны виртуальные машины
С помощью них можно эффективнее использовать физическое оборудование — значит, для решения поставленных задач его нужно меньше. Также при использовании виртуальной машины снижается потребность в электроэнергии и охлаждении.
Кроме того, преимуществами виртуальных машин пользуются, чтобы упростить резервное копирование, аварийное восстановление инфраструктуры, новые развертывания приложений и базовые задачи системного администрирования — новую ВМ с нужной ОС и кодом легко развернуть из виртуального образа.
Виртуальные машины легко перемещать между физическими серверами, например, когда надо заменить оборудование на новое или перераспределить нагрузку между серверами. Это упрощает управление кластером, то есть группой из нескольких серверов. Также ВМ можно копировать для оптимизации использования аппаратных ресурсов.
Разные виртуальные машины на одном физическом сервере обычно потребляют разное количество ресурсов, то есть одна из них может использовать всё доступное физическое хранилище, а другая хранить мало файлов, поэтому требуется балансировка распределения доступных ресурсов между ВМ.
Как используют виртуальные машины
Для чего еще нужны виртуальные машины? Есть много вариантов их использования. Часто их развертывают, если для одновременно работающих приложений требуются разные операционные системы и вычислительная мощность.
Вот еще несколько вариантов использования виртуальных машин:
Виртуальные машины и контейнеры: в чем разница?
Контейнеризация — другой вид виртуализации, контейнеры виртуализируют только операционную систему, а не все базовое оборудование. При этом одно и то же ядро операционной системы, то есть ее центральный модуль, может обслуживать не одно, а несколько изолированных экземпляров пространства пользователя — областей ОС, предназначенных для приложений и данных конкретного пользователя. Эти области и называют контейнерами.
Эти контейнеры содержат код, системные инструменты, среду выполнения, системные библиотеки и параметры, необходимые для запуска приложений. Их часто используют, когда требуется работа нескольких приложений на одной и той же операционной системе. Контейнеры полностью изолированы, программы из разных контейнеров не могут воздействовать друг на друга.
Контейнеры применяют в распределенных приложениях на инфраструктуре частного или публичного облака, а также для упаковки устаревших приложений, чтобы упростить их развертывание, в том числе при переносе на другой сервер.
В отличие от виртуальных машин, все контейнеры используют одно и то же ядро операционной системы, которая установлена на сервере. В этом и недостаток, и преимущество контейнеризации:
Одним из ведущих разработчиков контейнеров в настоящее время является Docker, который впервые появился на рынке в 2013 году как контейнерная платформа на базе Linux.
Слева — контейнеры, они находятся как бы над операционной системой, вместо Docker может быть и другая система контейнеризации. А вот справа — виртуальные машины, которые сами содержат гостевые ОС. Источник
Облачные вычисления и виртуальные машины
Виртуальными машинами можно пользоваться не только на своем оборудовании. Их можно брать в аренду у облачных провайдеров — они сами покупают оборудование, настраивают системы виртуализации, а потом выделяют своим клиентам нужное количество виртуальных серверов. В облаке можно развернуть не только одну-две виртуальных машины, но и целую IT-инфраструктуру с множеством таких ВМ, связями между ними и сложными настройками.
Облачные вычисления добавляют к виртуализации дополнительные технологии, например, сервис самостоятельного администрирования и автоматический биллинг — подсчет стоимости потраченных ресурсов. Так, в облачном дата-центре инженеры могут создавать новые виртуальные машины в зависимости от потребностей пользователей или нового проекта. А обычный пользователь в облачной среде выбирает ресурсы из каталога в личном кабинете и создает виртуальные машины, не взаимодействуя с реальным физическим оборудованием.
Для многих бизнес-задач использовать виртуальные серверы в облаке проще и выгоднее, чем покупать и настраивать собственное оборудование. Облачная инфраструктура дает широкие возможности для разработки программного обеспечения, подходит как для стартапов и небольшого бизнеса, так и для развертывания IT-систем крупных проектов.
Виртуальные машины. Как сделать компьютер в компьютере
Содержание
Содержание
В одном обычном компьютере можно создать сразу несколько виртуальных, чтобы познакомиться с возможностями 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-дистрибутивов, это может быть:
Также можно установить старую версию Windows и попробовать покорить современный интернет. Во времена технологии Active Desktop в windows98 интернет был очень другим.