интерфейс паравиртуализации virtualbox что это
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Паравиртуализация
Паравиртуализация — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется.
Впервые термин возник в проекте Denali, но сейчас чаще всего его связывают с Xen, системой где паравиртуализация заслужила наибольшую популярность.
Содержание
Общая информация
Паравиртуализацию используют SCSI, USB, VGA и PCI устройства.
Метод паравиртуализации позволяет добиться более высокой производительности чем метод динамической трансляции.
Паравиртуализация не требует расширения виртуализации от хост-процессора, и это обеспечивает виртуализацию аппаратных архитектур, которые не поддерживают аппаратную виртуализацию. Как бы то ни было, пользователи и управляющие домены требуют поддержки ядра и драйверов, которые в прошлом требовали специальной сборки ядра, но сейчас являются частью ядра Linux как и других ОС.
История
Паравиртуализация – новый период старой идеи. ОС VM компании IBM предлагает подобную услугу с 1972. Приставка «пара» в слове паравиртуализация ничего не обозначает, просто авторам данной идеи понадобился новый термин.
Термин “паравиртуализация” впервые был использован в исследовательской литературе в связи с Denali. Этот термин также используется для описания Xen, L4, TRANGO, VMware, Wind River и XtratuM гипервизоров. Все эти проекты используют или могут использовать паравиртуализацию для поддержки высокой производительности виртуальных машин. В настоящее время почти все дистрибутивы Linux, а именно CentOS, Debian, Ubuntu, Gentoo, Fedora, ArchLinux и др., способны работать в режиме Xen PV.
Гипервизор обеспечивает виртуализацию, лежащую в основе компьютерной системы. В полной виртуализации гостевая операционная система запускается немодифицированной на гипервизоре.
В 2005 VMware предложила паравиртуализационный интерфейс Virtual Machine Interface (VMI) в качестве механизма связи между гостевой операционной системой и гипервизором. Этот интерфейс позволяет прямую паравиртуализацию, в которой простая бинарная версия операционной системы может быть запущена как с жесткого диска, так и с гипервизора в режиме паравиртуализации.
Как только AMD и Intel CPU добавили поддержку для более эффективной выполняемой с помощью ПО виртуализации, стандарт устарел и поддержка VMI была убрана из ядра Linux в 2.6.37 и из продуктов Vmware в 2011.
Идея паравиртуализации легла в основу Xen — монитора виртуальных машин, изначально разрабатывавшегося в Кембриджском университете под руководством Яна Пратта). Начав свой путь в конце 90х годов как исследовательский проект, Xen уже через несколько лет приобрел мировую известность.
Интерес к решениям виртуализации для платформы x86 не прошел мимо основных производителей процессоров — Intel и AMD. Обе компании решили внести в свои аппаратные решения изменения, устраняющие ограничения архитектуры и упрощающие создание средств виртуализации.
Версия 3.0, выпущенная в 2005 году, позволяла запускать немодифицированные гостевые системы (естественно, только на процессорах с соответствующими характеристиками). В частности, стало возможно использовать MS Windows в качестве гостевой ОС. Впрочем, для использования какой-либо ОС в качестве хост-системы (dom0) в нее по-прежнему необходимо вносить определенные модификации.
KVM – свободный продукт, которй был интегрирован с разработкой ядра Linux — начиная с версии 2.6.20, все нужное для KVM включено в основную ветку разработки.
Функциональность
Паравиртуализация обеспечивает следующую функциональность:
Дисковая и сетевая поддержка обеспечивается при помощи пары очень простых back-end и front-end драйверов.
С точки зрения архитектуры, паравиртуализация работает при помощи открытия дополнительных каналов связи между гипервизорами и гостевой операционной системой.
Выбор интерфейса паравиртуализации в Virtualbox для максимальной производительности
Введение
Здравствуйте, уважаемые посетители. Не так давно вышла новая версия Oracle VM VirtualBox, где добавили возможность выбора интерфейса паравиртуализации для виртуальной машины. Данная функция преподносится как возможность повышения производительности гостевой операционной системы. Меня этот момент очень сильно заинтересовал. В особенности заинтересовало то, как сказывается на работе гостевой ОС выбор разных интерфейсов, а также то, какой именно интерфейс паравиртуализации нужно выбирать для обеспечения максимального быстродействия гостевой операционной системы Windows 7 x64.
Операционные системы Windows, начиная с Windows 7, поддерживают интерфейс Microsoft — Hyper-V, так что вполне логично, что для работы гостевой ОС Windows 7 x64 нужно выбирать именно его. Тем не менее, мне захотелось узнать, как будет влиять на производительность гостевой ОС каждый из доступных в VirtualBox интерфейсов паравиртуализации. Я начал искать в интернете информацию на эту тему, однако не нашёл нужных мне результатов, поэтому решил провести тестирование самостоятельно, о результатах которого и пойдёт речь в этом посте.
На данный момент, для виртуальной машины можно выбрать один из доступных интерфейсов: совместимый, минимальный, Hyper-v, KVM или же отключить его вовсе:
В справке к VirtualBox указано, что большинство современных ОС Windows и ОС на базе ядра Linux поддерживают один или несколько интерфейсов паравиртуализации и как правило, для использования паравиртуализации не требуется дополнительное программное обеспечение (включая в том числе и дополнение для гостевых ОС VirtualBox Guest Additions). Помимо этого, в справке можно найти краткое описание интерфейсов. Минимальный указывается как необходимый для операционных систем Mac OS X. KVM — рекомендуется для гостевых ОС на базе ядра Linux. Hyper-V — поддерживается операционными системами Microsoft, начиная с Windows 7, соответственно для них и рекомендуется его использовать, а также для ОС FreeBSD.
Методика тестирования
В качестве операционной системы хоста использовалась Windows 7 x64, эта же версия использовалась в качестве гостевой ОС. Версия VirtualBox — последняя на момент написания поста — 5.0.2. Для тестирования мною была создана отдельная виртуальная машина со следующими настройками:
Как видите, я выделил виртуальной машине 2000 МБ памяти из имеющихся 4 ГБ и все четыре процессорных ядра. Помимо этого, включил 2D и 3D ускорение видео, всё для того, чтобы гостевая ОС Windows 7 x64 чувствовала себя как можно лучше.
Для измерения производительности использовались следующие программы: Intel linpack x64, тест производительности, встроенный в программу 7-zip x64, AIDA64 — тест быстродействия оперативной памяти, Xvid4PSP — кодек x264 64-bit.
Тестирование производилось следующим образом: я запускал виртуальную машину с определённым интерфейсом паравиртуализации, выполнял последовательно все тесты, сохраняя результаты. После виртуальная машина отключалась и запускалась вновь, но уже с другим интерфейсом, при этом все остальные настройки оставались неизменными. Все тесты также были выполнены и в операционной системе хоста, чтобы можно было сравнить результы и определить на сколько процентов отличается производительность. При этом отмечу, что все процессы, кроме необходимых для работы ОС, были остановлены как в гостевой, так и в операционной системе хоста, дабы нивелировать влияние посторонних факторов на результаты теста.
Результаты тестирования
Intel linpack x64
Первый выполнявшийся тест — бенчмарк Intel linpack x64. В настройках бенчмарка был указан объём теста 10000 уравнений, тест запускался пятикратно, на графике отображён усреднённый результат пяти тестов (Average) и максимальный (Maximal) зафиксированный результат в GFlops:
Как видим, между хостом и гостевыми ОС наблюдается значительный разрыв в производительности. Наилучший результат показал интерфейс паравиртуализации Hyper-V — 32,58 GFlops в среднем и 33,31 GFlops максимум, отставание производительности по сравнению с хостом составило — 10%. Однако разница между Hyper-V и остальными интерфейсами, кроме KVM, совершенно незначительная. Низкие результаты при работе ОС с интерфейсом KVM обусловлены тем, что производительность значительно падала через несколько минут после запуска ОС, несмотря на то, что в первые минуты её работы, она практически не отличалась от других интерфейсов — это можно определить по максимальному зафиксированному результату с интерфейсом KVM — 32,74 GFlops. Аналогичные провалы производительности были получены и в других тестах, при работе гостевой ОС с активированным интерфейсом KVM.
7-zip x64
Тест производительности в программе 7-zip запускался вручную пятикратно. Результаты всех пяти тестов были усреднены для большей точности:
Лучший результат опять показывает Hyper-V — 9097 MIPS. При этом разница в производительности между ним и хостом уже более существенная, чем в предыдущем тесте — 16%. Остальные интерфейсы, кроме KVM, дали результат не сильно отличающийся друг от друга.
AIDA64 — тест быстродействия оперативной памяти
Следующий тест — быстродействие оперативной памяти в программе AIDA64 уже более интересен. Тестирование выполнялось путём трёхкратного запуска бенчмарка, полученные результаты усреднены. На диаграмме отображены результаты теста по трём параметрам — чтение, запись и копирование в оперативной памяти:
Из результатов видно, что все интерфейсы, кроме KVM показали производительность уровня хоста. Что самое интересное, лучший результат показала ОС при работе как раз таки с отключенным интерфейсом паравиртуализации (Read, Copy), впрочем, разница соверешенно незначительна — менее трёх процентов. Примечательно, что результаты при работе ОС с интерфейсом Hyper-V получились более низкими по сравнению с отключенным интерфейсом паравиртуализации, а также совместимым и минимальным. Как бы там ни было, разница не столь существенная.
Кодирование видеофрагмента кодеком x264 64-bit
Для тестирования использовалась программа Xvid4PSP, версия 5.10.330.0_(2013-03-21)_rc33.1.Кодирование осуществлялось 64-bit версией кодека x264. Видеофрагмент для кодирования — видеозапись с цифровой камеры, закодированная кодеком MJPEG, длительность 62 секунды. Кодирование осуществлялось один раз, поскольку последующие запуски давали точно такой же результат, секунда в секунду. Результаты на диаграмме:
Кодирование видео уже более приближено к реальной работе, нежели синтетические тесты быстродействия, посему эти результаты лично для меня наиболее интересны. Быстрее всего выполнил кодирование конечно же хост, всего за 86 секунд. На втором месте по скорости — Hyper-V, кодирование выполнено за 134 секунды, что более чем в полтора раза дольше, но тем не мнее значительно быстрее, чем результаты при работе с другими интерфейсами. Для сравнения, разница в производительности между Hyper-V, совместимым и минимальным интерфейсами, составила целых 7 процентов, что уже можно назвать существенной разницей.
Результаты этих тестов подтвердили, что для работы гостевой ОС Windows 7 x64 необходимо использовать интерфейс паравиртуализации Hyper-V для достижения максимальной скорости работы. Но, вместе с тем, показали, что разница в производительности будет не всегда значительной.
Как выбрать интерфейс паравиртуализации в VirtualBox?
Учитывая хост-систему Windows 8 (Intel Core i5) и хост Linux Fedora, я бы хотел определить оптимальную настройку для паравиртуального интерфейса.
Эта страница предлагают, чтобы выбор был основан только на гостевой системе:
2 ответа
Минимальный: Объявляет о наличии виртуализованной среды. Кроме того, выдает информацию о частоте TSC и APIC для гостевой операционной системы. Этот провайдер является обязательным для запуска любой Mac OS X гостей.
KVM: Представляет интерфейс гипервизора Linux KVM, который распознается ядрами Linux, начиная с версии 2.6.25. Реализация VirtualBox в настоящее время поддерживает паравиртуализированные часы и блокировки SMP. Этот провайдер рекомендуется для гостей Linux.
Hyper-V: Представляет гипервизор Microsoft Hyper-V, который распознается Windows 7 и более новыми операционными системами. Реализация VirtualBox в настоящее время поддерживает паравиртуализированные часы, частотную отчетность APIC, гостевую отладку, отчеты о сбоях гостя и смягченные проверки таймера. Этот провайдер рекомендуется для гостей Windows.
Другие параметры в раскрывающемся списке выполняются следующим образом, как описано в vboxmanage docs :
Наследие : опция default выбрана для виртуальных машин, которые были созданы с более старыми версиями VirtualBox, и выберет интерфейс паравиртуализации при запуске виртуальной машины с помощью VirtualBox 5.0 и новее.
Давайте уточним, потому что у меня было 4.3 перенесенных виртуальных машин, и они являются «устаревшими», также меня интересовало, какие настройки использовать, если я копирую VM из Linux в Windows или наоборот:
— paravirtprovider none | default | legacy | minimum | hyperv | kvm: Этот параметр указывает, какой интерфейс paravirtualization предоставляется гостевой операционной системе.
Эти параметры подробно описаны в разделе 10.4, « Поставщики паравиртуализации â €.
Как выбрать интерфейс паравиртуализации в VirtualBox?
Дается Windows 8 хост-системе (Intel процессоров i5) и Линукс Федора хозяина, я бы хотел, чтобы определить оптимальные настройки для интерфейса паравиртуальных.
На этой странице предполагают выбор только на основе оценки системы:
самое большое изменение в VirtualBox 5.0 является введение поддержка паравиртуализированных, принося более высокую производительность и хронометража точности поддерживаемых гостевых операционных систем (технология Hyper-V на окна и KVM в Linux).
В в VirtualBox руководство, в разделе поставщики паравиртуализации очень четко объясняет, когда каждый должен быть использован (Курсив мой):
КВМ: представляет собой интерфейс гипервизора KVM Linux, который признан ядер Linux, начиная с версии 2.6.25. В VirtualBox’внедрению в настоящее время поддержка паравиртуализированных часов и СМП элементами. Этот провайдер рекомендуется для гостевых систем Linux.
гипер-V: представлена Майкрософт Hyper-V версии гипервизора интерфейс, который распознается операционной системой Windows 7 и новых операционных систем. В VirtualBox’внедрению в настоящее время поддержка паравиртуализированных часов, частота отчетности АПИК, отладки, оценки, оценки отчетов об ошибках и расслабленно проверки таймера. Этот провайдер рекомендуется для Windows гостей.
Других вариантов в раскрывающемся списке выполните следующие действия, как описано в vboxmanage документы:
нет: указание » нет » явно отключается, выставляя любой интерфейс паравиртуализации.
по умолчанию: опция «по умолчанию», позволит подобрать нужный интерфейс в зависимости от типа гостевой ОС при запуске виртуальной машины. Это параметр по умолчанию выбран при создании новых виртуальных машин.
наследство: опция «наследие» выбран для виртуальных машин, которые были созданы со взрослыми в VirtualBox версии и подберут интерфейс паравиртуализации при запуске виртуальной машины с помощью VirtualBox 5.0 и новее.
Позвольте’s будет более точной, потому что у меня 4.3 перенесенных виртуальные машины, и те, которые «в наследство» и, кроме того, я был заинтересован в том, что параметр, чтобы использовать, если я скопировать виртуальную машину с Linux в Windows или наоборот:
—paravirtprovider нет|по умолчанию|наследие|минимальный|нормальной работы|КВМ: Этот параметр указывает, какой паравиртуализации интерфейс для операционной системы на виртуальной машине.
Эти параметры подробно описаны в пункте 10.4, “поставщики паравиртуализации”.
Так что если вы обновили пакет до версии 5 в Linux, просто выберите КВМ или умолчанию, запустите виртуальную машину и проверить, если он работает правильно. Если да, оставь новую настройку.
Если вы перенос/перемещение виртуальных машин с Linux на Windows, я рекомендую, для умолчанию, параметр, который делает автоматический выбор наилучшего интерфейса виртуализации.
Просто му копеек, исходя из моих собственных тестов.
У меня была протестирована с Windows 10 посетители, работающий на Windows 10 и компьютера под управлением Linux (или, по крайней мере я пытался).
Не говоря уже о том, все виртуальные диски я использую inmutable (для обеспечения одинаковых тестов).
На Windows 10 хост, гость работает нормально (может быть, немного медленно), но его сапоги и на рабочем столе показывается. паравиртуализации является «по умолчанию» по.
Если я попробую одну виртуальную машину на Linux хост с паравиртуализации «по умолчанию» в Windows 10 для оценки не загружается, это сапоги до точки движутся по кругу, то через некоторое время он зависает. никакого способа, чтобы достичь входа, ни рабочего стола. помню все диски inmutable.
Но как только я поставил паравиртуализации, чтобы «Heredada и» (это по-испански) это боты и добраться до рабочего стола, но иногда (вспомните все диски inmutable) он перезагружается, а в других случаях я могу использовать его (очень медленно). так что должно быть гонка contition где-то, sinve с inmutable дисков это не всегда делать то же самое.
Ах, кстати, окна в номерах нет доступа в Интернет, чтобы убедиться, нет подключения к интернету может сделать все по-другому, среди холодных сапогах.
Я также пробовал включение/выключение 2D и усилителя; 3D формате (также паи/ПХ) потому что хочу так же оценки (виртуальные жесткие диски скопированы с одного узла на другой) быть стабильным на двух разных хостах; также я хочу иметь возможность копировать виртуальные жесткие диски от одного хозяина к другому хозяину после того, как я сделать какие-либо обновления (перед выполнением жесткой перезагрузки, слить inmutable диск с его родителя, чтобы сделать изменения постоянными и не заблудиться, он же через CloneVDI); не использовать снимки, только inmutable дисков.
Версия: для Windows 10 гость дома 64bits и версия 1809.17763.379
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Руководство по VirtualBox (часть 4): Настройка виртуальной машины
Оглавление
Когда вы в окне Менеджера выберете виртуальную машину из списка, вы увидите сводку настроек этого виртуального компьютера.
Нажав кнопку «Настройки» на панели инструментов вверху, вы увидите подробное окно, в котором вы можете настроить многие свойства выбранной виртуальной машины. Но будьте осторожны: несмотря на то, что после установки гостевой операционной системы можно изменить все настройки виртуальной машины, некоторые изменения могут помешать правильной работе гостевой операционной системы, если это будет сделано после установки.
Примечание: Кнопка «Настройки» отключена, когда виртуальная машина находится в «запущенном» или «сохраненном» состоянии. Это просто потому, что в диалоговом окне настроек вы можете изменить основные характеристики виртуального компьютера, созданного для вашей гостевой операционной системы, и эта операционная система может не очень хорошо справиться, когда, например, половина ее памяти уйдёт у неё из под ног. В результате, если кнопка «Настройки» отключена, сначала выключите текущую виртуальную машину, а затем вы сможете выполнить желаемые настройки.
VirtualBox предоставляет множество параметров, которые можно изменить для виртуальной машины. Еще больше параметров доступно с интерфейсом командной строки VirtualBox.
Общие настройки
В окне «Настройки» в разделе «Общие» вы можете настроить наиболее фундаментальные аспекты виртуальной машины, такие как память и необходимое аппаратное обеспечение. Есть четыре вкладки: «Основные», «Дополнительно», «Описание» и «Шифрование».
Вкладка «Основные»
На вкладке «Основные» категории «Общие» вы можете найти следующие настройки:
Это то имя, с которым виртуальная машина отображается в списке виртуальных машин в главном окне. Под этим именем VirtualBox также сохраняет файлы конфигурации виртуальной машины. Изменяя имя, VirtualBox также переименовывает эти файлы. В результате вы можете использовать только те символы, которые разрешены в именах файлов вашей операционной системы хоста.
Обратите внимание, что внутри VirtualBox использует уникальные идентификаторы (UUID) для идентификации виртуальных машин. Вы можете отобразить их с помощью VBoxManage.
Операционная система / версия
Тип гостевой операционной системы, которая установлена (или будет) в виртуальной машине. Это тот же параметр, который был указан в мастере «Новая виртуальная машина», как описано в разделе «Создание вашей первой виртуальной машины».
В то время как в мастере создания новой виртуальной машины настройки по умолчанию для вновь созданной виртуальной машины зависят от выбранного типа операционной системы, дальнейшее изменение типа не влияет на настройки виртуальной машины; это значение что настройки в данной панели является чисто информационными и декоративными.
Вкладка «Дополнительно»
Папка для снимков
По умолчанию VirtualBox сохраняет данные моментального снимка вместе с другими данными конфигурации VirtualBox. С помощью этого параметра вы можете указать любую другую папку для каждой виртуальной машины.
Общий буфер обмена
Здесь вы можете выбрать, должен ли совместно с вашим хостом использоваться общий доступ к буферу гостевой операционной системы. Если вы выберете «Двунаправленный», то VirtualBox всегда будет следить за тем, чтобы оба буфера обмена содержали одни и те же данные. Если вы выберете «Из основной в гостевую ОС» или «Из гостевой в основную ОС», то VirtualBox будет копировать данные буфера обмена только в одном направлении.
Для совместного использования буфера обмена необходимо установить гостевые дополнения VirtualBox. В противном случае эта настройка не имеет никакого эффекта.
Общий буфер обмена по умолчанию отключен. Этот параметр можно изменить в любое время, используя пункт меню «Общий буфер обмена» в меню «Устройства» виртуальной машины.
Функция Drag and Drop (Перетаскивание)
Этот параметр позволяет включить поддержку перетаскивания: выберите объект (например, файл) с хоста или гостя и непосредственно скопируйте или откройте его на гостевой или хост-машине. Несколько режимов перетаскивания по каждой виртуальной машине позволяют ограничить доступ в любом направлении.
Для работы перетаскивания на гостевом компьютере должны быть установлены гостевые дополнения.
Примечание: По умолчанию перетаскивание отключено. Этот параметр можно изменить в любое время, используя пункт меню «Drag and Drop» в меню «Устройства» виртуальной машины.
Вкладка «Описание»
Здесь вы можете, если хотите, ввести любое описание своей виртуальной машины. Это не влияет на функциональность компьютера, но вы можете найти это пространство полезным, чтобы отметить такие вещи как конфигурация виртуальной машины и программного обеспечения, которое было установлено в неё.
Чтобы вставить разрыв строки в текстовое поле описания, нажмите Shift+Enter.
Вкладка «Шифрование»
Если стоит галочка, эта виртуальная машина будет зашифрована. Вам нужно выбрать алгоритм, которым будут зашифрованы диски виртуальной машины, а также ввести, а затем подтвердить пароль шифрования.
Системные настройки
Группа «Система» объединяет различные параметры, связанные с основным оборудованием, которое представлено виртуальной машине.
Примечание: Поскольку механизм активации Microsoft Windows чувствителен к изменениям в аппаратном обеспечении, если вы меняете настройки оборудования для гостя Windows, некоторые из этих изменений могут инициировать запрос на активацию в Microsoft.
Вкладка «Материнская плата»
На вкладке «Материнская плата» вы можете влиять на виртуальное оборудование, которое обычно находится на материнской плате реального компьютера.
Основная память
Эта опция устанавливает объем ОЗУ, который выделяется и передается виртуальной машине при ее запуске. Указанный объем памяти на время работы виртуальной машины будет забираться у физического компьютера и передаваться виртуальному. Следовательно, в момент работы виртуальной машины у вашего основного компьютера количество оперативной памяти уменьшиться на эту величину. Это тот же параметр, который был указан в мастере «Новая виртуальная машина», как описано выше в разделе «Создание вашей первой виртуальной машины».
Изменение памяти не должно вызвать проблем в гостевой машины, конечно, если вы не установите слишком маленькое значение, при котором она не будет загружаться.
Порядок загрузки
Этот параметр определяет порядок, в котором гостевая операционная система будет пытаться загружаться с различных виртуальных загрузочных устройств. Аналогично настройке BIOS реального ПК, VirtualBox может сообщить гостевой ОС, что она запускается с виртуальной дискеты, виртуального CD/DVD-привода, виртуального жесткого диска (каждый из них определяется другими настройками VM), сети или ни с кого из них.
Если вы выберете «Сеть», виртуальная машина попытается загрузить из сети через механизм PXE, который должен быть настроен.
Чипсет
Здесь вы можете выбрать, какой набор микросхем будет представлен виртуальной машине. До VirtualBox 4.0 PIIX3 был единственным доступным вариантом. Для современных гостевых операционных систем, таких как Mac OS X, этот старый набор микросхем больше не поддерживается. В результате VirtualBox 4.0 представил эмуляцию более современного набора микросхем ICH9, который поддерживает PCI Express, три шины PCI, мосты PCI-to-PCI и сообщения с сигналами прерывания (MSI). Это позволяет современным операционным системам адресовать больше устройств PCI и больше не требует обмена IRQ. Используя чипсет ICH9, также можно настроить до 36 сетевых карт (до 8 сетевых адаптеров с PIIX3). Обратите внимание, что поддержка ICH9 является экспериментальной и не рекомендуется для гостевых операционных систем, которые ее не требуют.
Манипулятор курсора
Использование виртуального USB-планшета имеет то преимущество, что движения сообщаются в абсолютных координатах (вместо относительных изменений положения), что позволяет VirtualBox транслировать события мыши над окном VM в события планшета без необходимости «захвата» мыши в гостевой системе как описанный в разделе «Захват и высвобождение клавиатуры и мыши». Это делает использование VM менее утомительным, даже если гостевые дополнения не установлены.
Включить APIC I/O APIC
Расширенные программируемые контроллеры прерываний (APIC) – это новейшая аппаратная функция x86, которая в последние годы заменила программируемые контроллеры прерываний старого типа (ПОС). С APIC ввода-вывода операционные системы могут использовать более 16 запросов прерываний (IRQ) и, следовательно, избегать обмена IRQ для повышения надежности.
Примечание: Включение I/O APIC требуется для 64-разрядных гостевых операционных систем, особенно Windows Vista; это также необходимо, если вы хотите использовать более одного виртуального процессора на виртуальной машине.
Однако поддержка программного обеспечения для APIC I/O была ненадежной с некоторыми операционными системами, отличными от Windows. Кроме того, использование APIC ввода-вывода немного увеличивает накладные расходы на виртуализацию и, следовательно, немного замедляет гостевую ОС.
Предупреждение : Все операционные системы Windows, начиная с Windows 2000, устанавливают разные ядра в зависимости от того, доступен ли APIC I/O. Как и в случае с ACPI, APIC I/O APEC не следует отключать после установки гостевой ОС Windows. Включение его после установки не будет иметь никакого эффекта.
Включить EFI
Это позволяет использовать Extensible Firmware Interface (EFI), который заменяет устаревший BIOS и может быть полезен для некоторых расширенных вариантов использования.
Часы в системе UTC
Если галочка стоит, часы вашего хоста отобразят время по шкале всемирного координирования времени (UTC), иначе будет отображено локальное время хоста. Unix-подобные системы обычно придерживаются системы UTC.
Если флажок установлен, VirtualBox сообщит гостю системное временя в формате UTC вместо локального (хоста) времени. Это влияет на работу виртуальных часов реального времени (RTC) и может быть полезно для Unix-подобных гостевых операционных систем, которые обычно ожидают, что аппаратные часы будут установлены на UTC.
Кроме того, вы можете отключить интерфейс расширенной конфигурации и мощности (ACPI), который VirtualBox представляет гостевой операционной системе по умолчанию. ACPI – это текущий отраслевой стандарт, позволяющий операционным системам распознавать оборудование, настраивать материнские платы и другие устройства и управлять ими. Поскольку все современные ПК содержат эту функцию, а Windows и Linux уже много лет поддерживают ее, она также включена по умолчанию в VirtualBox. Её можно отключить только в командной строке.
Предупреждение : Все операционные системы Windows, начиная с Windows 2000, устанавливают разные ядра в зависимости от того, доступен ли ACPI, поэтому ACPI нельзя отключать после установки гостевой ОС Windows. Включение его после установки не будет иметь никакого эффекта.
Вкладка «Процессор»
На вкладке «Процессор» вы можете указать, сколько виртуальных ядер процессора должны видеть гостевые операционные системы. Начиная с версии 3.0, VirtualBox поддерживает симметричную многопроцессорность (SMP) и может представлять до 32 виртуальных ядер процессора для каждой виртуальной машины.
Однако вам не следует настраивать виртуальные машины для использования большего количества ядер процессора, чем у вас есть физически (реальные ядра, без гиперпотоков).
На этой вкладке вы также можете установить «Предел загрузки ЦПУ». Этот параметр ограничивает время, затрачиваемое процессором хоста для эмуляции виртуального процессора. Значение по умолчанию 100% означает, что ограничений нет. Параметр 50% подразумевает, что один виртуальный процессор может использовать до 50% одного центрального процессора. Обратите внимание, что ограничение времени выполнения виртуальных процессоров может вызвать проблемы с гостями.
Кроме того, параметр «Включить PAE/NX» определяет, будут ли возможности PAE и NX центрального процессора находиться на виртуальной машине. PAE означает «расширение физического адреса». Обычно, если он включен и поддерживается операционной системой, тогда даже 32-разрядный процессор x86 может получить доступ к более 4 ГБ ОЗУ. Это стало возможным благодаря добавлению ещё 4 бит в адреса памяти, так что с 36 битами можно использовать до 64 ГБ. Некоторые операционные системы (например, Ubuntu Server) требуют поддержки PAE от CPU и не могут без неё работать в виртуальной машине.
Если вы используете 32-битный образ Kali Linux, включите PAE/NX или образ Kali не загрузится, поскольку дефолтный вариант ядра, используемый Kali для i386 (“686-pae”), скомпилирован таким образом, который требует поддержки «расширения физического адреса» (PAE) в CPU.
С виртуальными машинами, работающими на современных серверных операционных системах, VirtualBox также поддерживает горячее подключение CPU.
Вкладка «Ускорение»
На этой странице вы можете определить, должен ли VirtualBox использовать аппаратные расширения виртуализации, которые может поддерживать ваш хост-процессор. Это относится к большинству процессоров, построенных после 2006 года.
Вы можете выбрать для каждой виртуальной машины индивидуально, нужно ли VirtualBox использовать виртуализацию программного обеспечения или оборудования.
В большинстве случаев настройки по умолчанию будут прекрасными; VirtualBox будет выбирать разумные значения по умолчанию в зависимости от операционной системы, которую вы выбрали при создании виртуальной машины. Однако в некоторых ситуациях вы можете изменить эти предварительно настроенные значения по умолчанию.
Если процессор вашего хоста поддерживает функции вложенного пейджинга (AMD-V) или EPT (Intel VT-x), вы можете ожидать значительного увеличения производительности за счет включения вложенного пейджинга в дополнение к аппаратной виртуализации.
Начиная с версии 5.0, VirtualBox предоставляет интерфейсы паравиртуализации, чтобы улучшить точность и производительность гостевых операционных систем.
Дисплей (Настройки отображения)
Вкладка «Экран»
Размер видеопамяти
Это задает размер памяти, предоставляемой виртуальной видеокартой, доступной гостю, в МБ. Как и в основной памяти, указанная сумма будет выделена из резидентной памяти хоста. На основе количества видеопамяти могут быть доступны более высокие разрешения и глубина цвета.
GUI покажет предупреждение, если объем видеопамяти слишком мал чтобы переключить виртуальную машину в полноэкранный режим. Минимальное значение зависит от количества виртуальных мониторов, разрешения экрана и глубины цвета дисплея хоста, а также от активации 3D-ускорения и ускорения 2D-видео. Грубая оценка: (глубина цвета / 8) x вертикальные пиксели x горизонтальные пиксели x количество экранов = количество байтов. Как указано выше, может потребоваться дополнительная память для любой активированной настройки ускорения дисплея.
Количество мониторов
С помощью этого параметра VirtualBox может предоставить более одного виртуального монитора виртуальной машине. Если гостевая операционная система (например, Windows) поддерживает несколько подключенных мониторов, VirtualBox может притворяться, что присутствуют несколько виртуальных мониторов. Поддерживается до 8 таких виртуальных мониторов.
Вывод нескольких мониторов будет отображаться на хосте в нескольких окнах VM, которые работают бок о бок.
Однако в полноэкранном и режиме интеграции экрана будут использоваться доступные физические мониторы, подключенные к хосту. В результате для работы в полноэкранном режиме и режиме интеграции экрана с несколькими мониторами вам понадобится как минимум столько же физических мониторов, сколько у вас настроенных виртуальных мониторов, или VirtualBox сообщит об ошибке. Вы можете настроить связь между гостевыми и хост-мониторами с помощью меню просмотра, нажав сочетание «Хост» + «HOME», когда вы находитесь в полноэкранном или режиме интеграции экрана.
Включить 3D-ускорение
Если на виртуальной машине установлены гостевые дополнения, вы можете выбрать здесь, должен ли гость поддерживать ускоренную 3D-графику.
Включить 2D-видео ускорение
Если на виртуальной машине с Microsoft Windows установлены гостевые дополнения, вы можете выбрать здесь, должен ли гость поддерживать ускоренную 2D-графику.
Вкладка «Удалённый доступ»
Удаленный дисплей
На вкладке «Дистанционный доступ», если установлено расширение виртуального дисплея VirtualBox (VRDE), вы можете включить сервер VRDP, встроенный в VirtualBox. Это позволяет удаленно подключаться к консоли виртуальной машины с помощью любого стандартного средства просмотра RDP, такого как mstsc.exe, который поставляется с Microsoft Windows. В системах Linux и Solaris вы можете использовать стандартную программу rdesktop с открытым исходным кодом.
Вкладка «Захват видео»
На вкладке «Захват видео» вы можете включить видеозахват для этой виртуальной машины. Обратите внимание, что эта функция также может быть включена/отключена во время выполнения виртуальной машины.
Настройки Носителей
Категория «Носители» в настройках виртуальной машины позволяет подключать к виртуальной машине виртуальный жесткий диск, CD/DVD, дискету и диски.
На реальном ПК так называемые «контроллеры хранения» подключают физические диски к остальной части компьютера. Аналогично, VirtualBox предоставляет виртуальные контроллеры виртуальной машины на виртуальную машину. Под каждым контроллером отображаются виртуальные устройства (жесткие диски, CD/DVD или флоппи-дисководы), подключенные к контроллеру.
Примечание: Если вы использовали мастер «Создать виртуальную машину» для создания машины, вы обычно увидите что-то вроде следующего:
В зависимости от типа гостевой операционной системы, который вы выбрали при создании виртуальной машины, типичная компоновка устройств хранения в новой виртуальной машине выглядит следующим образом:
Если вы создали свою виртуальную машину с более старой версией VirtualBox, макет хранилища по умолчанию может отличаться. Тогда у вас может быть только IDE-контроллер, к которому подключены CD/DVD-привод и жесткие диски. Это может также применяться, если вы выбрали более старый тип операционной системы при создании виртуальной машины. Поскольку более старые операционные системы не поддерживают SATA без дополнительных драйверов, VirtualBox будет следить за тем, чтобы такие устройства не присутствовали первоначально.
VirtualBox также предоставляет гибкий контроллер, который является особенным: вы не можете добавлять к нему устройства, отличные от флоппи-дисководов. Виртуальные флоппи-дисководы, такие как виртуальные CD/DVD-приводы, могут быть подключены либо к дисководным дискам (если они есть), либо к образу диска, который в этом случае должен быть в формате RAW.
Вы можете свободно изменять эти прикрепления. Например, если вы хотите скопировать некоторые файлы с другого созданного виртуального диска, вы можете подключить этот диск в качестве второго жесткого диска. Вы также можете добавить второй виртуальный CD/DVD-привод или изменить куда эти элементы прикреплены. Доступны следующие параметры:
В правой части окна вы можете установить следующее:
Для виртуальных CD/DVD-приводов доступны следующие дополнительные опции:
Если вы хотите записать (прожечь) компакт-диски или DVD-диски с помощью главного диска, вам также необходимо включить опцию «Passthrough».
Съемные носители (CD/DVD и дискеты) могут быть изменены во время работы гостя. Поскольку в это время диалоговое окно «Настройки» недоступно, вы также можете получить доступ к этим настройкам из меню «Устройства» в окне вашей виртуальной машины.
Настройки звука
Раздел «Аудио» в окне «Настройки» виртуальной машины определяет, будет ли виртуальная машина видеть подключенную звуковую карту и должен ли звуковой вовод быть слышен в главной системе.
Если для гостя включен звук, вы можете выбрать эмуляцию контроллера Intel AC’97, контроллера Intel HD Audio или карты SoundBlaster 16. В любом случае вы можете выбрать, какой аудио-драйвер VirtualBox будет использоваться на хосте.
На хосте Linux в зависимости от конфигурации вашего хоста вы также можете выбрать между OSS, ALSA или подсистемой PulseAudio. В более новых дистрибутивах Linux предпочтительнее подсистема PulseAudio.
Поскольку на хостах Solaris в VirtualBox 5.0 поддерживается только OSS – аудиосистема «Solaris Audio» больше не поддерживается хостами Solaris.
Настройки сети
Раздел «Сеть» в окне «Настройки» виртуальной машины позволяет вам настроить, как VirtualBox представляет виртуальные сетевые карты для вашей виртуальной машины и как они работают.
Когда вы сначала создаете виртуальную машину, VirtualBox по умолчанию включает одну виртуальную сетевую карту и выбирает для нее режим «Трансляция сетевых адресов» (NAT). Таким образом, гость может подключаться к внешнему миру с использованием сети хоста, а внешний мир может подключаться к услугам на гостевом компьютере, который вы сделали видимыми за пределами виртуальной машины.
Эта настройка по умолчанию хороша для, вероятно, 95% пользователей VirtualBox. Тем не менее, VirtualBox чрезвычайно гибкий в том, как он может виртуализировать сеть. Он поддерживает множество виртуальных сетевых карт на виртуальную машину, первые четыре из которых могут быть подробно настроены в окне «Менеджера». Дополнительные сетевые карты можно настроить в командной строке с помощью VBoxManage.
Введение в сетевые режимы
Каждый из восьми сетевых адаптеров может быть сконфигурирован отдельно для работы в одном из следующих режимов:
Не подключён
В этом режиме VirtualBox сообщает гостю, что присутствует сетевая карта, но нет соединения – как будто в карту не вставлен кабель Ethernet. Таким образом, можно «вытащить» виртуальный кабель Ethernet и нарушить соединение, что может быть полезно для информирования гостевой операционной системы о невозможности подключения к сети и обеспечения реконфигурации.
Трансляция сетевых адресов (NAT)
Если вы хотите только просматривать веб-страницы, загружать файлы и просматривать электронную почту внутри гостя, тогда этого режима по умолчанию вам будет достаточно, и вы можете спокойно пропустить оставшуюся часть этого раздела. Обратите внимание, что при использовании совместного использования файлов Windows существуют определенные ограничения.
Сеть NAT
Сетевой мост
Это для более сложных сетевых задач, таких как сетевое моделирование и запуск серверов в гостевой системе. Когда включено, VirtualBox подключается к одной из установленных сетевых карт и обменивается сетевыми пакетами напрямую, обходя сетевой стек вашей операционной системы.
Внутренняя сеть
Это можно использовать для создания другой сети на основе программного обеспечения, которая видна для выбранных виртуальных машин, но не для приложений, работающих на хосте или во внешнем мире.
Виртуальный адаптер хоста
Это можно использовать для создания сети, содержащей хост и набор виртуальных машин, без необходимости физического сетевого интерфейса хоста. Вместо этого на хосте создается виртуальный сетевой интерфейс (похожий на интерфейс loopback), обеспечивающий взаимодействие между виртуальными машинами и хостом.
Универсальный драйвер
Редко используемые режимы используют один и тот же общий сетевой интерфейс, позволяя пользователю выбирать драйвер, который может быть включен в VirtualBox или распространен в пакете расширения.
На данный момент есть потенциально два доступных под-режима:
UDP-туннель
Это можно использовать для непосредственного, простого и прозрачного взаимодействия виртуальных машин, работающих на разных компьютерах, с существующей сетевой инфраструктурой.
Сеть VDE (виртуальный распределенный Ethernet)
Этот параметр можно использовать для подключения к коммутатору Virtual Distributed Ethernet на Linux или хосте FreeBSD. На данный момент это требует компиляции VirtualBox из источников, поскольку пакеты Oracle не включают его.
В следующей таблице приведен краткий обзор наиболее важных сетевых режимов:
VM ↔ Host | VM1 ↔ VM2 | VM → Internet | VM ← Internet | |
---|---|---|---|---|
Виртуальный адаптер хоста | + | + | – | – |
Внутренняя сеть | – | + | – | – |
Сетевой мост | + | + | + | + |
Трансляция сетевых адресов (NAT) | – | – | + | Переадресация портов |
Сеть NAT | – | + | + | Переадресация портов |
4.6.2 Виртуальные машины в одной сети, изолированные от других сетей
Как изолировать виртуальные машины от внешних сетей, но при этом сохранить возможность находится для виртуальных машин в одной сети и взаимодействовать по локальным IP? Рассмотрим как создать локальную сеть виртуальных машин без доступа в Интернет.
Задача: создать между виртуальными машинами локальную сеть, в которой они могут обращаться друг к другу по IP адресам, но чтобы из реальной локальной сети к этим машинам не было доступа, а также не было доступа от виртуальных машин в реальную локальную сеть. Нужно чтобы виртуальные машины НЕ имели доступ в Интернет.
Последовательность действий следующая:
В этом случае виртуальные машине НЕ будут иметь доступ в Интернет. Чтобы был доступ в Интернет, нужно добавить второй адаптер с NAT + может понадобиться дополнительная настройка сетевых интерфейсов или использовать правила iptables внутри виртуальных машин.
При данной настройке в ХОСТе будет создан новый виртуальный сетевой интерфейс. В Linux этот интерфейс можно увидеть командой:
Именем по умолчанию для этого интерфейса является vboxnet0. Это системная настройка и если вы запускаете несколько экземпляров VirtualBox (виртуальных машин) от разных пользователей, то все они могут подключаться к данному виртуальному адаптеру.
4.6.3 Как изолировать виртуальные машины от локальной сети с сохранением доступа в Интернет
Аналогичная задача: создать между виртуальными машинами локальную сеть, в которой они могут обращаться друг к другу по IP адресам, но чтобы из реальной локальной сети к этим машинам не было доступа, а также не было доступа от виртуальных машин в реальную локальную сеть. Нужно чтобы виртуальные машины ИМЕЛИ доступ в Интернет.
Последовательность действий следующая:
Создание виртуальных сетей происходит на уровне VirtualBox для данного пользователя. То есть если вы запустите VirtualBox от другого пользователя (например, с sudo), то данный экземпляр будет иметь свои собственные настройки и не увидеть сети, созданные данным образом. Следовательно, виртуальные машины, запущенные от разных пользователей, не могут быть объеденины в одну виртуальную сеть этим способом.
COM-порты (серийный порты)
VirtualBox простым способом полностью поддерживает виртуальные последовательные порты на виртуальной машине.
Настройки USB
Поддержка USB
Раздел «USB» в окне «Настройки» виртуальной машины позволяет вам настроить сложную USB-поддержку VirtualBox.
VirtualBox позволяет виртуальным машинам напрямую обращаться к устройствам USB на вашем хосте. Для этого VirtualBox представляет гостевую операционную систему с виртуальным USB-контроллером. Как только гостевая система начнет использовать USB-устройство, оно будет недоступно на хосте.
Примечание:
В дополнение к разрешению доступа гостя к вашим локальным USB-устройствам VirtualBox позволяет даже вашим абонентам подключаться к удаленным USB-устройствам с помощью VirtualBox Remote Desktop Extension (VRDE).
В диалоговом окне «Настройки» вы можете сначала настроить, доступен ли USB в гостевой системе, а затем выбрать уровень поддержки USB: OHCI для USB 1.1, EHCI (который также включит OHCI) для USB 2.0 или xHCI для всей USB скорости.
Примечание: Контроллеры xHCI и EHCI поставляются в виде пакета расширения VirtualBox, который должен устанавливаться отдельно. Дополнительную информацию см. в разделе «Установка VirtualBox и пакетов расширений».
Когда поддержка USB включена для виртуальной машины, вы можете подробно определить, какие устройства будут автоматически подключены к гостю. Для этого вы можете создать так называемые «фильтры», указав определенные свойства устройства USB. USB-устройства с соответствующим фильтром будут автоматически передаваться гостю после их присоединения к хосту. USB-устройства без соответствующего фильтра могут передаваться вручную гостю, например, с помощью меню Устройства/USB-устройства.
Щелчок по кнопке «+» справа от окна «Фильтры устройств USB» создает новый фильтр. Вы можете дать фильтру имя (для ссылки на него позже) и указать критерии фильтра. Чем больше критериев вы укажете, тем точнее будут выбраны устройства. Например, если вы укажете только идентификатор поставщика 046d, все устройства, созданные Logitech, будут доступны гостю. С другой стороны, если вы заполните все поля, фильтр будет применяться только к определенной модели устройства от конкретного поставщика, а не к другим устройствам того же типа с другой версией и серийным номером.
В свойствах USB-фильтра доступны следующие критерии:
Кроме того, вы также можете указать «Производитель» и «Продукт» по имени.
Чтобы перечислить все USB-устройства, подключенные к вашей машине с соответствующими идентификаторами поставщиков и продуктов, вы можете использовать следующую команду:
В Windows вы также можете увидеть все USB-устройства, подключенные к вашей системе в диспетчере устройств. В Linux вы можете использовать команду lsusb.
На хосте Windows вам необходимо отключить и снова подключить USB-устройство, чтобы использовать его после создания фильтра для него.
Например, вы можете создать новый USB-фильтр и указать идентификатор поставщика 046d (Logitech, Inc), индекс производителя 1 и «не удален». Затем любые гостевые системы USB-устройства, созданные Logitech, Inc с индексом производителя 1, будут видны гостевой системе.
Несколько фильтров могут выбирать одно устройство – например, фильтр, который выбирает все устройства Logitech, и тот, который выбирает конкретную веб-камеру.
Вы можете деактивировать фильтры, не удаляя их, щелкнув флажок рядом с именем фильтра.
Общие папки
Общие папки позволяют легко обмениваться данными между виртуальной машиной и вашим хостом. Эта функция требует, чтобы были установлены гостевые дополнения VirtualBox на виртуальной машине. Она будет более подробно описана в части, посвящённым гостевым дополнениям, в разделе «Общие папки».
Пользовательский интерфейс
Раздел «Пользовательский интерфейс» позволяет вам изменить некоторые аспекты пользовательского интерфейса этой виртуальной машины.
Строка меню
Этот виджет позволяет вам отключить определенные меню (щелкнуть по пункту меню, чтобы высвободить его), некоторые записи меню (снимите флажок в элементе для его отключения) и полностью панель меню (снимите флажок справа).
Мини-тулбар
В полноэкранном или режиме интеграции экрана VirtualBox может отображать небольшую панель инструментов, содержащую некоторые элементы, которые обычно доступны в строке меню виртуальной машины. Эта панель инструментов сводится к небольшой серой линии пока вы не нажмете на нее мышью. С помощью панели инструментов вы можете вернуться из полноэкранного или режима интеграции экрана, выполнить управление машиной или включить определенные устройства. Если вы не хотите видеть панель инструментов, отключите этот параметр.
Вторая настройка позволяет отображать панель инструментов в верхней части экрана, а не показывать ее внизу.
Статус бар
Этот виджет позволяет отключить определенные значки в строке состояния (снимите флажок со значка, чтобы отключить его), чтобы поменять местами значки (для этого перетащите значок) и полностью отключить строку состояния (снимите флажок слева).