Почему возможно развернуть гипервизор в рамках гипервизора?

  1. Google просто проверяет первые 300 или некоторый другой набор?

  2. Сколько времени имеют Ваш ожидавший для проверки? Я видел, что Google ожидает долгое время (> 2 недели) перед возвращением для проверки всего на карте сайта.

2
задан 15 January 2011 в 20:18
4 ответа

Гипервизор без операционной системы (например, ESX, Hyper-V) является просто операционной системой, разработанной, чтобы управлять и контролировать доступ к аппаратным средствам. Так естественно гипервизор в виртуальной машине управлял бы и контролировал бы доступ к аппаратным средствам, к которым это имеет доступ. Это работает, потому что виртуальное аппаратное обеспечение точно походит на реальные аппаратные средства.

Паравиртуализация (например, Xen), с другой стороны, не передает аппаратную архитектуру виртуальным гостям, а скорее обеспечивает API для использования ресурсов. Таким образом стандартные операционные системы (и гипервизоры) не смогли бы работать на паравиртуализированной системе.

5
ответ дан 3 December 2019 в 09:09

Это зависит от типа гипервизора. Существуют гипервизоры, которые могут быть развернуты в рамках других гипервизоров. Существует много глюков, и поддержка оборудования под 64-разрядным не хороша. Я должен подчеркнуть, что Вы никогда не делали бы этого, кроме того, для тестирования - даже затем, это только полезно для тестирования определенной функциональности (как vMotion или HA на стороне VMware). Это не дает Вам признака того, как хорошо программное обеспечение работает в продуктивной среде.

Во-первых, необходимо понять x86 уровни полномочий (кольца): http://en.wikipedia.org/wiki/Ring_ (computer_security)

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

То, когда Вы реализуете виртуализацию полностью в программном обеспечении (без аппаратной помощи как Intel VT-x или AMD-V), что Вы по существу делаете, осматривают уровни полномочий кода в выполнении VM. В VMware эту технику называют двоичной трансляцией. Любой код, работающий в Кольце 3, продолжает работать в Кольце 3, неизмененный. Что-либо, что работает в Кольце 0, выполняется в Кольце 1 вместо этого, с Кольцом 0 аппаратных доступов, проксированных через виртуальное аппаратное обеспечение гипервизора. Виртуальное аппаратное обеспечение является просто рядом программного обеспечения, которое говорит хосту ОС, чтобы сделать что-то в ее Кольце 0 пространств.

Определенные аппаратные средства не оказывают поддержку для двоичной трансляции, потому что это не поддерживает кольцевые уровни, необходимые, чтобы заставить его произойти. В частности, Кольца 1 и 2 не существуют в 64-разрядных режимах большинства современных x86 процессоров (некоторые центральные процессоры AMD действительно поддерживают его, но Intel не делает). Поэтому двоичная трансляция обычно ограничивается 32-разрядным гостем ОС.

Так как Вы уже используете Кольцо 1 при использовании гипервизора с двоичной трансляцией Вы не можете выполнить гипервизор BT в другом. (Хорошо, так гипотетически кто-то мог записать гипервизор, который использует Кольцо 2, когда оно, само, виртуализируется. Именно такой пограничный случай, я не думаю, что кто-либо сделал его.)

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

Аппаратные расширения, с другой стороны, работают противоположный путь от двоичной трансляции - они обеспечивают суперпривилегированный уровень гипервизора, или Кольцо-1 (нахождение одного уровня ниже Звонят 0), который выполняет все Кольцо 0 неизмененных кодов. Когда эти системы команд используются, Кольцо-1 обеспечивает среду, в которой Кольцо 0 операций виртуальной машины пойманы и обработаны гипервизором без любого анализа под управлением кода.

Вы не можете выполнить два гипервизора с помощью аппаратных расширений одновременно, даже при попытке выполнить их бок о бок. Например, Вы не можете выполнить Режим Windows XP в Windows 7, если Вы уже используете VirtualBox для выполнения виртуальной машины с помощью аппаратной поддержки виртуализации.

То, с чем это оставляет нас, - то, что можно выполнить гипервизор двоичной трансляции в гипервизоре с помощью аппаратной виртуализации, но не наоборот. Кроме того, hypervisor-in-a-hypervisor обычно только сможет выполнить 32-разрядных гостей, но влияние производительности является часто не столь существенным, как некоторые другие плакаты предложили. (Приложения, для которых нужен тяжелый доступ к памяти, как серверы баз данных, все еще пострадают, потому что они должны пройти два набора виртуальных таблиц страниц.) Большинство гипервизоров обнаружит, когда они будут выполнены в другом гипервизоре и откажутся работать. Некоторые гипервизоры будут работать просто великолепно в способности тестирования; можно выполнить несколько VMware экземпляры ESXI под VMware Workstation, например (но можно только использовать режим BT в любых виртуальных машинах ESXI, размещенных под VMware Workstation).

Xen не выполняет двоичную трансляцию - это или использует помогшую с аппаратными средствами виртуализацию или выполняет паравиртуализацию. Возможно выполнить Xen, паравиртуализированный под другим гипервизором, но Вы не можете выполнить Xen-under-ESX виртуальные машины с помощью полной аппаратной виртуализации таким образом.

Надеюсь, это поможет.

2
ответ дан 3 December 2019 в 09:09

То, почему это - гипервизор, которым alledgedly должен быть на физическом оборудовании, может быть развернуто в VM?

IT CAN НЕ - с хорошей производительностью.

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

Почему устали вокруг?

Гипервизоры обычно используют аппаратные средства virtuaiaztion функции. помеха не поддерживается от клиентского приложения НА виртуальном слое. В основном процессор имеет режим работы для гипервизора, и один для нормальной ОС, и нормальная ОС не может переключиться назад на thypervisor режим.

Без аппаратной виртуализации необходимо моделировать этот материал, d-acutally - интерпретирует много инструкций по процессору (через pogram) с результатом того, чтобы быть намного медленнее, чем аппаратный уровень.

-2
ответ дан 3 December 2019 в 09:09

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

2
ответ дан 3 December 2019 в 09:09

Теги

Похожие вопросы