Содержание

Виртуальная машина VirtualBox – что это такое и зачем она нужна? | Info-Comp.ru

Зачем, спросите Вы, нужны такого рода программные продукты? Сейчас попытаемся разобраться в этом, а также научимся устанавливать и настраивать виртуальные машины с помощью программы VirtualBox.

Что такое виртуальная машина и зачем она нужна?

Виртуальная машина (Virtual Machine) – программа, эмулирующая аппаратное обеспечение компьютера, т.е. это некий виртуальный компьютер, на который можно устанавливать операционную систему и все сопутствующее программное обеспечение, при этом никаких изменений в Вашей основной операционной системе не будет.

А зачем же нам нужна эта самая виртуальная машина? Лично я нашел в этом две, но очень значимые причины:

  • Всем же когда-нибудь хотелось увидеть, как выглядят другие операционные системы такие как: Linux, Solaris, да и просто другие версии Windows. Но сносить свою систему не охота, так как вдруг Вам новая ОС не понравится и придется переставлять заново. Поэтому есть такое решение как виртуальная машина, с помощью которой Вы легко можете устанавливать в ней другие ОС, а соответственно и протестировать их, без переустановки своей системы.
  • Подойдет для тех, кто уже овладел основами компьютера и хочет знать больше, например, как настраивается компьютерная сеть? как настраиваются различные службы сервера и так далее, на помощь Вам придет все та же самая виртуальная машина, с помощью которой Вы можете установить несколько операционных систем (причем разных!) и так сказать проводить опыты, без вреда своей операционной системе. Это отлично помогает в освоение компьютерных технологий, так как виртуальная машина помогает практиковаться, если конечно у Вас дома есть несколько компьютеров (3-4), то это другой разговор.

Теперь перейдем к самим виртуальным машинам. Для домашнего использования я отдаю предпочтения VirtualBox, но, конечно же, программ бывает много таких как: Virtual PC или продукты компании VMware, которые, кстати, подойдут для использования на работе (тем, кто работает сисадминами), например, для создания нескольких серверов на одном компьютере, тем самым Вы сэкономите достаточно много средств на компьютерном железе. VirtualBox является бесплатной, и доступна для скачивания, на официальном сайте virtualbox.org

Установка и настройка виртуальной машины в VirtualBox

Теперь перейдем к установке и настройке VirtualBox. Сама установка программы абсолютно стандартная и Вы ее можете установить без проблем, поэтому я этот процесс описывать не буду.

После того как Вы установили программу, запустите ее и увидите следующие окно.

Далее давайте установим в виртуальную машину первую нашу операционную систему. Нажимаем «Создать» затем «Далее» и увидите вот такое окошко.

В поле «Имя» введите имя Вашей ОС, например Linux Ubuntu, а в поле «ТИП ОС» выберите ту операционную систему, которую будете устанавливать (у меня, например, это Linux версии Ubuntu) с помощью выпадающего списка и жмите «Далее». В следующем окне (рисунок ниже) необходимо указать, сколько будет оперативной памяти на нашем новом компьютере, т.е. виртуальной машине, необходимо переместить ползунок в зелененькую часть, рекомендую оставлять по умолчанию, не обязательно задавать много.

Жмем «Далее» и видим следующее окно.


Выбираем «Создать новый жесткий диск», так как у нас, его еще нету (я имею в виду виртуального) и ставим галочку «Загрузочный жесткий диск». Жмем «Далее» и запустится мастер создания нового виртуального диска, и в этом окне жмем «Далее». В следующем окне, Вам предложат выбрать, каким будет Ваш новый жесткий диск, «Динамически расширяемым», т.е. с увеличением объема данных на нем размер будет увеличиваться или «Фиксированного размера», т.е. постоянный размер, рекомендую выбирать «Динамически расширяемым». Жмем «Далее», появится следующее окно.

Здесь указываем, где будет храниться файл нашего виртуального жесткого диска, рекомендую хранить его не на диске C, также здесь задаем размер нашего диска я, например, указал 8 гигабайт. Жмем «Далее», затем подтверждаем создание нового жесткого диска и жмем «Готово». Осталось только подтвердить создание виртуальной машины.

Мы с Вами проверяем наши параметры создания виртуальной машины и жмем готово.

Теперь можно запустить нашу виртуальную машину, нажав кнопку «Старт» и перед Вами откроется окно настройки выбора носителя, с которого нам необходимо загрузиться в первый раз, так как сейчас нам просто не с чего грузиться. Представьте Вы купили новый компьютер без установленной операционной системы и что с самого начало нужно сделать — это ее установить, а для установки необходимо вставить диск в привод, но в нашем случае можно использовать и образ диска с ОС.

Жмите Далее.

Можете выбрать тот привод, в котором вставлен диск с ОС, а можете нажать на выбор «Образа», с которого можно будет загрузиться, т.е. например ISO, я выбираю образ и нажимаю соответствующую кнопочку, в итоге у Вас запускается «Менеджер виртуальных носителей».

Жмите кнопку добавить и выбирайте свой образ, после того как Вы выбрали образ, жмите кнопку «Выбрать». И уже в поле носитель у Вас появилось название Вашего образа, жмите «Далее» затем готово. И наконец-то пойдет загрузка Вашего образа, т.е. установка ОС. Не забудьте после установки операционной системы демонтировать образ диска, чтобы Ваша ОС уже грузилась с Вашего жесткого диска, т.е. виртуального жесткого диска. Это можно сделать, зайдя в настройки виртуальной машины, а конкретно в меню «Носители». Выберете в окне «Носители информации» свой образ и в поле «Привод» поставьте «Пусто». Вот в принципе и все, что я хотел рассказать о виртуальной машине VirtualBox.

Вот небольшая видео-инструкция, в которой я рассказываю о том, как установить программу VirtualBox на операционную систему Windows 10.

НравитсяНе нравится

Oracle VM VirtualBox что это за программа и нужна ли она?

Всем привет Сегодня я расскажу о такой программе как Oracle VM VirtualBox, не буду вас грузить какими-то терминами, напишу так, чтобы было максимально понятно. Значит эта прога не для всех, то есть это так бы сказать не простая прога, тут есть некоторый сложняк. Все дело в том, что VirtualBox это виртуальная машина. Такой себе виртуальный компьютер, на который можно поставить обычную винду и потом в ней работать. Все это будет в реальном компьютере. То есть такой себе виртуальный комп в реальном компе.

На самом деле это не чудеса, не развод и все серьезно. Эта технология, ну то есть виртуальные машины, то это уже существует давно, ну лет десять точно. VirtualBox это бесплатная программа для создания виртуальных машин, но есть еще и VMware, она платная, правда там есть бесплатная версия в виде VMware Player.

Что на самом деле происходит и что это такое? Давайте подробнее немного поговорим об этом. Значит смотрите, при помощи VirtualBox вы создаете виртуальную машину, при этом вы вручную указываете количество ядер процессора, задаете объём ОЗУ, объём жесткого диска. Также добавляете необходимые устройства, например сетевую карту, USB-порт ну и другое. Все это в куче потом вы сможете запустить и у вас будет еще одна виндовс в виртуальной машине (она будет в отдельном окне). Вы можете работать одновременно сразу в нескольких виндовс, тут нет никакой фантастики!

Чтобы виртуалка работала нормально, то процессор должен поддерживать технологию виртуализации. У Intel она называется VT-x (если есть VT-d, то это еще лучше, это уже для проброса целых устройств на шине PCI). У AMD есть что-то похожее, но врать не буду, не помню как точно называется. Но как правило, почти все современные процессоры поддерживают технологию виртуализации, так что об этом волноваться не стоит. Даже старые процессоры на 775-том сокете эту технологию поддерживают, ну кроме Pentium 4 (только модель P4 672/662 поддерживает)

В интернетах часто идет спор, что лучше VMware или VirtualBox? Многие юзеры отдают предпочтение именно VirtualBox, при этом они очень уверены, что эта виртуальная машина быстрее чем VMware. В общем хвалят VirtualBox так, что даже я часто пробовал пользоваться этой виртуальной машиной, но все равно всегда приходил к выводу, что не даром VMware платная: она реально быстрее. Ну это такое, так бы сказать каждому свое. Лично мое мнение что VMware быстрее. Если процессор очень мощный, то на нем можно пользоваться любой виртуальной машиной, ибо он с любой справится и они обе будут быстрыми.

Итак, теперь давайте посмотрим чуть подробнее. Вот как выглядит главное окно VirtualBox:

В этом окне видите вверху есть кнопка Создать? Ну вот это чтобы создать НОВУЮ виртуальную машину. После того, как вы ее создадите, то она появится слева. Там вообще будет список виртуальных машин, ну если вы несколько создадите, то вот именно там они будут видны.

Еще такой важный момент, после установки VirtualBox у вас появится виртуальный сетевой адаптер VirtualBox Host-Only Network, в общем это нормально, вот он:

Только тут один, а вот если бы вы поставили VMware, то у вас было бы два таких адаптера.

Этот адаптер нужен для сетевого взаимодействия между виртуальной машиной и реальным компом.

Вообще ничего сложного в VirtualBox нет, вот смотрите, давайте на примере создания виртуальной машины я вам расскажу что к чему. Вот нажимаете вы эту кнопку Создать:

Теперь сразу я рекомендую внизу нажать кнопочку Экспертный режим, чтобы показались все нужные настройки. Тут вам нужно указать название виртуальной машины и выбрать операционную систему, которую вы собираетесь ставить. Также нужно задать обьем ОЗУ. Жесткий диск как правило создается новый, так что эти настройки не трогаем, ну и потом конечно нажимаем кнопку Создать:

В следующем окне нужно будет указать обьем жесткого диска и выбрать его тип, то есть динамический или фиксированный:

В общем тут ничего не советую менять. По умолчанию выбран Динамический виртуальный жесткий диск, и это хорошо, ибо размер файла диска будет увеличиваться по мере заполнения виртуального жесткого диска. А если вы выберите Фиксированный виртуальный жесткий диск, то после нажатия кнопки Создать будет создан пустой файл, который будет равен по размеру целого виртуального жесткого диска. Ну, думаю понятно тут все, а если непонятно, то не обращайте внимание, потом все поймете сами..

В общем нажали создать, и вот наша Тестовая машина создана:

Теперь смотрите, вверху появится кнопка Настроить. Это чтобы открыть настройки выбранной виртуальной машины, вот эта кнопка:

Если ее нажать, то появится такое окно настроек:

Тут можно что-то включить, что-то выключить, ну в плане устройств. Можно изменить обьем ОЗУ, параметры процессора, ну вот например можно задать предел загрузки виртуальной машины реального процессора:

Ну то есть опять же, много настроек и думаю что все тут понятно. Если что, то стоит уделить минуток пять и точно станет все понятно. Единственное что, у вас компьютер должен быть более-менее мощный, ну хотя бы 4 гига ОЗУ, 2 ядра…

Еще важный момент, вы должны знать это. Не ставьте много ОЗУ! Ставьте сначала минимум, то есть один гигабайт, вроде бы 64-битные тоже установятся с таким обьемом. Ну а если нет, то ставьте два гига оперативы. Дело в том, что если вы слишком много дадите оперативки виртуальной машине, то при ее запуске комп может надолго зависнуть. Если у вас всего 4 гига оперы, то дайте виртуалке 1 или 2 гига, это будет оптимально. Кстати, Windows XP спокойно будет работать и при 256 мб ОЗУ, ну это просто вам на заметку..

Итак, теперь давайте подведем итоги. Что мы сделали в программе VirtualBox? Мы создали виртуальную машину под тип операционной системы Windows 7. Виртуальная машина сама пуста, в ней ничего нет, я имею ввиду в плане винды. Как и в обычный компьютер, тут нужно вставить установочный диск с виндой, запустить виртуальную машину и начать устанавливать виндовс. Все как в обычном компе, только виртуально так бы сказать

