Назад | Перейти на главную страницу

В чем разница между типами виртуализации PV и HVM в ec2?

AWS EC2 предлагает два типа виртуализации машин Ubuntu Linux EC2 - PV и HVM.

PV:

HVM:

В чем разница между этими типами?

Amazon работает на базе Xen, которая обеспечивает паравиртуализацию (PV) или виртуализацию с аппаратной поддержкой (HVM).

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

Аппаратная виртуализация использует преимущества современного оборудования и не требует какого-либо специального ядра или исправлений. Недавние тесты доказал, что HVM на самом деле быстрее при определенных рабочих нагрузках.

Выдержка из документации AWS:

Основные различия между AMI PV и HVM заключаются в способе их загрузки и в том, могут ли они использовать преимущества специальных аппаратных расширений (ЦП, сеть и хранилище) для повышения производительности.

HVM AMI представлены с полностью виртуализированным набором оборудования и загрузки путем выполнения основной загрузочной записи корневого блочного устройства вашего образа. Этот тип виртуализации дает возможность запускать операционную систему непосредственно поверх виртуальной машины без каких-либо изменений, как если бы она работала на «голом железе». Хост-система Amazon EC2 эмулирует часть или все базовое оборудование, которое предоставляется гостю. В отличие от гостевых PV, гости HVM могут использовать аппаратные расширения, которые обеспечивают быстрый доступ к базовому оборудованию в хост-системе. AMI HVM необходимы для использования преимуществ улучшенной обработки сети и графического процессора.

PV AMI загружаются с помощью специального загрузчика PV-GRUB, который запускает цикл загрузки, а затем последовательно загружает ядро, указанное в файле menu.lst на вашем образе. Паравиртуальные гостевые системы могут работать на хост-оборудовании, которое не имеет явной поддержки виртуализации, но они не могут воспользоваться преимуществами специальных аппаратных расширений, таких как расширенная сеть или обработка графического процессора. Исторически во многих случаях гостевые PV-системы имели лучшую производительность, чем гостевые HVM, но из-за улучшений в виртуализации HVM и доступности драйверов PV для HVM AMI это уже не так.

Одно заметное отличие заключается в том, что паравиртуал не поддерживает экземпляры графического процессора.

Я бы создал его как hvm, если бы знал, что хочу перезапустить его как экземпляр GPU.

edit: Хм, на самом деле кажется, что мы можем перейти с паравиртуального на hvm при создании AMI.

Теперь в AWS следует использовать HVM и получить более высокую производительность.

1)
HVM AMI необходимы для использования преимуществ улучшенной обработки сети и графического процессора
2)
Исторически во многих случаях гостевые PV-системы имели лучшую производительность, чем гостевые HVM, но из-за улучшений в виртуализации HVM и доступности драйверов PV для HVM AMI это уже не так.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html