Если я хочу запустить гостевую операционную систему на Xen, то должна ли она быть паравиртуализированной операционной системой? Как я могу сделать операционную систему паравиртуализированной? Есть ли инструменты?
2 ответа
Согласно Википедии:
Паравиртуализация требует, чтобы гостевая операционная система была явно перенесена для para-API - обычный дистрибутив ОС, не поддерживающий паравиртуализацию, не может быть запущен поверх паравиртуализирующего VMM. Однако даже в тех случаях, когда операционная система не может быть изменена, все же могут быть доступны компоненты, которые обеспечивают многие существенные преимущества производительности при паравиртуализации; например, проект XenWindowsGplPv предоставляет набор драйверов устройств с поддержкой паравиртуализации, лицензируемых по лицензии GPL, которые предназначены для установки в виртуальный гостевой компьютер Microsoft Windows, работающий на гипервизоре Xen.
Короче, посоветуйтесь с разработчиками ОС, которую вы пытаетесь запустить :)
Операционные системы, которые могут работать в паравиртуализированном режиме, будут работать с меньшими издержками (снижение производительности), чем операционные системы, которые должны работать полностью виртуализированными. Для меня это означает, что да, если вы можете паравиртуализировать, вы должны. То, можете ли вы на самом деле запустить O/S в паравиртуализированном режиме, зависит от гипервизора и гостевой O/S. Если вы используете Xen в качестве гипервизора, варианты достаточно паравиртуализированы для операционных систем: большинство дистрибутивов Linux, много вариантов BSD и Solaris. Windows не будет выполнять паравиртуализацию на Xen, но я считаю, что Hyper-V поддерживает паравиртуализацию для Windows. VMware какое-то время занималась пара-виртуализацией, но я думаю, что они отказались от этого в пользу того, чтобы придерживаться достижений в области аппаратной виртуализации (может быть, это неправильно - давно с тех пор, как я использовал VMware).
Что касается инструментов, позволяющих включить паравиртуализацию, то она действительно довольно широко варьируется. Большая часть информации ниже передана Ксену, потому что это моя область знаний. Инструменты на основе libvirt во многих дистрибутивах Linux (virt-manager, vm-install, virtinst) прошли очень долгий путь, обнаружив и использовав паравиртуализированный kernsl в гостевых операционных системах, в которых они присутствуют. Если вы не можете получить такую поддержку в одном из этих инструментов, вам нужно вручную настроить ссылки на ядра PV и образы initrd. Большая часть этой информации для ручного создания этих файлов конфигурации доступна на сайте Xen.org, особенно в вики. Есть примеры того, как настроить различные гостевые операционные системы, включая поддержку ядер PV.
Последний вариант, если у вас есть операционная система, которая поддерживает паравиртуализацию, но вам трудно ее установить, это установить ее в режиме полной виртуализации, а затем переключиться на паравиртуализацию. Это включает в себя установку ядра PV в гостевой системе, а затем изменение файла конфигурации для указания на это новое ядро.
Для других гипервизоров это зависит от инструмента. Если Hyper-V поддерживает Windows PV, то, я думаю, он устанавливает его автоматически - никакого вмешательства пользователя не требуется.