Какие виртуальные машины можно использовать бесплатно
Виртуальные машины, какую выбрать и где скачать
В последнее время из уст людей, связанных с компьютерными технологиями, все чаще и чаще можно услышать термины «виртуализация» и «виртуальная машина». Причем довольно часто за обоими этими понятиями скрываются совершенно разные вещи. Так что же такое виртуализация, о которой так часто говорят, и почему она так актуальна в последнее время?
Общие сведения о виртуализации
В широком смысле, виртуализация представляет собой процесс отделения реализации какого-либо объекта или процесса от его представления для пользователя. Такое определение видится весьма пространным, однако понять его совсем просто: виртуализация имеет место быть тогда, когда мы видим что-то и работаем с тем, что на самом деле имеет другую от нашего виденья природу и строение. Для чего это нужно? Только для того, чтобы нам было удобно работать с созданным для нас окружением, которое на самом деле устроено совсем иначе, чем мы его себе представляем.
Виртуализация бывает разная: операционных систем, приложений, систем хранения данных, отдельных аппаратных и программных компонентов вычислительных систем. На самом деле, мы все так или иначе пользуемся продуктами виртуализации – многие наверное слышали про виртуальную машину Java в браузерах, логические диски в операционной системе Windows тоже частный случай виртуализации (ведь на самом деле, одно физическое устройство, жесткий диск, представляется пользователю как несколько логических томов).
Но все это было и раньше, почему же в последнее время так много заговорили о виртуализации? А случилось это потому, что за последние несколько лет был совершен большой технологический прорыв в области виртуализации операционных систем, открывший огромные возможности и перспективы. Под виртуализацией операционных систем понимают процесс создания на физическом компьютере так называемой виртуальной машины (что-то вроде виртуального компьютера), в которой устанавливается своя собственная операционная система. Таких виртуальных машин на одной физической платформе может быть несколько, при этом каждая виртуальная машина имеет свои собственные виртуальные аппаратные компоненты: память, процессор, жесткий диск, сетевые адаптеры. Эти ресурсы резервируются виртуальной машиной за счет физических ресурсов аппаратного обеспечения компьютера. Такая модель организации вычислительных систем впервые появилась еще в 70-х годах прошлого века в мэйнфреймах корпорации IBM System 360/370, когда требовалось сохранить предыдущие версии экземпляров операционных систем. Но лишь в 21-м веке эта технология обрела новый смысл на серверных системах и настольных ПК.
Виртуализация операционных систем тоже бывает разная, однако нас интересует такое её представление для пользователя: в операционной системе физического компьютера (её принято называть хостовой ОС): как обычная программа, устанавливается платформа виртуализации, с помощью которой создаются виртуальные машины, в которых, в свою очередь, устанавливаются различные операционные системы (их принято называть гостевыми ОС). На рисунках 1 и 2 показаны отличия классической архитектуры компьютера от архитектуры, содержащей виртуальные машины.
Рисунок 1 – Классическая архитектура компьютера
Рисунок 2 – Один из видов виртуализации операционных систем
Гостевые системы и хостовая ОС работают одновременно, обмениваются данными и участвуют в сетевом взаимодействии не только с хостовой ОС, но и с внешней по отношению к физическому компьютеру сетью.
Какие же преимущества несет собой возможность одновременного запуска нескольких операционных систем на одном компьютере? Вот лишь некоторые варианты использования виртуальных машин на настольных компьютерах пользователей:
Это, конечно же, далеко не все возможности применения виртуальных машин на пользовательских компьютерах. Каждый сам может себе придумать, для каких целей ему нужна виртуальная машина, и почувствовать, насколько это удобно, надежно и просто. Перед возможностью установки нескольких хостовых операционных систем на один компьютер с их раздельной загрузкой, виртуальные машины имеют следующие неоспоримые преимущества:
Тем не менее, несмотря на все преимущества, виртуальные машины также имеют и свои недостатки:
Все перечисленные недостатки виртуальных машин являются в принципе разрешимыми и, по сравнению с большим списком их достоинств, являются не столь существенными. Именно поэтому, технологии виртуализации и виртуальных машин развиваются взрывными темпами, а пользователи находят им все новые и новые применения.
Итак, вы решили установить виртуальную машину. Платформу виртуализации какого производителя вам выбрать? В данный момент на рынке платформ виртуализации присутствуют несколько лидирующих компаний: VMware (независимое подразделение корпорации EMC), Microsoft, Oracle, XenSource, Parallels, SWsoft, Virtual Iron и другие. У платформы каждого из производителей есть свои неоспоримые достоинства и недостатки, однако, что касается пользовательских (настольных) систем виртуализации для хостовых систем Windows, безоговорочных лидеров тут можно пересчитать по пальцам одной руки: компании VMware, Oracle и Microsoft.
Для настольных систем компании предлагают пользователям несколько бесплатных продуктов: VirtualBox (от Oracle), Hyper-V (от Microsoft, бывший Microsoft Virtual PC) и VMware Workstation Player (от VMWare). Кроме них, существует так же виртуальная машина QEMU, разрабатываемая сообществом
Лучшие виртуальные машины для Windows (бесплатные)
Microsoft Hyper-V
Бесплатная виртуализация — практическая применимость
Нет, названием я вовсе не хотел сказать, что это плохая технология, она наоборот прекрасна, но вот её реализации очень различаются. В интернете куча ресурсов, посвященных этой теме, и каждый считает своим долгом сделать сравнение, да еще с кучей графиков и официальных рекламаций. Чтож, значит это и мой долг. Вся разница в том, что мое сравнение будет включать в себя те аспекты, которые были значимы для меня (например проброс USB устройств в гостевые системы и удобство реализации программного роутера), а еще мне будет лень приводить официальные таблицы и значит мое сравнение будет короче, привязано к одной из практических задач. И самое главное — поскольку предприятие, в котором я работаю очень скупо на развитие IT инфраструктуры, то обсуждение будет вестись вокруг бесплатных продуктов. Итак, в ходе домашней и профессиональной деятельности пришлось столкнуться с такими системами, как VMWare vSphere, Microsoft Hyper-V и KVM. Рассмотрим их в порядке моего знакомства:
VMWare vSphere (ESXi)
О продукции VMWare всегда был только лучшего мнения и эта платформа стала любимой, но при одном условии — соответствие HCL (hardware compatibility list). То есть если «железо» хоста не отвечает HCL то можно только надеяться, что сами контроллеры совпадут с теми, что используются в комплектующих из HCL и в vSphere окажутся драйвера для них. Если же нет, то не видать вам этой платформы на хосте. Это есть главный минус платформы, который вытекает из главного плюса — она законченная. То есть не надо ничего пилить, строгать и бегать с бубном. Если она встает — значит она встает. То есть с полпинка и готовая для использования в производственной среде. Может устанавливаться на флеш накопитель, подключает почти все возможные системы хранения (local, NFS, iSCSI, FC).
Правильный аппаратный RAID понимает без проблем, «неправильный» не понимает в принципе. Очень мощные функции управления виртуальными сетевыми адаптерами. Не знаю что уж там в платном виртуальном коммутаторе Nexus 1000, но бесплатный — вполне L2 switch. В частности мою основную и вспомогательную сетевые потребности отрабатывает на ура, а именно:
1) основная — это сетевой мост (вроде бы так называется этот функционал), то есть позволить выделенному виртуальному интерфейсу работать так, как будто к нему напрямую подключен провод. Не знаю как лучше это объяснить, по сути вполне ожидаемая функция, например так работает шлюз, ему отдан интерфейс с подключением к провайдеру, виртуальному интерфейсу средствами vSphere присвоен зарегестрированный MAC и шлюз по этому MAC’у получает у провайдера IP, устанавливает PPPoE канал и все тому подобное.
2) вспомогательная — L2 свитч с поддержкой tagged и untagged портов. Благодаря этому шлюз прекрасно маршрутизирует VLAN сети, будучи подключенным только к одному физическому интерфейсу.
Ну и на десерт — полноценный проброс USB устройств в гостевые системы (например аппаратных USB ключей) и неплохие бесплатные решения для миграции и резервных копий. Veeam Backup&Replicate в бесплатной редакции реализует даже hot storage vMotion. Родная утилита конвертации позволяет легко и просто переделывать образы физических машин и иных виртуальных машин в работающие образы vSphere. Если к этому еще добавить платный, но прелестный vmware workstation, который будучи очень хорошим гипервизором второго уровня умеет подключаться к хосту vSphere и управлять его виртуальными системами, то картина вырисовывается прямо загляденье. Расплаты тут только две увидел на данный момент: HCL и RAID.
Microsoft Hyper-V Server
Как много он умеет согласно официальным пресс-релизам. Собирая домашний серверок я конечно подавал надежды именно на эту платформу, потому как моя платформа никак не попадала в HCL vmware. Первое, что бросилось в глаза — нужен бубен, и только фирменный для того, чтобы её запустить. Без «поллитры» или хорошего руководства тут не обойтись (к слову, первое знакомство с vSphere происходило без руководств, бубнов и подсказок, только на интуитивном уровне). Ну и чтобы хоть как-то сносно произвести начальную постустановочную настройку, приходится пользоваться неофициальными (любительскими) утилитами. Даже после нахождения хорошего руководства, приходилось долго соображать почему не отображается среди возможных интерфейсов ни одна сетевая карта, несмотря на только что установленные драйвера. Разгадка заключалась в том, что пока не вставишь кабель, система не отображает физический сетевой интерфейс. Интерфейс очень скудный, настроек для виртуальных машин и гипервизора меньше, зато судя по рекламам функций больше, просто они тщательней запрятаны. Начал я естественно со шлюза и … Hyper-V не справился с сетевой задачей #1. Более того проброс USB с хоста в гостевую систему в версии 3 еще не возможен, а более новой пока нет. Но вместо того, чтобы признать эту недоработку, представители MS в некоторых ресурсах указывают на то, что эта функция пока не доступна из-за ряда технологических ограничений, а у vmware она реализована неправильно — ах какие молодцы. Установка на флэш накопитель вроде бы возможна, но опять же только с «поллитрой», а так и спиться можно раньше, чем платформа заработает. Зато неправильные RAID ей не помеха.
Итак, что у нас в сухом остатке? Всеядность в отношении «железа» и всеядность в отношении RAID. Плюс должны работать качественные утилиты Veeam, но проверить я этого не смог — быстро решил искать ей замену.
Еще одна хваленая платформа. Почитал про её возможности и не смог устоять перед желанием испытать её, тем более что нужна была всеядная замена Hyper-V. И вот тут я понял, что это просто инвертированная vSphere во всех смыслах. Первое, с чем я столкнулся — множество разных вариантов разворачивания этой платформы. То есть предполагается, что человек должен все их попробовать, проанализировать и сделать вывод как правильнее в его случае. Как-то это непривычно в применении к серверам. К тому же не нашел официальных best practices по установке — реально кто во что горазд. Один утверждает, что надо все вручную сделать через libvirt, другой — что достаточно поставить VirtManager, а дальше все сделается автоматом, третий же утверждает, что лучше накатить ProxMox на Debian. Итог: желание попробовать вылилось в изучение доступных средств разворачивания и выбор оптимального. Таковыми являются на мой взгляд bare metal вариации, которые не требует предварительно установленной и подготовленной системы — пакет должен быть подогнан, так сказать «костюмчик должен сидеть». И из всего выходило, что внимания заслуживают дистрибутивы ProxMox и OpenNode. Первый на Debian, знакомство с которым старо и поверхностно, второй же на CentOS, который я использую не в одном экземпляре, считаю синонимом стабильности и конечно наследником RedHat way, с которого я и начинал знакомство с Linux.
OpenNode
OpenNode насчитывал уже 6-ую версию релиза и посему был воспринят мной, как серьезная заявка на платформу для производственной среды и уж тем более для дома. Установка преподнесла сюрприз — я никак не мог пройти этап первоначальной настройки сетевого интерфейса: вбиваю все настройки, потом инсталлятор пытается их применить и выдает ошибку, которую я уже и не помню. После множества вариантов настроек я сунул кабель в интерфейс и … вот она — причина. Почти как в Hyper-V инсталлятор не пускает вас дальше в настройке сетевого интерфейса, пока вы не дадите ему активный линк. Эх забыты времена, когда RedHat устанавливался с трех дисков на компьютер, вокруг которого в радиусе 2-х километров нигде не было интернета и сети. Ладно, с этим смирились, систему поставили, запустили консольный UI, который при создании хранилища вывалился с ошибкой. Ладно, посмотрим GUI, который представляет собой VirtualManager на сервере без иксов. Необычно, но решение оказывается есть и даже под Windows. Скачиваем и устанавливаем Xming(порт X-сервера), коннектимся по SSH и запускаем VirtualManager, который стартует в нашем порте X-ов. Несмотря на то, что я обычно не обращаю внимание на прорисованность интерфейсов серьезных продуктов, но даже этот я отметил словом «Убогий», а ведь на дворе все же 2013 год (дело происходило еще в 2013ом). Ладно и на это мои глаза спокойно закрываются, создаем виртуальную машину в стандартном хранилище (потому что другое не создается и вываливается с ошибкой) и на каком-то моменте VirtualManager вываливается с ошибкой и больше не стартует. Перезагрузка ему не помогает. Я думаю существуют всякие мануалы, как вручную допилить libvirt, найти в логах по коду ошибки причину, по которой VirtualManager не работает, исправить это в конфигах и заставить работать… я думаю можно, но желания уже нет.
ProxMox
6-ой релиз OpenNode не произвел должного впечатления. Остается последняя надежда — ProxMox, Неужели в этом мире с моими хотелками есть только vSphere — тогда они смело могут считать себя монополистами. Ставлю ProxMox, этап с настройкой интерфейса не проверил, так как линк уже был, установка прошла без проблем. Немного пришлось помучиться с перенастройкой сетевых интерфейсов — сказалось видимо плохое знание Debian. Первое отличие, которое бросается в глаза — тут используется не VirtualManager, а web panel. Это меня даже радует, потому что управление через веб я начинаю любить все больше. Конфигурация сетевых интерфейсов немного замудреная, но можно разобраться даже интуитивно. Почему то переконфигурация не давала эффекта без перезагрузки. Минус, но пока терпимый. В консоль для его исправления не лез по 2-м причинам: 1) Debian все равно мне плохо знаком 2) Рассматриваю продукт, а в нем все управление сосредоточено в панели управления, все что в консоли — скажем так «недокументированные возможности». Кроме того без «недокументированных возможностей» нет и поддержки сетей в VLAN. Наконец создаю виртуальную машину, образ для установки есть возможность загрузить прямо через вебморду, что вызывает восхищение после Hyper-V и OpenNode (в любимом vSphere это конечно же есть). MAC адреса виртуальным адаптерам присваиваются, подключение к ISP пробросил в виртуалку, приступаю к установке и… Java RE более старой версии ничего не позволяет сделать, на игноры предупреждения безопасности вылазит только окно Error. Придется обновить. Обновился, подключился к консоли, но через неделю эта версия Java не позволила мне снова подключится, потому что вышла новая версия. Мой сетевой тест #1 не вызвал проблем. Базовые функции по управлению виртуальными машинами вполне годные, функционал для альтернативы vSphere на этом рынке неплох, возможности по изменению «железа» VM, способы виртуализации KVM и openVZ(контейнеры). Статистики, бэкапы, снэпшоты, поддержка авторизации LDAP/AD, встроенные базы, подключение хранилищ: RBD, iSCSI, NFS и другие, которые у меня не на слуху, обновление и как я понял готовые скачиваемые пакеты openvz virtual appliances. А теперь на минутку вспомним, что это надстройка над Debian и тогда станет понятно, что если подключить сюда «поллитру» и бубен, то становятся возможными установка на неправильные raid и даже soft raid, доставка рабочего стола Spice (еще не попробовал, рассказать не могу), проброс USB устройств с хоста (к сожалению адрес пробрасываемого устройства меняется после перезагрузки), проброс PCI плат — а тут меня ждал облом — процессор не поддерживает passthrough. Как видите возможностей много, а с допилкой еще больше. Но разбираться с тем, что из этого заработает, а что нет только вам. Этакий конструктор, с неплохим стартовым набором и возможностью допиливания.
Наконец мой рейтинг таков:
1: VMWare vSphere
2: Top Mix: ProxMox
3: Hyper-V
Outsider: OpenNode.
Выбираем бесплатный сервер в облаке для тестовых целей, домашних проектов и т.д
Всегда хотелось познакомиться с облачными сервисами, но на моих работах они либо не использовались, либо не в моём отделе. Платить свои деньги не очень хотелось за такое знакомство, да и всё это казалось довольно сложным. Куча разных тарифов, что-то бесплатно, что-то платно. Но на самом деле каждый может разобраться с этим и самое главное легко. Настолько легко, что вы просто обязаны получить свой собственный бесплатный облачный сервер прямо сейчас. Осталось только выбрать какой.
Статья будет полезна тем, кто ещё не пользовался облачными серверами.
Бесплатный облачный сервер можно использовать для разных целей:
Microsoft Azure
Amazon Webservices
Подходит для тестового сервера, организации внешнего мониторинга, своего домашнего проекта или редкого использования в качестве proxy/vpn.
Google Cloud Platform
DigitalOcean
Scaleway
Для всех платформ необходимо привязать номер телефона и номер банковской карты. Если первое для меня не критично, то в качестве номера карты я предпочитаю указывать электронную виртуальной карту ядекс-денег или qiwi (чтобы случайно по неопытности не попасть на огромные суммы). Эти карты выпускаются и перевыпускаются бесплатно. Для Amazon деньги на баланс класть не надо, проверяется только то что карта настоящая путём попытки снять деньги с карты и получения от банка информации, что карта существует. Один мой знакомый каждый год получает новый бесплатный облачный сервер на такие карты и тестовые рабочие симки. Это нехорошо и ему должно быть очень стыдно.
Итак, давайте получим наш первый облачный тестовый сервер. Я рекомендую Amazon, потому что с ним нет проблем. А ведь меньше всего хочется вечером после работы из последних сил биться с огромной неповоротливой системой регистрации.
Если на работе вы не сильно устаёте, любите сложности, и есть пара лишних вечеров, то добро пожаловать в Google.
… но не с гуглом.
В консоли ничего не работает, даже бесплатный вечный сервер не создать. На почту пришло письмо «Наша система зафиксировала подозрительные действия в Вашем платежном аккаунте. В качестве меры предосторожности мы временно заблокировали этот аккаунт.»
Собственно просят две вещи:
Отправил фотографию паспорта и bank statement (в qiwi есть возможность сделать выписку). Получил от гугла благодарность за присланные документы, но они всё таки хотят видеть фотографию моей карточки. Отсылаю фотографию виртуальной карты с экрана монитора (в письме была информация, что подходят фотографии электронных документов).
Получил от гугла благодарность за присланные документы, но предоплаченные и виртуальные банковские карты не принимаются.
Было бы не плохо, чтобы они это писали сразу при регистрации или хотя бы в первом письме — сэкономили бы мне кучу времени.
Попробовал карту vtb24 (правда у неё срок действия заканчивался через месяц) — не подошла. Заказал карту Яндекс Денег, подождал пока она дойдёт до меня, но всё равно выдаётся ошибка «Произошла непредвиденная ошибка. Повторите попытку позже..«, при этом деньги снимаются, а потом возвращаются через некоторое время. Сейчас я заказал дополнительную банковскую карту Банка Кипра, подождал, опять ошибка. Также выяснилось, что у моего коллеги были проблемы с картой Тинькофф. Никогда не думал, что напишу такое, но я не рекомендую использовать сервис облачного хостинга от компании Google.
Кстати недавно на работе понадобился CDN, как выдумаете что мы выбрали Amazon или Google?
На борьбу с гуглом у меня потребовалось несколько месяцев, несколько банковских карт и несколько миллионов нейронов. Как вы могли понять я не могу порекомендовать облачный сервис «компании добра», более того я неоднократно писал жалобы в ФАС на рекламу компании Гугл, которая мягко говоря вводит пользователя в заблуждение. Делал скриншоты, цитировал условия использования сервиса… но слава богу не отправил. Оставлял это решение на следующий день, а там уже и отпускало. Пока я собирал документы для жалобы до меня дошло, что это было.
После введения «налога на Гугл» (согласно которому его и другие иностранные компании обязывают платить ндс за частных пользователей) Гугл поменял тип аккаунтов с физических лиц на юридические, чтобы перевесить обязанности с себя на самих пользователей. Но видимо забыл, что его предложением «300 долларов на 12 месяцев» может воспользоваться только физическое лицо.
В итоге, с одной стороны мы получаем рекламу, где физически заблокирована возможность выбора физического лица:
а с другой стороны соглашение, в котором написано, что нам ничего не светит:
Ну а с третьей стороны вместо нормального ответа, что это невозможно мы получаем нечитаемые ошибки «Произошла непредвиденная ошибка. Повторите попытку позже… Код ошибки: OR-IEH-01.» во время привязки карты. Если честно, не ожидал такой подставы от гугла. Пропало всякое желание попробовать их сервис.
После всей этой истории я поставил статью на паузу и вернулся к ней через пару месяцев. Более того, я всё таки смог разобраться как мне познакомиться с их платформой не используя бесплатный период. К слову говоря, пока вы делаете попытки разблокировать аккаунт, чтобы наконец-то им воспользоваться в это самое время обратный отчёт во всю сокращает количество дней.
Достаточно отказаться от бесплатного периода, подтвердить согласие на оплату и после этого открывается возможность бесплатно пользоваться консолью и создать пожизненны-бесплатный сервер.
Устанавливая различные пакеты помните, что у вас бесплотно только 1 гигабайт трафик в месяц.
Надеюсь, что статья будет полезна и потраченные на неё полгода были не зря. Теперь я могу спокойно перейти к написанию новой статьи, посвящённой недавнему мероприятию highloadcup.
Виртуальные машины. Как сделать компьютер в компьютере
Содержание
Содержание
В одном обычном компьютере можно создать сразу несколько виртуальных, чтобы познакомиться с возможностями 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 интернет был очень другим.