Значит еще немного напишу о самом диске. Для установки системы, ну то есть в нашем случае для установки виндовс нужен установочный диск, это понятно. Но вот при этом можно использовать как настоящий диск, так и виртуальный, а если быть точнее, то образ диска. Обычно он идет в формате ISO (я вообще не знаю можно ли использовать для виртуальных машин другие форматы). Вот его и нужно вставить в виртуальный привод и потом включить винду и установить ее как обычно.

Давайте я это покажу на примере, ну то, как вставить образ диска в такой вот виртуальный привод VirtualBox. Сам установочной образ винды можно скачать в интернете. Я качать ничего не буду, у меня уже есть образ Windows 10, и вот теперь смотрите что нужно делать. Теперь вам нужно открыть настройки виртуальной машины (сверху кнопка Настроить) и вот там перейти в раздел Носители:

И вот видите, там есть такая строка, где написано Пусто, и еще иконка диска (там где Носители информации). Так вот это и есть привод для дисков, он просто пустой. Вот там справа есть еще одна иконка диска, вот если ее нажать, то можно будет выбрать ISO-образ:

В общем выбираете ISO-образ, вот у меня он на рабочем столе:

После этого, в настройках появится выбранный ISO-образ:

В общем потом нажимаете кнопку ОК. После этого виртуальная машина готова к тому, чтобы вы ее запустили (вверху зеленая стрелочка Запустить), и потом начнется обычная установка виндовс. Чтобы мышка вышла из виртуальной машины, то нужно нажать стрелочку вниз. В общем установка не началась, ибо вот какая была ошибка:

Но на самом деле это не ошибка. Я для чего создавал виртуальную машину, ну для какой операционной системы? Для Windows 7 32 бит. А поставить я какую хотел? Вот тут то и прикол, поставить то я хотел Windows 10 64 бит, вот поэтому то и ошибка. Образа Windows 7 у меня нет, есть только Windows 10 64 бит, вот я его и выбрал, не подумавши, что я создал виртуальную машину для Windows 7, это мой косяк. Кстати, если закрыть виртуальную машину, то будет такое сообщение:

То есть можно сразу нажать крестик по окну, и выбрать что нужно сделать с виртуальной машиной. Сохранить состояние машины это типа спящий режим.

Ну так вот. Я про эту ошибку так написал, будто нельзя это исправить.. В общем в настройках, на первой вкладке Общие вы можете изменить операционную систему, которую собираетесь установить:

И вот когда я выставил там Windows 10 64 бит, то потом, когда я запустил виртуальную машину, то было уже такое окно:

Ну то есть уже было обычное установочное окно установки Windows 10. То есть как видите, все работает, хотя я немного затупил сначала, но если что-то не так задали, то все это можно исправить в настройках..

Таким вот образом можно установить любую винду, в итоге у вас может быть несколько виртуальных компьютеров. У каждого будет своя винда, жесткий диск, оперативка. И даже интернет. А почему нет? У каждой виртуальной машины может быть свой USB-порт, к которому вы можете подключить реальный модем. В итоге у каждый виртуальной машины будет свой USB-можем с мобильным интернетом. Ну это просто как пример, что у каждой виртуалки может быть свой интернет.

Вот такие вот дела в общем. Теперь я покажу как удалить VirtualBox с компьютера полностью, ну мало ли, вдруг вам эта прога не нужна..

Вообще для удаления прог с компа я советую использовать такой удалятор как Revo Uninstaller, он и прогу сможет удалить и еще винду от ее остатков почистит. В общем рекомендую, годный удалятор, сам им пользуюсь

Ну а теперь как удалить по-простецки так бы сказать. Значит зажимаете Win + R и пишите туда такую команду:

control panel

Дальше находите значок Программы и компоненты, ну и запускаете его:

Откроется список со всеми установленными программами, находим тут Oracle VM VirtualBox (у мене вот версия идет 5.1.6, а у вас может быть другая) и нажимаем правой кнопкой и выбираем Удалить:

В следующем окне нажимаете Да:

Дальше появится вот такое окошко, это означает что началось удаление:

В общем советую ничего не делать за компом, ну чтобы удалилось все нормально и без приколов. Все удаление займет максимум минуту. Потом окошко исчезнет и все, VirtualBox будет удалена с компьютера.

Все ребята, на этом уже все, надеюсь что все вам тут было понятно, и теперь вы знаете что это за программа VirtualBox, для чего она нужна. Удачи вам и хорошего настроения

На главную!
VirtualBox неизвестные программы
25.09.2016

Открытая платформа виртуализации VirtualBox

Технологии виртуализации в последнее время вызывают большой интерес не только у крупных компаний, использующих их для повышения эффективности информационной инфраструктуры в составе комплексных решений. Конечные пользователи также увидели преимущества применения настольных платформ виртуализации как на работе, в повседневной деятельности, так и дома. Множество вариантов использования виртуальных машин, широко рекламируемые вендорами платформ виртуализации, с повышением мощностей пользовательских аппаратных платформ постепенно начинают серьезно рассматриваться пользователями как надежные инструменты повышения эффективности работы с различным программным обеспечением и операционными системами. Технологии виртуализации позволяют на одном физическом компьютере (хосте) запускать одновременно несколько виртуальных машин со операционными системами (гостевыми ОС).

При этом, если платформа виртуализации применяется в рамках рабочей деятельности предприятия, требования, предъявляемые к ней, несомненно, выше требований к «домашним» виртуальным машинам. Если в корпоративной среде самыми важными являются надежность, функциональность, гибкость и возможность интеграции с существующей инфраструктурой, то дома — это, прежде всего, бесплатность самой платформы, удобство использования и производительность. Дома виртуальные машины могут использоваться для различных целей, основными из которых являются:

  • Создание «переносных» изолированных пользовательских сред с установленным в них программным обеспечением, направленных на решение определенного круга задач. Например, незачем перегружать операционную систему домашнего компьютера установкой различных специфических программ, которые не используются другими пользователями. Можно создать виртуальную машину с установленным в ней необходимым ПО (например, дизайнерским) и запускать ее только по мере надобности. При этом ее можно легко перенести на другую рабочую станцию и быть уверенным, что реестр, системные файлы и настройки хостовой системы останутся нетронутыми.
  • Создание защищенных сред для выхода в Интернет. Если троянская программа или вирус причинят вред внутри виртуальной машины, то можно удалить эту виртуальную машину и создать новую, при этом все данные хостовой системы будут надежно защищены.
  • Эксперименты с различным программным обеспечением и операционными системами. Возможность одновременного запуска нескольких операционных систем в виртуальных машинах позволяет использовать различные программы в необходимых вам ОС и обеспечивать передачу данных между ними. Безусловно, виртуальные машины открывают широкие просторы для обучения, как новым операционным системам, так и настройке различных сетевых служб и протоколов взаимодействия между различными ОС.

Конечно, на этом варианты использования виртуальных машин дома не заканчиваются. Пользователи придумывают все новые и новые способы применения виртуальных машин, а также используют различные средства управления и утилиты для повышения удобства работы с виртуальными машинами. При этом производители платформ виртуализации рассматривают домашних пользователей как достаточно перспективный сегмент рынка и стараются сделать развертывание и применение виртуальных машин максимально простым.

Обзор существующих настольных платформ виртуализации

Так сложилось, что в индустрии платформ виртуализации пользователи привыкли к традиционным продуктам, которые развиваются на протяжении нескольких лет и предоставляют необходимый уровень функциональности. Однако лидер в области производства ПО для виртуализации, компания VMware, ориентируется в основном на коммерческое использование своих платформ, и хотя ее мощная платформа виртуализации VMware Workstation 6 является по множеству параметров лучшей на данный момент, у нее есть один неоспоримый минус — она не бесплатна. Пользователи могут также загрузить с сайта бесплатный продукт VMware Player, предназначенный для «проигрывания» виртуальных машин, однако создавать их в нем нельзя. Продукт VMware Server направлен на использование в корпоративной среде для виртуализации серверов малых предприятий и тоже не подходит для домашних пользователей.

Компания Microsoft предлагает пользователям бесплатный продукт Virtual PC, который, однако, не обладает необходимым функционалом, удовлетворяющим требованиям всех категорий пользователей. Нужно также отметить, что Virtual PC доступен только для рабочих станций с операционными системами семейства Windows, что также отсекает определенный сегмент пользователей.

Компания Parallels также предлагает настольные платформы виртуализации Parallels Workstation для Windows и Linux хостов, а также Parallels Desktop для Mac OS X, которые тоже не являются бесплатными. К тому же, в связи с успешными продажами продукта Parallels Desktop, компания Parallels, кстати, принадлежащая российской компании SWsoft, несколько приостановила развитие продукта Parallels Workstation и довольно давно не выпускала его новых версий.

Таким образом, рассматривая рынок популярных настольных систем виртуализации, можно сказать, что присутствуют либо неплохие, но платные платформы, либо бесплатные, но недостаточно функциональные продукты, не отвечающие всем требованиям пользователей, а именно:

  • кроссплатформенность
  • поддержка большинства хостовых и гостевых операционных систем
  • возможность использования удобных средств управления виртуальными машинами

Стоит отметить, что сторонники решений Open Source хотели бы использовать свободную платформу виртуализации с открытым исходным кодом, какой является, например, платформа Xen.

Долгое время рынок платформ виртуализации находился в подвешенном состоянии касательно сегмента домашних пользователей: с одной стороны, производители систем виртуализации наращивали функционал и предлагали все новые средства управления, с другой конечные пользователи не хотели платить за них. В связи с этим, некоторым компаниям пришлось предоставить бесплатные системы виртуализации (например, VMware Server и Microsoft Virtual Server), которые в основном покрывали потребности корпоративных пользователей. Но вопрос об использовании виртуальных машин дома, по-прежнему, оставался открытым.

В 2006 году на рынке настольных платформ виртуализации появился новый игрок. Немецкая компания InnoTek представила продукт VirtualBox для виртуализации десктопов с открытым исходным кодом, в разработке которого (за исключением некоторых компонентов) может принять участие любой желающий. VirtualBox является достойным кандидатом на то, чтобы заполнить пустующую нишу среди настольных платформ виртуализации.

О платформе VirtualBox

VirtualBox

Платформа VirtualBox представляет собой настольную систему виртуализации для Windows, Linux и Mac OS хостов, поддерживающую операционные системы Windows, Linux, OS/2 Warp, OpenBSD и FreeBSD в качестве гостевых. После нескольких лет разработки, компанией InnoTek была выпущена ограниченная версия продукта с открытым исходным кодом под лицензией GNU General Public License (GPL) в январе 2007 года. Полная версия продукта с закрытым исходным кодом также доступна для бесплатного персонального использования. Если продукт будет использоваться в производственной среде необходимо приобретение лицензий, условия которых можно узнать у компании InnoTek. Кстати говоря, в данный момент компания InnoTek, помимо платформы VirtualBox, занимается разработкой новой платформы виртуализации на основе гипервизора, тесно связанной с операционной системой Windows, в сотрудничестве с компанией Microsoft. На данный момент VirtualBox включает в себя следующие возможности:

  • нативная x86-виртуализация, не требующая наличия поддержки аппаратных техник Intel VT или AMD-V (которая, однако, может быть включена в настройках)
  • дружественный пользовательский интерфейс (построенный с помощью Qt3)
  • поддержка Windows, Linux и Mac OS хостовых систем (версия для Mac OS в данный момент находится в стадии беты)
  • наличие Guest VM Additions для упрощения взаимодействия с хостовыми ОС и оптимизации их быстродействия
  • поддержка многопроцессорных и многоядерных систем (только в качестве гостевых, поддержка виртуального SMP для представления многопроцессорности в гостевых системах отсутствует)
  • стабильность (в сравнении с другими Open Source решениями)
  • поддержка виртуализации аудиоустройств
  • высокая производительность (по отзывам множества экспертов выше, чем у продуктов VMware)
  • поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
  • поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы
  • описание настроек виртуальной машины в XML-формате
  • поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами
Эмулируемое аппаратное окружение

