Зачем мне виртуалки?
Думаю что каждый хоть раз слышал, что существуют виртуальные машины (далее по тексту «ВМ»).
Виртуальные машины, позволяют развернуть несколько систем на базе одного компьютера или сервера.
Я хочу поведать о том, как можно их использовать и зачем они нужны.
Если Вам не сложно, комментируйте, и смело задавайте вопросы.
Начну с того, что я с ними познакомился уже давненько. Не буду рекламировать конкретную продукцию, скажу лишь, что пользовался одной из самых распространенных систем работающих на винде 😉
Я пришел к использованию ВМ в связи с тем, что по долгу службы приходилось саппортить малограмотных пользователей все той же Винды, разбросанных по всему городу. Проблема была в том, что пользователи были на разных системах. Пару раз мне даже приходилось сталкиваться с 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-систем крупных проектов.
Что такое виртуальная машина и зачем она нужна
Выясняем, что представляют собой виртуальные машины, как ими пользоваться и зачем они вообще нужны.
Что такое виртуальная машина?
Виртуальная машина (ВМ, 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-файла с системой и жмем «Установить…».
Теперь с виртуальной системой можно работать, как с настоящей.
Вместо заключения
На этом все. Теперь вы знаете, что такое виртуальная машина и какие задачи она помогает решить. Но что еще важнее, теперь вы можете сами создать ВМ!
Виртуальные машины. Как сделать компьютер в компьютере
Содержание
Содержание
В одном обычном компьютере можно создать сразу несколько виртуальных, чтобы познакомиться с возможностями 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 интернет был очень другим.