Продукт VirtualBox эмулирует следующие компоненты аппаратного обеспечения в виртуальной машине:

  • жесткие диски эмулируются в специальном формате контейнеров VDI (Virtual Disk Images), который в данный момент не совместим с форматами виртуальных дисков других производителей
  • видеоадаптер эмулируется как стандартный VESA с 8 Мб видеопамяти, при этом установка Guest VM Additions (только для Windows и Linux хостов) позволяет увеличить производительность виртуального видеоадаптера и динамически менять размер окна виртуальной машины
  • аудиоконтроллер на базе Intel ICH AC’97
  • сетевой адаптер эмулируется как интерфейс AMD PCNet
  • в издании с закрытым исходным кодом эмулируются также контроллеры USB, при этом USB-устройства, вставленные в разъемы хоста, автоматически подхватываются в гостевой системе. Также если виртуальная машина действует как RDP (Remote Desktop Protocol) сервер, то в клиенте также будут видны USB-устройства

Платформа VirtualBox исполняет код гостевой системы нативно (прямой передачей инструкций процессору хоста). Этот подход работает хорошо для кода, исполняющегося в кольце третьей гостевой системы, для кода гостевой системы, исполняющегося в нулевом кольце, требующего привилегированных инструкций, необходим его перехват платформой виртуализации. Для этой цели VirtualBox использует оригинальный подход: код, исполняющийся в нулевом кольце гостевой системы, исполняется в первом кольце хостовой системы, которое не используется в архитектуре Intel.

Уникальные функции VirtualBox

Помимо стандартных функций, присущих большинству настольных систем виртуализации, платформа VirtualBox обладает также набором уникальных возможностей, присущих только ей:

  • Ярко выраженная модульность системы
    Платформа VirtualBox имеет модульную архитектуру с хорошо описанными компонентами и предоставляет удобные интерфейсы доступа к виртуальным машинам, которые позволяют контролировать гостевые системы как через GUI, так и через командную строку и удаленно. К тому же, компания InnoTek предоставляет отличный Software Development Kit, и поскольку код платформы открыт, не требуется дополнительных усилий, чтобы написать расширение к системе. В данный момент ведется большая работа по портированию продукта на различные хостовые платформы и разработчикам предоставляются все необходимые инструменты и интерфейсы для доработки VirtualBox.
  • Виртуальная машина может действовать как RDP-сервер
    В отличие от других платформ виртуализации, VirtualBox может действовать как RDP-сервер и управляться любым клиентом, поддерживающим протокол RDP. Также поддерживается функция USB over RDP. Стоит отметить, что компания VMware в вышедшей недавно платформе VMware Workstation 6 также предоставляет функцию Act as RDP Server, поэтому эту функцию VirtualBox на данный момент нельзя назвать такой уникальной.
  • iSCSI initiator
    Компонент iSCSI initiator является одной из закрытых частей платформы VirtualBox. Он позволяет использовать внешние устройства по протоколу iSCSI в качестве виртуальных дисков в гостевой системе без дополнительной поддержки со стороны гостевой ОС.
Поддерживаемые гостевые и хостовые системы

Компания InnoTek и независимые разработчики, принимающие участие в доработке платформы VirtualBox, постоянно расширяют список поддерживаемых гостевых и хостовых систем. На данный момент продуктом поддерживаются следующие хостовые ОС:

  • Операционные системы семейства Windows (2000/XP/2003/Vista)
  • Linux-платформы, включая:
    • Ubuntu 7.04 («Feisty Fawn»)
    • Ubuntu 6.10 («Edgy Eft»)
    • Ubuntu 6.06 LTS («Dapper Drake»)
    • Debian 3.1 («Sarge»)
    • Debian 4.0 («Etch»)
    • openSUSE 10.2
    • Mandriva Linux 2007.1
    • Red Hat Enterprise Linux 4
    • Univention Corporate Server 1.3-2
  • Mac OS X (в данный момент в стадии бета-тестирования)
  • OS/2 Warp (экспериментально)

Нужно отметить, что в данный момент портирование VirtualBox на платформу OS/2 еще не закончено, и на сайте разработчика присутствуют лишь общие инструкции по сборке системы. При использовании VirtualBox на этой платформе возникают многочисленные проблемы, которые предстоит решить разработчикам.

Список гостевых систем, поддерживаемых VirtualBox, весьма обширен и вполне может соперничать с коммерческими платформами виртуализации. На данный момент поддерживаются следующие гостевые ОС:

Гостевая ОССтатус в данный моментПримечание
Семейство ОС Windows
Windows VistaРаботает, Guest VM Additions доступныНеобходимо установить драйвер сетевой карты вручную (описано в пользовательской документации)
Windows 2000Работает, Guest VM Additions доступны 
Windows XPРаботает, Guest VM Additions доступны 
Windows Server 2003Работает, Guest VM Additions доступны 
Windows NTРаботает, Guest VM Additions доступныНекоторые проблемы на старых пакетах обновления, рекомендуется наличие пакета обновления версии не менее 6а
Windows 98Работает, но не доступны Guest VM Additions 
Семйство ОС Linux
Ubuntu 5.10/6.06 Desktop/7.04 herd 5Работает, Guest VM Additions доступны 
Ubuntu 6.06 Server/6.10Работает, Guest VM Additions доступныМогут быть проблемы с загрузкой ОС
Debian 3.1Работает, Guest VM Additions доступны 
SUSE 9/10.0/10.2Работает, Guest VM Additions доступны 
Mandrake 10.1Работает, Guest VM Additions доступны 
Fedora Core 1/4/5/6Работает, Guest VM Additions доступны 
Red Hat Enterprise Linux 3 and 4Работает, Guest VM Additions доступны 
Red Hat Linux 9Работает, Guest VM Additions доступны 
Red Hat Linux 7Не работает 
Linspire 4.5Работает, Guest VM Additions доступны 
Slackware 10.1Работает, Guest VM Additions доступны 
Conectiva 10Работает, Guest VM Additions доступны 
Xandros 3Не работает 
Семейство ОС BSD
FreeBSDРаботает частичноИзвестны проблемы с версией для FreeBSD 6.2
PC-BSD 1.3Не работает 
OpenBSDРаботает, но не доступны Guest VM Additions 
Другие ОС
DOSРаботаетОграниченно тестировалось
OS/2Работает частичноНеобходимо наличие поддержки Intel VT
Novell Netware 6.5Не работает 
BeOS 5Не работает 
SyllableНе работает 
VisopsysНе работает 
ReactOSНе работает 
Solaris 10Работает частичноНе на всех версиях работает стабильно, проблемы с сетью

Компания InnoTek заявляет также, что практически все операционные Linux-системы с версией ядер 2.4 и 2.6 должны работать в качестве гостевых. Для достижения лучшей производительности рекомендуется версия ядра 2.6.13.

Как видно из приведенного выше списка, поддерживается множество Linux-платформ, что предоставляет широкие возможности по обучению работы с ними в виртуальных машинах на базе VirtualBox.

Принцип работы VirtualBox

Графический интерфейс VirtualBox имеет два основных окна: главное и консоль виртуальной машины.

Главное окно управления VirtualBox

 

Консоль виртуальной машины

При старте виртуальной машины VirtualBox обычно запускается три процесса, которые можно наблюдать в диспетчере задач в Windows-системах или системном мониторе Linux:

  1. Графический интерфейс окна управления.
  2. Еще один похожий процесс, запущенный с параметром startvm, который означает, что GUI будет работать в качестве оболочки для виртуальной машины.
  3. Автоматически создаваемый сервисный процесс VBoxSVC, необходимый для того, чтобы отслеживать количество и статусы запущенных виртуальных машин (поскольку они могут быть запущены различными способами).

Виртуальная машина с запущенной в ней гостевой системой инкапсулирует в себе необходимые детали реализации гостевой ОС и ведет себя по отношению к хостовой системе как обычное приложение.

В гостевой системе реализация виртуальной машины VirtualBox представляется пользователю двумя способами:

  • Стандартная клиент-серверная архитектура, позволяющая контролировать поведение виртуальных машин различными способами, используя COM/XPCOM API. Например, гостевая система может быть запущена через GUI, а остановлена с помощью утилиты командной строки VboxManage. Эта утилита может также выполнять некоторые функции, которые не доступны из графического интерфейса пользователя.
  • Архитектура frontend/backend, представляющая собой инкапсуляцию x86-виртуализации в библиотеках VBoxVMM.dll на Windows платформе и VBoxVMM.so на Linux (backend) и реализацию управления виртуальными машинами несколькими способами (frontend):
    • Пользовательский GUI на основе Qt
    • Утилита VboxManage
    • GUI, основанный на SDL, обладающий более широкими возможностями, чем GUI на Qt и направленный на использование виртуальных машин в производственной среде
    • Возможность управления виртуальными машинами с помощью встроенного RDP-сервера в виртуальной машине

Процесс установки гостевой системы на платформе VirtualBox весьма прост и не требует от пользователя дополнительных усилий. При создании виртуальной машины необходимо выбрать тип устанавливаемой гостевой системы, определить количество выделяемой ей оперативной памяти и создать виртуальный диск фиксированного размера или динамически расширяющийся по мере его заполнения в гостевой системе. Дальнейший процесс установки происходит так же, как и в других платформах виртуализации. После того, как гостевая ОС будет установлена, необходимо также установить Guest VM Additions в целях оптимизации гостевой системы и улучшения ее взаимодействия с хостовой ОС.

Сетевое взаимодействие между виртуальными машинами в VirtualBox может быть трех типов:

  • NAT
    Виртуальная машина «прячется» за NAT-сервером хоста и может инициировать соединения во внешнюю по отношению к нему сеть, но из внешней сети инициировать соединение с такой виртуальной машиной нельзя.
  • Host Interface Networking
    В этом случае виртуальная машина разделяет ресурсы физического адаптера с хостовой операционной системой и доступна из внешней сети как независимый компьютер.
  • Internal Networking
    Тип сетевого взаимодействия для построения виртуальной сети в пределах хоста, когда не требуется выход из виртуальной машины во внешнюю сеть и доступ к ней извне.
Связь эмулятора виртуальных машин QEMU и VirtualBox

Компания InnoTek, на протяжении нескольких лет разрабатывавшая платформу VirtualBox, опиралась в своих разработках на один из старейших эмуляторов виртуальных машин QEMU. Проект VirtualBox связан с этой платформой в двух отношениях:

  • c одной стороны, при создании эмулируемых устройств компания InnoTek ориентировалась на представления виртуального оборудования в QEMU,
  • с другой стороны, InnoTek в сотрудничестве с создателями QEMU использовала механизм рекомпиляции в качестве обработчика исключительных ситуаций, когда монитор виртуальных машин (Virtual Machine Monitor) платформы VirtualBox не может корректно обработать исключительную ситуацию при выполнении кода гостевой системы в real mode.

По заявлениям разработчиков VirtualBox техники, заимствованные ими из QEMU, позволили им сэкономить значительное количество времени и повысить надежность платформы.

Возможности открытой разработки VirtualBox

Помимо полнофункциональных версий VirtualBox для свободного использования, компания InnoTek предлагает ограниченные версии платформы с открытым исходным кодом для различных хостовых систем. Исходный код VirtualBox хранится в системе управления версиями Subversion (svn) и может быть скачан с сайта компании InnoTek. Чтобы извлечь исходный код платформы из онлайнового сервера Subversion, в операционной системе Linux необходимо выполнить команду: svn co http://virtualbox.org/svn/vbox/trunk vbox

Также последнюю версию исходных кодов системы VirtualBox единым архивом можно скачать со страницы загрузок по адресу: http://www.virtualbox.org/wiki/Downloads.

Принцип организации исходного кода можно узнать из Wiki на сайте InnoTek по адресу: http://www.virtualbox.org/wiki/Source_code_organization.

Также компания InnoTek на своем сайте ведет публичный багтрекер, в котором можно узнать обо всех присутствующих на данный момент проблемах и составить отчет об ошибке, внеся описание проблемы при работе с платформой в базу ошибок VirtualBox.

И, конечно, каждый может принять участие в разработке открытой версии платформы, войдя в состав сообщества Open Source на сайте virtualbox.org.

Преимущества и недостатки VirtualBox

Рассмотрев основные возможности VirtualBox, можно сказать, что у этой платформы виртуализации определенно есть будущее, поскольку она готова занять пустующую нишу в сфере настольных систем виртуализации как мощная, производительная, удобная и, главное, бесплатная платформа. Безусловным плюсом системы является ее кроссплатформенность и поддержка со стороны сообщества Open Source. Большой список поддерживаемых гостевых и хостовых операционных систем открывает широкие возможности по применению VirtualBox в контексте различных вариантов использования.

Среди бесплатных платформ VirtualBox, определенно, одна из лучших на данный момент. При этом компания InnoTek ориентируется не только на конечных пользователей. Наличие таких функций, как RDP сервер и iSCSI initiator, говорит, что в будущем платформа может серьезно использоваться в производственной среде. Дружественный интерфейс пользователя вкупе с высокой производительностью VirtualBox сейчас имеют множество приверженцев во всем мире.

Между тем, у VirtualBox есть и некоторые проблемы: прежде всего, это проблемы со стабильностью на многих хостовых платформах и отсутствие совместимости формата виртуальных дисков с другими системами виртуализации. Также, на данный момент функциональность системы уступает коммерческим платформам (в частности, VMware Workstation 6), однако темпы развития VirtualBox говорят, что в скором времени ее функциональность значительно увеличится. Попробуйте использовать виртуальные машины VirtualBox, и, возможно, эта платформа займет достойное место среди необходимого программного обеспечения на вашем десктопе.

Плюсы и минусы Oracle VM VirtualBox 4

В области виртуализации для платформы x86 сложилась довольно странная ситуация. Популярные серверные решения, основанные на гипервизорах как первого (VMware ESX, Microsoft Hyper-V, Citrix XenServer), так и второго (VMware Server, Microsoft Virtual Server) типов, давно стали бесплатными в базовых комплектациях, хотя именно они представляют наибольшую коммерческую ценность. При этом ряд известных продуктов уровня рабочих станций (VMware Workstation, Parallels Desktop), т. е. ориентированных по сути не на деловую среду, а на конечных пользователей, все еще стоит вполне ощутимых денег. Впрочем, в последнем случае все же имеются исключения — Windows Virtual PC и виновник сегодняшнего обзора Oracle VM VirtualBox. И если первый из этих продуктов наибольший интерес представляет в контексте использования бесплатного Windows XP Mode и в последнее время, судя по всему, развивается Microsoft по остаточному принципу, то второй — технологически довольно интересен и пытается поспевать за лидерами. Но прежде чем познакомиться с ним поближе, все же необходимо разобраться с позиционированием всего данного класса продуктов.

Общая характеристика

Системы виртуализации для рабочих станций предполагают в основном персональное применение, обычно прямо на рабочем ПК. Типичные примеры — виртуальные машины (ВМ) для тестовых целей, для исполнения устаревшего несовместимого или специфического (к примеру, для другой ОС) приложения, для разработки и отладки ПО. В подобных случаях решения, основанные на гипервизорах первого типа, не только избыточны, но и совершенно неудобны в силу своей архитектуры. VMware Server или Microsoft Virtual Server, работающие внутри ОС хоста, на первый взгляд кажутся более подходящими. Однако они не только сложны в освоении, но и имеют ряд проблем в области usability гостевых ОС. Таково следствие серверной ориентации, недвусмысленно обозначенной даже в их названиях, — ведь серверы, скажем, не предполагают подключения широкого спектра периферии, соответственно, исключение ее поддержки не только упрощает создание и сопровождение ПО, но и делает его более надежным. Этот факт, кстати, иногда сильно усложняет применение серверных систем виртуализации и по самому прямому назначению — к примеру, при использовании приложений, защищаемых USB-ключами, приходится прибегать к различным ухищрениям вроде USB-over-Network.

Впрочем, Oracle VM VirtualBox и в данном контексте стоит особняком, так как сочетает в себе особенности решений и для серверов, и для рабочих станций. К первым можно отнести технологии «баллонного» динамического перераспределения и дедупликации оперативной памяти ВМ на 64-битных хостах, поддержку iSCSI, некую разновидность «живой» миграции (телепортации, в терминологии Oracle VM VirtualBox), режим работы без GUI («безголовый») и эффективный метод удаленного доступа к ВМ через общий RDP-сервер (VRDP, VirtualBox Remote Display Protocol). Ко вторым — качественную поддержку USB-оборудования, в том числе USB 2.0, а также 2D- и 3D-ускорение в виртуальных машинах за счет ресурсов графического адаптера хоста.

Актуальная на текущий момент версия Oracle VM VirtualBox 4.x — первый крупный релиз, выпущенный под эгидой Oracle с момента приобретения ею Sun Microsystems. Нельзя сказать, что в нем произошли какие-то кардинальные изменения, касающиеся базовой функциональности, хотя среди прочего был расширен список доступного виртуального оборудования, улучшены управление вычислительными ресурсами и поддержка формата OVF и операций с виртуальными жесткими дисками. Главное же в этом релизе — переработка графического интерфейса и изменение внутренней архитектуры программы с тем, чтобы вынести «закрытые» блоки функциональности в подключаемые модули, так называемые Extension Packs, вместо того чтобы создавать ради них отдельные редакции, как это было прежде. Соответственно, упомянутые выше поддержка USB 2.0 и VRDP реализованы Oracle именно в таком модуле, распространяемом по специальной лицензии VirtualBox Personal Use and Evaluation License. Вполне возможно, что какие-то дополнения предложат и сторонние разработчики.

Рис. 1. Обновленный графический интерфейс — визитная карточка Oracle VM VirtualBox 4

Также обращает на себя внимание, что с момента выпуска версии Oracle VM VirtualBox 4.0 уже появились два официальных обновления — 4.0.2 и 4.0.4. С одной стороны, это вроде бы является признаком небезразличия Oracle к данному проекту, но с другой, свидетельствует и об определенной «сырости» ПО. Действительно, Oracle VM VirtualBox отличается некоторой нестабильностью и многочисленными нюансами, часть из которых, впрочем, честно отмечена в документации. В значительной степени это является следствием сложности ПО, тем более что разработчики стараются максимально учесть возможные ситуации и обеспечить самую широкую поддержку операционных систем (как хоста, так и гостевых). Так, Oracle VM VirtualBox может обеспечивать виртуализацию в чисто программном режиме или задействовав аппаратную поддержку в современных процессорах (для решения некоторых задач она необходима), применяет дизассемблирование кода гостевых ОС и ряд других изощренных технических приемов, комбинируя их по мере надобности. Поэтому надо иметь в виду, что применению Oracle VM VirtualBox с более-менее серьезными целями должен, безусловно, предшествовать этап тщательного тестирования.

Тем не менее разработчики Oracle VM VirtualBox постарались максимально оградить своих пользователей от возможных проблем и необходимости разбираться с техническими подробностями. В большинстве случаев достаточно соглашаться с предложенными по умолчанию настройками, регулируя лишь самые необходимые и очевидные из них, скажем, объем оперативной памяти. При этом программа в определенной степени будет контролировать корректность выбранных параметров и при необходимости вносить поправки или выдавать соответствующие предупреждения. Не случайно также все наиболее тонкие настройки и действия могут быть выполнены исключительно из командной строки, что, конечно, требует от пользователя определенного понимания происходящего.

Использование

Рис. 2. При инсталляции Oracle VM VirtualBox 4 можно смело оставлять все компоненты

Развертывание Oracle VM VirtualBox в Windows (на примере Windows 7) проходит достаточно быстро и просто, пользователь может несколько скорректировать состав установки, в чем, впрочем, совершенно нет необходимости — на самом деле, все предлагаемые компоненты могут действительно пригодиться в процессе эксплуатации, за исключением разве что поддержки Python (необходимой для управления ПО посредством скриптов). При этом инсталлируются несколько системных драйверов, о чем операционная система выдаст соответствующие предупреждения. Перезагрузки не потребуется. Сразу же имеет смысл установить стандартный Extension Pack — даже если вам не нужны средства удаленного управления (по умолчанию они остаются отключенными), расширенная поддержка USB наверняка не будет лишней. Процедура развертывания Oracle VM VirtualBox в других операционных системах может иметь свои особенности и требовать дополнительных действий, к примеру, проверку наличия необходимых пакетов в случае Linux.

Рис. 3. Подобная предупредительность делает честь разработчикам и проявляется довольно часто

Рис. 4. Extension Pack от Oracle — безусловно, полезный компонент, который стоит установить сразу же после Oracle VM VirtualBox

Следующий этап — создание собственно виртуальных машин. Здесь удобно то, что пользователь может выбрать один из предопределенных шаблонов гостевых ОС, — соответственно программа автоматически настроит большинство параметров, прежде всего, подберет максимально совместимое виртуальное оборудование. Однако каждый из параметров можно регулировать и вручную, но при этом полезно сверяться с документацией. Скажем, в моем случае добавление второго виртуального процессора в целом, скорее, ухудшало производительность, причем и ВМ, и хоста — достаточно ожидаемый результат, с учетом использования древнего Pentium D.

Рис. 5. Широкая поддержка гостевых ОС — сильная сторона Oracle VM VirtualBox. Ubuntu 10.10 после обновлений будет полностью готова к работе в ВМ и установке дополнений гостевой машины

Также в большинстве случаев имеет смысл согласиться и с выбором по умолчанию виртуального дискового контроллера. Для современных гостевых ОС обычно предлагается IDE для привода оптических дисков и SATA в режиме AHCI для жестких дисков. По утверждению самих разработчиков, использование SCSI или SAS выигрыша в производительности не дает, так что эти варианты пригодятся разве что в каких-то специальных ситуациях. Аналогично вполне разумным выбором представляется динамически расширяемый виртуальный диск, указание фиксированного размера обычно дает незначительный выигрыш в производительности, но сразу отнимает дисковое пространство хоста. Естественно, необходимо предоставить достаточно пространства для роста файлов-образов и контролировать их фрагментацию. Oracle VM VirtualBox также допускает использование iSCSI-таргетов или локальных физических жестких дисков/разделов. Выгоды от последнего варианта не вполне очевидны, так как его выбор исключает механизмы кэширования ОС хоста, влияние чего на общую производительность трудно предсказуемо.

Рис. 6. Если планируется интенсивная сетевая работа ВМ, имеет смысл поэкспериментировать с сетевым интерфейсом, в частности испытать virtio-net

Более серьезно на данном этапе стоит задуматься разве что о настройке сетевого интерфейса. В частности, интересным вариантом представляется выбор паравиртуализационного сетевого адаптера virtio-net из проекта KVM (драйверы имеются и для Windows), который не имитирует реальное оборудование, а представляет собой достаточно простой интерфейс непосредственно к управляющему гипервизору. Традиционно паравиртуализационный подход сулит рост быстродействия, так что и в данном случае можно ожидать повышения скорости сетевого взаимодействия. Кроме того, нужно обратить внимание на метод организации виртуальной сети. Предлагаемый по умолчанию NAT не позволит использовать ВМ в локальной сети и имеет ряд других ограничений, избавиться от которых поможет Сетевой мост. При отсутствии необходимости выхода ВМ во внешнюю сеть можно также выбрать Внутреннюю сеть (коммуникации будут возможны только между ВМ) или Виртуальную сеть в рамках хоста.

После настройки параметров ВМ достаточно запустить установку гостевой ОС, к примеру, подключив привод физического компьютера или ISO-образ с дистрибутивом. По сути процедура ничем не отличается от установки на физический компьютер и занимает, в общем, соизмеримое время.

Рис. 7. Настройки виртуального дисплея одни из самых интересных. Здесь включается аппаратное ускорение графики, а на вкладке Удаленный дисплей активируется VDRP

Графика

Практически единственной особенностью настройки гостевых ОС является установка так называемых Дополнений гостевой ОС, рекомендуемая в любых сколько-нибудь серьезных применениях. Это обеспечит «сквозное» использование указание мыши на хосте и в ВМ, синхронизацию времени, поддержку разделяемых папок (синтаксис доступа: \VBOXSVR) и буфера обмена, а также ряд других полезных возможностей, среди которых стоит особо выделить улучшенную поддержку графики. Благодаря специальным драйверам Oracle VM VirtualBox реализует в гостевых машинах 2D- (только для Windows) и 3D-ускорение. В последнем случае речь идет об OpenGL для Windows, Linux, Solaris и DirectX 8/9 (экспериментальная функция) для Windows, начиная с версии 2000. Причем 3D-драйверы для Windows корректно устанавливаются только в Safe Mode и по специальному указанию пользователя. К сожалению, о поддержке Aero говорить не приходится, ввиду несоответствия нынешнего драйвера нужным спецификациям. По этой же причине, видимо, зависает процедура вычисления индекса производительности Windows 7. Тем не менее, большинство не слишком требовательных приложений благополучно запускаются и работают, хотя подобрать тест производительности оказалось не так-то просто, поскольку многие их них проверяют наличие известных им драйверов. Понятно, что обеспечить в ВМ производительность, аналогичную физической машине, практически невозможно, впрочем, и в равные условия их поставить непросто. Получить общее представление в части OpenGL поможет следующая таблица, данные по DirectX приводить нет смысла, так в среднем в ВМ результаты получаются на порядок ниже, чем на физической машине, что по сути исключает возможность разумного применения.

Табл. Результаты тестов производительности FurMark (1024×768)

 Radeon HD 2400 XT (баллы/AVG FPS)Radeon HD 4890 (баллы/AVG FPS)
ВМ320/51950/33
ФМ365/64280/72

Как видно, производительность виртуальной графики масштабируется не линейно, хотя мощная модель видеоадаптера хоста способна обеспечить приемлемый уровень производительности, которого хватит, скажем, для несложных игр или тестирования ПО.

Рис. 7. Настройки виртуального дисплея одни из самых интересных. Здесь включается аппаратное ускорение графики, а на вкладке Удаленный дисплей активируется VDRP

Рис. 8. Для использования в ВМ с Windows аппаратного ускорения графики Дополнения гостевой машины необходимо устанавливать в Safe Mode и собственноручно пометить опцию Direct3D Support

Рис. 9. К сожалению, поддержка Direct3D пока «хромает» во всех смыслах — и качественно, и с точки зрения производительности. OpenGL реализован намного лучше

VRDP

Реализация удаленного доступа в Oracle VM VirtualBox заслуживает особого внимания. Он обеспечивается RDP-сервером на уровне самого гипервизора, т. е. поддержка RDP внутри гостевых ОС (любого типа!) вообще не нужна. Достаточно лишь для каждой управляемой ВМ включить VRDP и указать отдельный порт в настройках дисплея. При использовании же «безголового» управляющего интерфейса VBoxHeadless поддержка VRDP активируется автоматически, а все необходимые дополнительные действия можно выполнять из командной строки с помощью VBoxManage. При этом в VRDP обеспечивается несколько способов аутентификации, шифрование, удаленное подключение USB-устройств, многопользовательский доступ, а при использовании RDP-клиента из Windows 7 даже перенаправление видео. Причем последняя функция также реализована на уровне VRDP-сервера, т. е. не требует поддержки от гостевых ОС и основана на автоматическом выявлении часто обновляющейся прямоугольной области рабочего стола (впрочем, эффективность такого подхода еще нужно оценить). Поскольку VirtualBox RDP обратно совместим с Microsoft RDP, для удаленной работы могут использоваться обычные RDP-клиенты, однако надо иметь в виду, что стандартная графическая программа в Windows не позволяет указывать номер порта сервера, но это возможно сделать из командной строки, примерно таким образом:
mstsc /v:1.2.3.4:5678

Рис. 10. Среди прочего Oracle VM VirtualBox отличается качественной поддержкой USB-периферии, которую можно подключать оперативно или жестко закрепить за конкретной ВМ

Заключение

Итак, Oracle VM VirtualBox, безусловно, имеет свои слабые и сильные стороны. Однако уникальное положение этого ПО на современном рынке средств виртуализации делает его оправданным выбором во многих случаях. Тем более, что проект продолжает развиваться, Oracle явно не собирается его сворачивать, а открытый подход традиционно привлекает заинтересованных сторонних разработчиков. В качестве полезного примера деятельности последних можно привести phpVirtualBox — еще один способ удаленного доступа к Oracle VM VirtualBox, на этот раз через веб-сервер.

Виртуальная машина VirtualBox для начинающих

&nbsp для начинающих | программы

Виртуальные машины представляют собой эмуляцию устройств на другом устройстве или, в контексте этой статьи и упрощенно, позволяют запускать виртуальный компьютер (как обычную программу) с нужной операционной системой на вашем компьютере с той же или отличающейся ОС. Например, имея на своем компьютере Windows, вы можете запустить Linux или другую версию Windows в виртуальной машине и работать с ними как с обычным компьютером.

В этой инструкции для начинающих подробно о том, как создать и настроить виртуальную машину VirtualBox (полностью бесплатное ПО для работы с виртуальными машинами в Windows, MacOS и Linux), а также некоторые нюансы по использованию VirtualBox, которые могут оказаться полезными. Кстати, в Windows 10 Pro и Enterprise есть встроенные средства для работы с виртуальными машинами, см. Виртуальные машины Hyper-V в Windows 10. Примечание: если на компьютере установлены компоненты Hyper-V, то VirtualBox будет сообщать об ошибке Не удалось открыть сессию для виртуальной машины, о том как это обойти: Запуск VirtualBox и Hyper-V на одной системе.

Для чего это может потребоваться? Чаще всего, виртуальные машины используют для запуска серверов или для тестирования работы программ в различных ОС. Для начинающего пользователя такая возможность может быть полезна как для того, чтобы попробовать в работе незнакомую систему или, например, для запуска сомнительных программ без опасности получить вирусы на своем компьютере.

Установка VirtualBox

Вы можете бесплатно скачать ПО для работы с виртуальными машинами VirtualBox с официального сайта https://www.virtualbox.org/wiki/Downloads где представлены версии для Windows, Mac OS X и Linux. Несмотря на то, что сайт на английском, сама программа будет на русском языке. Запустите загруженный файл и пройдите простой процесс установки (в большинстве случаев достаточно оставить все параметры по умолчанию).

Во время установки VirtualBox, если вы оставите включенным компонент для доступа к Интернету из виртуальных машин, вы увидите предупреждение «Warning: Network Interfaces», которое сообщает о том, что в процессе настройки ваше Интернет-подключение будет временно разорвано (и восстановится автоматически после установки драйверов и настройки подключений).

По завершению установки можете запустить Oracle VM VirtualBox.

Создание виртуальной машины в VirtualBox

Примечание: для работы виртуальных машин требуется, чтобы на компьютере была включена виртуализация VT-x или AMD-V в БИОС. Обычно она включена по умолчанию, но, если что-то пойдет не так, учитывайте этот момент.

Теперь давайте создадим свою первую виртуальную машину. В примере далее используется VirtualBox, запущенная в Windows, в качестве гостевой ОС (той, которая виртуализируется) будет Windows 10.

  1. Нажмите «Создать» в окне Oracle VM VirtualBox Менеджер. 
  2. В окне «Укажите имя и тип ОС» задайте произвольное имя виртуальной машины, выберите тип ОС, которая будет на нее установлена и версию ОС. В моем случае — Windows 10 x64. Нажмите «Далее». 
  3. Укажите объем оперативной памяти, выделяемой для вашей виртуальной машины. В идеале — достаточный для её работы, но не слишком большой (так как память будет «отниматься» от вашей основной системы, когда виртуальная машина будет запущена). Рекомендую ориентироваться на значения в «зелёной» зоне. 
  4. В следующем окне выберите «Создать новый виртуальный жесткий диск». 
  5. Выберите тип диска. В нашем случае, если этот виртуальный диск не будет использоваться за пределами VirtualBox — VDI (VirtualBox Disk Image).
  6. Укажите, динамический или фиксированный размер жесткого диска использовать. Я обычно использую «Фиксированный» и вручную задаю его размер.
  7. Укажите размер виртуального жесткого диска и место его хранения на компьютере или внешнем накопителе (размер должен быть достаточным для установки и работы гостевой операционной системы). Нажмите «Создать» и дождитесь завершения создания виртуального диска. 
  8. Готово, виртуальная машина создана и отобразится в списке слева в окне VirtualBox. Чтобы увидеть информацию о конфигурации, как на скриншоте, нажмите по стрелке справа от кнопки «Машины» и выберите пункт «Детали». 

Виртуальная машина создана, однако, если её запустить, вы не увидите ничего кроме черного экрана со служебной информацией. Т.е. создан пока только «виртуальный компьютер» и никакая операционной система на нём не установлена.

Установка Windows в VirtualBox

Для того, чтобы установить Windows, в нашем случае Windows 10, в виртуальной машине VirtualBox вам потребуется образ ISO с дистрибутивом системы (см. Как скачать образ ISO Windows 10). Дальнейшие шаги будут выглядеть следующим образом.

  1. Вставьте образ ISO в виртуальный привод DVD. Для этого выберите виртуальную машину в списке слева, нажмите кнопку «Настроить», перейдите в пункт «Носители», выберите диск, нажмите по кнопке с диском и стрелкой и выберите пункт «Выбрать образ оптического диска». Укажите путь к образу. Затем в пункте настроек «Система» в разделе «Порядок загрузки» установите «Оптический диск» на первое место в списке. Нажмите «Ок». 
  2. В главном окне нажмите «Запустить». Запустится созданная ранее виртуальная машина, при этом загрузка будет выполнена с диска (с образа ISO), можно выполнить установку Windows так, как это делается на обычном физическом компьютере. Все шаги первоначальной установки аналогичны таковым на обычном компьютере, см. Установка Windows 10 с флешки. 
  3. После того, как Windows была установлена и запущена, следует установить некоторые драйверы, которые позволят гостевой системе правильно (и без лишних тормозов) работать в виртуальной машине. Для этого выберите в меню «Устройства» — «Подключить образ диска дополнений VirtualBox», откройте компакт-диск внутри виртуальной машины и запустите файл VBoxWindowsAdditions.exe для установки этих драйверов. При ошибке подключения образа, завершите работу виртуальной машины и подключите образ из C:\ Program Files\ Oracle\ VirtualBox\ VBoxGuestAdditions.iso в настройках носителей (как в первом шаге) и снова запустите виртуальную машину, а затем произведите установку с диска.

По завершении установки и перезагрузки виртуальной машины она полностью будет готова к работе. Однако, возможно, вы захотите выполнить некоторые дополнительные настройки.

Основные настройки виртуальной машины VirtualBox

В настройках виртуальной машины (учтите, что многие настройки недоступны, пока виртуальная машина запущена) вы можете изменить следующие основные параметры:

  1. В пункте «Общие» на вкладке «Дополнительно» можно включить общий с основной системой буфер обмена и функцию Drag-n-Drop для перетаскивания файлов в гостевую ОС или из неё.
  2. В пункте «Система» — порядок загрузки, режим EFI (для установки на GPT диск), размер оперативной памяти, количество ядер процессора (не следует указывать число более количества физических ядер процессора вашего компьютера) и допустимый процент их использования (низкие значения часто приводят к тому, что гостевая система «тормозит»).
  3. На вкладке «дисплей» можно включить 2D и 3D ускорение, задать объем видеопамяти для виртуальной машины.
  4. На вкладке «Носители» — добавить дополнительные приводы дисков, виртуальные жесткие диски.
  5. На вкладке USB — добавить USB устройства (которые физически подключены к вашему компьютеру), например, флешку, к виртуальной машине (нажмите по значку USB с «плюсом» справа). Для использования контроллеров USB 2.0 и USB 3.0 установите Oracle VM VirtualBox Extension Pack (доступно для скачивания там же, где вы загружали VirtualBox). 
  6. В разделе «Общие папки» можно добавить папки, которые будут общими для основной ОС и виртуальной машины.

Некоторые из указанных выше вещей можно выполнить и из запущенной виртуальной машины в главном меню: например, в пункт «Устройства» можно подключить флешку, извлечь или вставить диск (ISO), включить общие папки и т.п.

Дополнительная информация

В завершение — некоторая дополнительная информация, которая может оказаться полезной при использовании виртуальных машин VirtualBox.

  • Одна из полезных возможностей при использовании виртуальных машин — создание «снимка» (snapshot) системы в её текущем состоянии (со всеми файлами, установленными программами и прочим) с возможностью отката к этому состоянию в любой момент (и возможностью хранить несколько снимков). Сделать снимок в VirtualBox можно на запущенной виртуальной машине в меню «Машина» — «Сделать снимок состояния». А восстановить в менеджере виртуальных машин, нажав «Машины» — «Снимки» и выбрав вкладку «Снимки». 
  • Некоторые комбинации клавиш по умолчанию перехватываются основной операционной системой (например, Ctrl+Alt+Del). Если вам требуется отправить подобное сочетание клавиш в виртуальную машину, используйте пункт меню «Ввод».
  • Виртуальная машина может «захватывать» ввод клавиатуры и мышь (так, что нельзя перевести ввод на основную систему). Чтобы «освободить» клавиатуру и мышь, если потребуется, используйте нажатие хост-клавиши (по умолчанию это правый Ctrl).
  • На сайте Майкрософт есть готовые бесплатные виртуальные машины Windows для VirtualBox, которые достаточно импортировать и запустить. Подробно о том, как это сделать: Как скачать бесплатные виртуальные машины Windows с сайта Майкрософт.
  • При необходимости вы можете включить загрузку виртуальной машины VirtualBox с физической флешки или другого накопителя

А вдруг и это будет интересно:

Опыт использования виртуализации на VirtualBox / Хабр

Уровень: начинающим

Введение

Несколько лет назад я начал разбираться с вируализацией, и у меня получились своего рода путевые заметки, которые я сейчас оформил и выкладываю сюда. Никаких откровений тут не будет, статья адресована начинающим админам. Задача которую я здесь решаю состоит в том, чтобы виртуализовать уже имеющиеся не виртуальные сервера на Linux и FreeBSD.

Причины, по которым я тогда выбрал VirtualBox

Причины представлены ниже:

  • Простота использования
  • Отличное руководство, подробно описывающее все аспекты работы VirtualBox
  • Наличие отличных графического, консольного и web-интерфейса
  • Возможность предоставления доступа к консоли гостевой ОС про протоколу RDP
  • Удобство использования

Полное руководство пользователя VirtualBox доступно на сайте производителя.

Причины, по которым я не выбрал бы его сейчас

  • Отсутствие хороших web-морд. Имеющийся web-интерфейс, несмотря на то, что он позволяет совершать с виртуальными машинами большинство требуемых действий (создание, снимки, удаление, создание виртуальных сетей), и реализован очень качественно, обладает следующими ограничениями:
    • Не позволяет назначать права на виртуальные машины (предоставления доступа разработчиками по списку только к своим машинам)
    • Не позволяет управлять несколькими физическими серверами из одной панели управления
    • Не отображает статистику по загрузке сервера
    • Пишется сторонними разработчиками, не имеющими отношения к VirtualBox, в их свободное время, из-за чего вызывает опасение возможность прекращения его развития
  • Более медленная работа при большом количестве запущенных виртуальных машин по сравнению с KVM.
  • Оговорка в лицензии

Подготовка ОС для работы с виртуальными машинами

VirtualBox можно установить практически на любую ОС, однако стабильная работа и все его возможности (например, RDP-подключение к консоли гостевой системы) доступны только на Линуксе, поэтому был выбран Debian Linux. Для самого VirtualBox специальной настройки ОС не требуется, достаточно выделить отдельный раздел для хранения образов дисков гостевых систем и образов установочных дисков для чистой установки гостевых систем.

Однако для управления VirtualBox через Веб-интерфейс (phpvirtualbox) требуется веб-сервер (выбран Apache 2) и PHP 5. В Debian конфигурация по умолчанию PHP 5 и Apache 2 удовлетворяет требованиям phpvirtualbox, специальным образом настраивать ничего не нужно.

Описание конфигурации сервера для виртуалок:

  • cервер имеет имя virtbox.site и адрес 10.0.0.7 (кстати, поищите почему не нужно использовать .local)
  • Раздел для хранения образов гостевых ос создан на отдельном жестком диске и примонтирован в /srv/vdi
  • Установлены пакеты Apache 2 и PHP 5: virtbox# apt-get install apache2 php5

Установка phpvirtualbox

Для Virtualbox существует бесплатный web-интерфейс, реализованный на PHP и использующий встроенную в virtualbox службу удаленного управления virtualbox web service.

Устанавливаем phpvirtualbox:

1. На сайте разработчика смотрим последнюю версию и скачиваем ее на сервер:
virtbox# cd /var/www && wget phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-7.zip

2. Распаковываем:
virtbox# unzip phpvirtualbox-4.1-7.zip

3. Конфигурируем:
virtbox# cd phpvirtualbox-4.1-7.zip && cp config.php-example config.php && vim config.php

4. Прописываем адрес сервера, на котором работает VirtualBox, для удаленных подключений с помощью встроенного в VirtualBox RDP-plugin:
var $consoleHost = '10.0.0.7';

Внимание! Для успешных подключений на сервере должны быть открыты входящие порты, по умолчанию начиная с 3389 (TCP), по одному порту на гостевую систему.

5. Настраиваем virtualbox web service, для чего создаем файл /etc/vbox/vbox.cfg со следующим содержанием:
VBOXWEB_USER='vbox'

VBOXWEB_HOST=127.0.0.1

VBOXWEB_LOGFILE=/srv/log/vboxwebservice

6. Запускаем virtualbox web service, перед этим нужно убедиться в том, что файл /srv/log/vboxwebservice доступен для чтения и записи пользователю vbox:
/etc/init.d/vboxweb-service start.

phpvirtualbox теперь доступен по адресу virtbox.site/phpvirtualbox.

Создание виртуальных машин

Создание виртуальных машины через web-интерфейс достаточно очевидно, нужно нажать в phpvirtualbox кнопку New и следовать инструкциям мастера. Ниже приводится выработанный опытным путем список настроек гостевых систем, достаточный для нормальной работы гостевых Linux и FreeBSD.

  1. System
    1. Base Memory: 512 MB
    2. Processor(s): 1
    3. Enable PAE/NX: NO — эмуляция поддержки работы с более чем 4 ГБ памяти для 32-битных систем как правило не нужна
    4. Chipset: PIIX3 — в руководстве ничего не сказано про зависимость быстродействия от типа эмулируемого чипсета, поэтому выбираем по умолчанию
    5. Extended features
      1. Enable IO APIC — без включенной эмуляции APIC некоторые клонированные сервера работать не будут
      2. Hardware clock in UTC time — как правило гостевые системы ожидают системное время в формате UTC, и эта опция отвечает за передачу гостевой ОС времени в UTC, а не в Local time сервера.
      3. Display: 2 MB — минимально возможное значение, при установке этого значения в 1 MB rdp-подключения работать не будут. При создании новых машин можно оставить значение по умолчанию, предлагаемое phpvirtualbox.
      4. Storage: где нужно создать образ диска
  2. Network
    1. Debian: Virtio — Debian с помощью гостевых расширений умеет понимать, что она работает в виртуальной машине, и использовать виртуальную сетевую карту, что дает очень большой выигрыш в производительности
    2. FreeBSD: Intep PRO/1000 MT Server network card — для FreeBSD гостевого драйвера сетевой карты нет, поэтому выбираем эмуляцию самой быстрой карты из доступных. Во FreeBSD устройство называется em0.
  3. Serial ports: Disabled
  4. USB: Disabled
  5. Shared Folders: None — возможность VirtualBox предоставлять доступ гостевой системе к файлам хост-системы как правило не нужна, проще воспользоваться scp или sftp

Для создания виртуальных машин через консоль следуют воспользоваться руководством, раздел 8.6.

Управление виртуальными машинами

Управление через веб-интерфейс

Управление виртуальными машинами через web-интерфейс тривиально, достаточно выделить нужную машину в phpvirtualbox и выбрать в интерфейсе требуемое действие, например Start, Stop (безусловное выключение, отправка сигнала о нажатии кнопки выключения питания, перезагрузка, сохранение состояние гостевой системы с возможностью впоследствии откатить ее состояние и приостановка работы гостевой системы с сохранением ее памяти на диск и возможностью впоследствии загрузки памяти с диска и продолжения работы).

По щелчку на гостевой системе правой кнопкой машины доступны операции ее настроек, удаления, просмотра логов и т.д.

Также стоит отметить возможность подключения к консоли гостевой системы, что аналогично подключению к реальной машине мыши и клавиатуры. Для этого нужно выделить нужную гостевую систему, выбрать вкладку Console в phpvirtualbox, задать размер экрана (для текстовых режимов работы гостевых ОС достаточно 800х600), нажать Connect и щелкнуть мышью по клиенту удаленного подключения (в котором выводится содержимое консоли гостевой системы). Управлять гостевой системой можно с момента включения.

Управление через консоль

Для управления гостевыми система в VirtualBox используются утилиты VBoxManage и VBoxHeadless, подробное описание которых доступно в руководстве.

Запускать команды нужно от пользователя vbox, под которым работает сам VrtualBox, в случае запуска от другого пользователя или root VirtualBox не сможет найти файлы конфигурации виртуальных машин, которые хранятся в домашней директории пользователя Vbox, и выдаст ошибку.

Для перехода под пользователя vbox нужно сказать:
su -s /bin/bash vbox

Оболочку нужно указывать явно, потому что по умолчанию у пользователя vbox стоит оболочка /bin/false.

Ниже для примера приведены команды для включения, выключения и работы с образами дисков.

1. Запуск группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):
for M in test1 test2 test3 ; do VBoxManage startvm $M --type=headless ; sleep 30 ; done

Если не указывать sleep 30 некоторые машины могут не запуститься из-за очень интенсивного чтения с жесткого диска сервера при запуске и некоторые гостевые системы решат, что у них ошибка чтения с жесткого диска.

2. Выключение группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):
for M in test1 test2 test3 ; do VBoxManage controlvm $M acpipowerbutton ; sleep 30 ; done

Практически все машины понимают нажатие на кнопку выключения питания и смогут корректно завершиться.

3. Создание диска фиксированного размера для гостевой системы:
VBoxManage createhd --variant Fixed --size 20000 --format vdi --filename test

4. Преобразование образа диска из формата VirtualBox в формат, понятный другим виртуальным машинам:
VBoxManage internalcommands converttoraw test1.vdi test1.raw

Подключение через RDP

К консоли виртуальных машин можно подключиться через RDP. В Windows нужно открыть Пуск->Все программы->Стандартные->Подключение к удаленному рабочему столу и указать адрес virtbox.test и порт, сопоставленный конкретной гостевой системе, который можно посмотреть в phpvirtualbox. Для удобства использования в параметрах подключения можно указать разрешение экрана 1024х768, тогда окно с подключением не будет занимать весь экран и перехватывать системные сочетания клавиш, такие как Alt+Tab.

Важное замечание: возможно одновременное подключение к одной гостевой системе нескольких пользователей. При этом все видят одно и то же, и все совершенные кем-либо действия видны остальным подключившимся. Для включения этой настройки нужно в настройках виртуальной машины в phpvirtualbox в разделе Display на вкладке Remote Display установить галочку Allow Multiple Connections.

Создание снимков гостевых систем

Снимки дают возможность сохранения состояния гостевых систем и возврата к этому состоянию по требованию. Что это означает на практике?

  • Можно попробовать различные запросы к базе данных на гостевой системе с возможностью после каждого запроса восстанавливать начальное системы
  • Можно попробовать различные конфигурации взаимодействия сервисов на гостевой системе без необходимости вручную откатывать изменения во многих конфигурационных файлах в случае получения нерабочей системы
  • И наконец это иногда удобный инструмент создания резервных копий, который позволяет сделать полный снимок рабочей машины и восстановить ее полностью за минимальное количество административных действий. Внимание! Не делайте этого с продукционными машинами.

При создании снимка гостевой системы занимаемое ею место на диске фактически не увеличивается, дополнительный объем будут занимать только измененные по сравнению с уже существовавшим образом диска гостевой машины данные. Например, если будет изменен файл /etc/rc.conf, измененная копия будет записана отдельно.

Для создания снимка через phpvirtualbox нужно:

  • Выделить гостевую систему, с которой нужно сделать снимок
  • Перейти на вкладку «Snapshots»
  • Нажать кнопку «Take Snapshot» (с изображением фотоаппарата)
  • Ввести название снимка и комментарий

Для восстановления снимка через phpvirtualbox нужно:

  • Выделить гостевую систему, с которой нужно сделать снимок
  • Выключить гостевую систему, нажав «Stop»>«Power Off»
  • Перейти на вкладку «Snapshots»
  • Выделить снимок, который нужно восстановить
  • Нажать кнопку «Restore Snapshot» (с изображением компьютера со стрелкой вверх)

Создание дампа

Debian Linux

Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена Debian Linux (любой версии, начиная с 5 Lenny точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами: /, /var, /usr

Сначала нужно установить dump:
aptitude install dump

Далее, для создания дампа клонируемого сервера на Debian необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (как сделать так, чтобы не сдампило дампы, думайте сами):
dump 0af test1.root /

dump 0af test1.var /var

dump 0af test1.usr /usr

Здесь:
0 -- дамп уровня 0

a -- не делать предположений о размере носителя, на который осуществляется дамп

L -- делать дамп со смотрированной ФС, при этом сначало делается снимок фс, дапм, потом дамп еще раз, чтобы не было поврежденных файлов. Linux так не умеет.

f -- делать дамп в файл вместо ленточного накопителя.


Полученные файлики нужно переложить на сервер с VirtualBox.

FreeBSD

Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена FreeBSD (любой версии, начиная с 6 точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами: /, /var, /usr

Для создания дампа клонируемого сервера на FreeBSD необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (опять напоминаю про дампание дампов):
dump 0aLf test1.root /

dump 0aLf test1.var /var

dump 0aLf test1.usr /usr

Здесь:
0 -- дамп уровня 0

a -- не делать предположений о размере носителя, на который осуществляется дамп

f -- делать дамп в файл вместо ленточного накопителя.


Анаглогино, полученные файлики нужно переложить на сервер с VirtualBox.

Развертывание дампа

Debian Linux

1. Нужно сделать виртуальную машину, прицепить к ней диск и загрузочный LiveCD Debian.

2. Затем нужно примонтировать получившийся раздел, зачать на него дампы, развернуть их:
cd /mnt1 && restore -rf /mnt/test1.root && cd usr && restore -rf /mnt/test1.usr &&

cd ../var && restore -rf /mnt/test1.var

3. Установить загрузчик:
grub-install /dev/sda1.

4. Поправить UUID в /etc/fstab

5. Проверить, чтобы в /boot/grub/grub.cfg были правильно указаны UUID разделов:
search --no-floppy --fs-uuid --set df7f92ba-2877-4b39-8805-966cf9ab52f3

linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=df7f92ba-2877-4b39-8805-966cf9ab52f3 ro quiet

6. Проверить /var/spool/cron/crontabs, /etc/crontab и отключить то, что ненужно.

7. Если на восстанавливаемом сервере была включена консоль, то убрать из /etc/inittab строчку похожую на следующую:
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100, а и из /etc/default/grub такую:
GRUB_TERMINAL=console (достаточно закомментировать).

FreeBSD

Созданные дампы нужно развернуть на образе диска, выделенного под гостевую систему. В настоящие время поддержка файловых систем UFS используемых во FreeBSD ограниченна, поэтому для развертывания дампов создается виртуальная машина FreeBSD, к ней подключается раздел для хранения дампов, на который с помощью scp и пересылаются дампы с клонируемых серверов. Потом к этой машине подключается образ диска выделенный под гостевую систему, на этом образе создается файловая система FreeBSD и разворачивается полученный дамп.

Далее предполагается, что раздел tmp примонтирован в /mnt, образ диска для гостевой ОС размечен под два слайса, первый из которых примонтирован в mnt1, а второй отдан под swap и не примонтирован. Тогда развернуть дамп можно следующим образом:

cd /mnt1 && restore -rf /mnt/test1.root && cd usr && restore -rf /mnt/test1.usr &&

cd ../var && restore -rf /mnt/test1.var

Здесь && нужно для того, что следующая команда выполнится только в случае успешного завершения предыдущий, и таким образом исключаются ситуации, когда например каталог var не будет создан, переход в него не осуществится и разворачивание дампа произойдет не туда, т.к. разворачивание дампа производится относительно текущей директории.

Необходимые изменения в конфигурации гостевой ОС клонированного сервера

До загрузки гостевую ОС нужно перенастроить для работы в виртуальной машине. Количество требуемых действий как правило минимально и сводится к следующему:

1. Находясь в директории mnt1 (см. выше) удаляем файлы конфигурации загрузчика. Это особенно актуально, если виртуализуем какой-нибудь продукционный сервер, чтобы исключить использование COM-порта в качестве консоли по умолчанию, что приводит к зависанию загрузчика.
rm /mnt1/boot.config

rm /mnt1/boot/device.hints


2. Заменить содержимое файла /mnt1/etc/fstab следующим:
/dev/ad0s1b none swap sw 0 0

/dev/ad0s1a / ufs rw 2 2


При этом предполагается, что образ диска гостевой ОС разбит на 2 слайса, первый из которых отдан под хранение данных и второй под swap.

3. Если нужно, сказать клонированной системе о необходимости загрузки модуля ядра для работы с эмулированной сетевой картой, для чего нужно в файле /boot/loader.conf добавить строчку if_em_load="YES"

4. Указать клонированное системе выделенный для нее IP-адрес, для чего в /etc/rc.conf нужно закомментировать строчку текущих настроек сетевого адаптера и добавить новую строчку следующего вида:

ifconfig_em0="inet 10.0.0.8/24"

6. Если клонированному серверу выделяется видимый снаружи IP-адрес, то нужно удалить его настройки, отвечающие за его взаимодействие с другими серверами. Внимание! У клонированного сервера есть все настройки настоящего, поэтому теоретически возможно, что если настройки не удалить, то клонированный сервер будет мешать работе боевой системы. Главное место, которое нужно проверить на FreeBSD-based серверах, находится в /var/cron/tabs/.

7. Выключить FreeBSD, использованную для разворачивания дампа, и загрузить гостевую систему с клоном сервера. В случае проблем при загрузке возможно, что ядро на системе было пересобрано с измененной конфигурацией, это можно исправить сказав загрузчику загрузить ядро по умолчанию, которое я надеюсь вы сохранили в системе во время пересборки:
unload

load boot/kernel.GENERIC/kernel

boot

Для отдачи этих команд необходимо включить гостевую систему, подключиться к ней по RDP и дождаться появления на экране сообщений о том, что можно нажать Enter для указания опций загрузчику.

8. Добавить пользователя для доступа по ssh, зайдя через RDP на клонированный сервер:
pw user add username -g wheel && passwd username

Здесь опция -g wheel добавляет пользователя в группу wheel, члены которой во FreeBSD обладают правом делать sudo и su.

Создание виртуальных сетей

Внутри VirtualBox можно создавать полностью изолированные виртуальные сети. Какие возможности это дает?

Минимизация необходимости перенастройки клонированных серверов

Создание тестовой среды для отработки взаимодействия серверов между собой

Создание виртуальной сети

Чтобы создать виртуальную сеть нужно в phpvirtualbox зайти в свойства гостевой системы, перейти в раздел Network, выбрать в поле «Attached to» опцию «Internal Network», а в выпадающем списке «Name» выбрать требуемую виртуальную сеть. Какие могут возникнуть сложности?

Нужно создать новую виртуальную сеть, а такой опции в интерфейсе нет. Есть два варианта решения:

Попробовать написать имя новой виртуальной сети прямо в выпадающем списке «Name». Однако в этом случае может возникнуть ошибка.

Тогда нужно привязать сетевой адаптер гостевой системы к виртуальной сети через CLI:

sudo su -s /bin/bash vbox

VBoxManage modifyvm test1 --nic1 intnet

Здесь

nic1 — сетевой адаптер гостевой системы, где 1 это его порядковый номер. Количество адаптеров в гостевой системе не ограничено

intnet — виртуальная сеть, название может быть любым. Особенность работы VirtualBox заключается в том, что специально создавать виртуальные сети не нужно, достаточно указать нескольким гостевым системам одну и ту же виртуальную сеть и они окажутся связанными на (эмулированном) физическом уровне автоматически, что аналогично подключению нескольких реальных компьютеров к одному свитчу (коммутатору).

Более подробная информация находится в разделе 8.7.2 Networking setting руководства пользователя.

Управление недоступными снаружи машинами в виртуальной сети

Доступ по RDP

RDP-сервер работает на физическом сервере, поэтому для подключения к любой виртуальной машине справедливо написанное в разделе Управление через веб-интерфейс этой статьи.

Проброс портов

Существует возможность создать в гостевой системе виртуальную сетевую карту с подключением через NAT (реализуемый автоматически средствами VirtualBox) и пробросить (отобразить) произвольный порт гостевой системы на порт сервера VirtualBox. Для того, чтобы сделать это через phpvirtualbox, нужно:

1. Зайти в свойства гостевой системы, перейти в раздел «Network», выбрать в поле «Attached to» опцию «NAT»

2. Раскрыть опции, скрывающиеся в разделе «Advanced» этого же раздела, и нажать там кнопку Port Forwarding

3. В открывшемся окне «Port Forwarding Rules» указать следующие параметры:

4. Нужный протокол, путем щелчка мышью по именованию «TCP» в поле «Protocol»

5. Указать свободный порт на сервере VirtualBox в поле «Host Port»

6. Указать порт гостевой системы в поле «Guest Port».

Больше ничего указывать не нужно. После применения настроек порт гостевой системы станет немедленно (без перезагрузки) доступен через соответствующий порт сервера VirtualBox. Как пример, в случае с пробросом порта ssh (22 TCP) гостевой системы на 2200 порт VirtualBox нужно указать следующие параметры:
Параметр Значение

Name ssh (необязательный параметр)

Protocol TCP

Host IP Не указывать

Host Port 2200

Guest Port 22

Guest IP Не указывать


Количество отображаемых портов не ограничено, можно отобразить столько, сколько нужно.

Виртуальный маршрутизатор

В случае создание в VirtualBox группы взаимодействующих гостевых систем без внешних адресов имеет смысл установить еще одну гостевую систему, которая будет играть роль маршрутизатора. Какие цели при этом достигаются?

Конфигурацию сетевых адаптеров клонированных сервером можно не менять. При этом виртуальный маршрутизатор создает для остальных гостевых систем видимость того, что они настоящие и пользуются своими настоящими именами хостов и IP-адресами

К гостевым системам не имеющим ни внешних адресов, ни описанной выше возможности проброса портов, которая работает только в случае использования NAT опции VirtualBox, становится возможен прямой доступ по ssh.

Создание создание виртуального маршрутизатора состоит из следующих шагов:

  • Создание гостевой системы
  • Установка на гостевую систему любой ОС, которая может играть роль маршрутизатора, например Debian Linux или FreeBSD
  • Ввод гостевой системы в виртуальную сеть как описано выше
  • Настройка гостевой системы для выполнения функций маршрутизатора
  • Подключение к гостевой системе второго виртуального сетевого адаптера в режиме моста с сетевым адаптером сервера VirtualBox

После этого можно пробрасывать порты с виртуального маршрутизатора на гостевые системы без внешних адресов. В случае Linux c iptables для проброса входящих соединений с 2200 порта протокола TCP виртуального маршрутизатора на 22 порт (TCP) гостевой системы без внешнего адреса c внутренним адресом 192.168.0.2 достаточно следующего правила:
iptables -t nat -A ROUTING -p tcp -i eth0 --dport 2200 -j DNAT --to-destination 192.168.0.2:22

При этом предполагается, что виртуальный маршрутизатор настроен правильно и имеет сетевой адаптер, настроенный на работу с виртуальной подсетью в которой находится гостевая система с адресом 192.168.0.2

Доступ по SSH

В соответствии с вышеприведенным примером можно зайти по ssh на гостевую систему без внешнего адреса указав в ssh-клиенте адрес виртуального маршрутизатора и порт 2200. Аналогично можно зайти по scp для передачи файлов на гостевую систему.

Как пользоваться VirtualBox | Losst

VirtualBox — это программное обеспечение для виртуализации персонального компьютера от компании Oracle. У программы есть две версии — с открытым исходным кодом, и закрытая. С помощью VirtualBox вы можете запускать различные операционные системы одновременно, настраивать между ними сеть, обмениваться файлами и многое другое.

Вы можете запустить VirtualBox в Linux, Solaris, Mac OS X и Microsoft Windows, а также установить на нее большинство известных операционных систем. В этой статье мы рассмотрим, как пользоваться VirtualBox. Поговорим об установке, настройке VirtualBox, а также про некоторые тонкости работы с виртуальными машинами, которые могут вам очень сильно помочь. Для обычных пользователей это программное обеспечение доступно полностью бесплатно.

Содержание статьи:

1. Установка VirtualBox

Виртуальная машина VirtualBox устанавливается как большинство других программ. В Windows вы можете загрузить установочный файл из официального сайта. А в Linux, программа доступна через официальные репозитории. Например, в Ubuntu установка VirtualBox выполняется командой:

sudo apt install virtualbox

Мы не будем подробно останавливаться на этом вопросе, поскольку есть более интересные задачи. После установки вы найдете ярлык программы в главном меню. В терминах виртуальных машин основной компьютер, где выполняется Virtualbox называется хостом, а все запущенные машины — гостевыми.

2. Создание виртуальной машины

Перед тем как вы сможете запустить вашу первую гостевую машину, нужно создать новую виртуальную машину в программе. Для этого нажмите кнопку Создать в главном окне:

На первом шаге вам нужно выбрать тип операционной системы, например, Linux -> Ubuntu это включит некоторые оптимизации, необходимые для этой системы:

Если вы работаете в 64 битной системе, то сможете запускать как 32 битные, так и 64 битные программы. На следующем шаге мастера выберите нужное количество оперативной памяти. Это очень важный параметр, поэтому если ее у вас достаточно, лучше не жалейте, 2 гигабайта будет вполне достаточно.

Дальше вам нужно создать жесткий диск для новой машины. Оставьте тип диска по умолчанию VDI:

Дальше выберите тип диска, динамический или фиксированный. Лучше брать динамический, тогда размер файла диска будет увеличиваться в зависимости от его наполнения в виртуальной машине:

И на последнем этапе вам осталось выбрать размер для нового диска, а также его имя:

Дальше, только что созданная машина появиться в списке и вы сможете ее запустить. Но перед этим давайте рассмотрим базовые настройки процессора и дисплея.

3. Настройка процессора

Выделите созданную виртуальную машину и нажмите Настройки.

Выберите Система, затем перейдите на вкладку Процессор:

Здесь вы можете выбрать сколько ядер процессора может использовать виртуальная машина, а также включить PAE для поддержки больше 4 Гб ОЗУ в 32 битных системах и режим эмуляции EFI. Затем перейдите на вкладку Ускорение.

Тут вы можете выбрать режим аппаратной виртуализации, а также включить такие дополнительные возможности, как AMD-V и Intel-VT. Это увеличит скорость работы системы.

4. Настройка графики

По умолчанию для виртуальной машины доступно 18 Мб видеопамяти. Это очень мало для современных систем. Выберите пункт Дисплей, затем потяните ползунок Видеопамять, так чтобы дать машине не менее 128 Мб памяти:

Для видеокарт на 2 Гб будет доступно 256 Мб. Также, здесь вы можете настроить количество экранов.

5. Настройка сети

По умолчанию виртуальная машина использует сеть через NAT это удобно, если нужно получить доступ к интернету из машины. Но если вы хотите настроить коммуникацию между самими машинами или между гостевой системой и хостом по сети, вам понадобится другой способ. Закройте меню настройки машины. Затем откройте меню Файл -> Настройки.

Там выберите пункт сеть и перейдите на вкладку Виртуальный адаптер хоста:

Тут вам понадобится создать новый виртуальный адаптер с помощью зеленой кнопки со знаком плюса:

Настройки менять не нужно, после этого нажмите Ок. Дальше снова откройте настройки машины, перейдите на пункт сеть и выберите тип адаптера — виртуальный адаптер хоста, а имя — то, которое было создано для вашего адаптера, например, vboxnet0:

Теперь между всеми виртуальными машинами, подключенными к vboxnet0 и хостом будет виртуальная сеть.

6. Клонирование

Вы можете сделать резервную копию машины чтобы использовать ее потом или перенести на другой компьютер. Для этого используется опция Клонировать. Просто выберите ее в меню для машины:

7. Запуск машины

При первом запуске вам предстоит выбрать носитель, с которого будет установлена новая система, это может быть DVD-ROM или ISO образ системы:

Вы можете изменить этот образ из меню Устройства -> Оптические диски для уже запущенной машины:

Дальше вам предстоит работать с новой машиной, как с обычным компьютером:

8. Дополнительные плагины

Дополнительные расширения VirtualBox позволяют получить доступ к USB устройствам из виртуальной машины, веб-камере, настроить удаленный доступ и другое. Для установки сначала скачайте файл VirtualBox-Extension-Pack из официального сайта:

Затем откройте меню Файл -> Настройки, перейдите на вкладку плагины и нажмите зеленую кнопку:

Подтвердите установку и примите лицензию:

Готово, официальный плагин установлен и теперь вы можете работать с USB устройствами 3.0 в вашей в виртуальной машине.

9. Снимки состояния

Вы могли бы создавать копию виртуальной машины каждый раз, когда нужно что-то проверить. Но это вовсе не обязательно. Здесь поддерживается такая отличная функция, как снимки состояния. Вы просто делаете снимок, или а потом можете восстановить систему до сохраненного состояния в любое время. Вы можете создать снимок для запущенной машины из меню Машина -> Сделать снимок состояния:

 

Создавать снимки для выключенной машины вы можете на вкладке Снимки:

Для этого выберите пункт контекстного меню Создать снимок. Все созданные снимки доступны здесь же:

10. Запись видео

Вы можете захватывать видео прямо в экрана виртуальной машины. Для этого в меню Вид установите галочку Захват видео. Видео будет сохранено в папке виртуальной машины:

11. Дополнения гостевой системы

Дополнения гостевой системы позволяют использовать такие возможности, как общий буфер обмена, общие папки, перетаскивание файлов, интеграция экрана, адаптация разрешения виртуальной машины и многое другое. Это незаменимая вещь при работе с виртуальными машинами. Дополнения устанавливаются в каждую гостевую систему и делают использование VirtualBox проще.

Чтобы установить дополнения в меню Устройства выберите Подключить образ дополнений гостевой ОС:

Дальше вам останется только запустить установщик для своей системы. Поддерживаются как Windows, так и Linux. Читайте подробнее про установку дополнений гостевой ОС в Ubuntu. Теперь вы знаете как пользоваться oracle virtualbox с комфортом.

12. Реальный диск в VirtualBox

Мы уже почти рассмотрели все о том, как пользоваться VirtualBox linux, но еще остановимся на работе с дисками. Иногда возникает необходимость работать с реальным диском. Вы можете создать файл ссылки на реальный диск с помощью команды VBoxManage:

sudo VBoxManage internalcommands createrawvmdk -filename ~/realdisk.vdmk -rawdisk /dev/sda

Здесь мы создаем диск с именем ~/realdisk.vdmk, который ссылается на наш диск /dev/sda. Вы можете ссылаться на любой другой диск. Только для запуска машины, вам придется запускать VirtualBox от имени суперпользователя. Также вы можете создать копию реального диска, конвертировав его в VDI, только смотрите чтобы хватило места:

sudo VBoxManage internalcommands converthd ./realdisk.vmdk newdisk.vdi

В Windows, команда будет выглядеть вот так:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands createrawvmdk -filename C:\drive.vmdk -rawdisk \\.\PHYSICALDRIVE1

Мы создаем ссылку на первый жесткий диск, которая будет расположена на диске C:\. Дальше вы можете использовать этот диск в настройках виртуальной машины.

13. Доступ к виртуальному диску

Иногда возникает обратная необходимость — получить доступ к виртуальному диску и его содержимому из реальной системы. И это тоже возможно. Сначала смотрим где на вашем диске начинаются данные:

VBoxManage internalcommands dumphdinfo storage.vdi | grep "offData"

Здесь storage.vdi нужно заменить на адрес вашего диска, затем монтируем:

sudo mount -t ext4 -o rw,noatime,noexec,loop,offset=2097152 ~/VirtualBox\ VMs/storage.vdi /mnt/

Теперь вы имеете полный доступ к диску и можете даже вносить изменения, которые будут сохранены. Так, работа с Virtualbox будет выполняться намного легче.

Выводы

В этой статье мы рассмотрели, как пользоваться виртуальной машиной virtualbox. Несмотря на то что это бесплатный продукт с открытым кодом, здесь есть все необходимые возможности и даже больше. А какое программное обеспечение для виртуализации предпочитаете вы? Напишите в комментариях!

Оцените статью:

Загрузка…

What is, Demand Paging, Advantages

  • Home
  • Testing

      • Back
      • Agile Testing
      • BugZilla
      • Cucumber
      • Database Testing
      • Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Мобильное тестирование
      • Mantis
      • Почтальон
      • QTP
      • Назад
      • Центр качества (ALM)
      • SAP Testing
      • SAPU
      • Управление тестированием
      • TestLink
  • SAP

      • Назад
      • ABAP
      • APO
      • Начинающий
      • Basis
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • FICO
      • 000 HRM
      • 000 HRM
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Менеджер решений
      • Successfactors
      • SAP Tutorials
  • Web
  • AngularJS
  • ASP.Net
  • C
  • C #
  • C ++
  • CodeIgniter
  • СУБД
  • JavaScript
  • Назад
  • Java
  • JSP
  • Kotlin
  • Linux
  • Linux
  • Kotlin
  • Linux
  • js

  • Perl
  • Назад
  • PHP
  • PL / SQL
  • PostgreSQL
  • Python
  • ReactJS
  • Ruby & Rails
  • Scala
  • SQL
  • 000

  • SQL
  • 000

    0003 SQL

    000

    0003 SQL

    000

  • UML
  • VB.Net
  • VBScript
  • Веб-службы
  • WPF
  • Обязательно учите!

      • Назад
      • Бухгалтерский учет
      • Алгоритмы
      • Android
      • Блокчейн
      • Business Analyst
      • Создание веб-сайта
      • CCNA
      • Облачные вычисления
      • COBOL
    • COBOL
    • 900

      java — Может кто-нибудь объяснить, что такое виртуальные машины и почему они полезны?

      Переполнение стека

      1. Около
      2. Продукты

      3. Для команд
      1. Переполнение стека
        Общественные вопросы и ответы

      2. Переполнение стека для команд
        Где разработчики и технологи делятся частными знаниями с коллегами

      3. Вакансии
        Программирование и связанные с ним технические возможности карьерного роста

      4. Талант
        Нанимайте технических специалистов и создавайте свой бренд работодателя

      5. Реклама
        Обратитесь к разработчикам и технологам со всего мира

      6. О компании

      .