1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-stratovirt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
design.md 5.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 4 месяцев назад 123faeb

StratoVirt Design

Обзор

StratoVirt — это легковесная технология виртуализации с открытым исходным кодом, основанная на Linux Kernel-based Virtual Machine (KVM). Она снижает потребление ресурсов памяти и улучшает скорость запуска виртуальных машин (ВМ), сохраняя при этом возможности изоляции и безопасности традиционной виртуализации. StratoVirt может применяться в микросервисных или бессерверных сценариях, таких как вычисления функций, и оставляет интерфейс и дизайн для импорта дополнительных функций, включая стандартную виртуализацию.

Архитектура

На следующей схеме показана базовая архитектура StratoVirt, состоящая из трёх слоёв сверху вниз:

  • Внешний API: StratoVirt использует протокол QMP для связи с внешними системами и совместим с OCI. В то же время StratoVirt можно управлять с помощью libvirt.
  • Загрузчик: отказ от традиционного режима загрузки BIOS + GRUB для быстрой загрузки в облегчённых сценариях и поддержка загрузки UEFI для стандартных ВМ.
  • Эмулированная материнская плата:
    • microvm: для повышения производительности и уменьшения поверхности атаки StratoVirt минимизирует симуляцию устройств пользовательского режима. Реализованы устройства моделирования KVM и устройства паравиртуализации, такие как GIC, последовательные, RTC и virtio-mmio устройства;
    • стандартная ВМ: реализация загрузки UEFI с использованием сконструированных таблиц ACPI. Устройства virtio-pci и VFIO могут быть подключены для значительного улучшения производительности ввода-вывода.

image

Функции

  • Высокая изоляция на основе аппаратного обеспечения;
  • Быстрая холодная загрузка: благодаря минималистичному дизайну microvm может быть запущен в течение 50 мс;
  • Низкое использование памяти: StratoVirt работает с объёмом памяти 4 МБ;
  • Улучшение ввода-вывода: StratoVirt предлагает нормальную способность ввода-вывода с минималистичной эмуляцией устройств ввода-вывода;
  • Совместимость с OCI: StratoVirt работает с контейнерами isula и kata и может быть идеально интегрирован в экосистему Kubernetes;
  • Поддержка нескольких платформ: полная поддержка платформ Intel и Arm;
  • Расширяемость: StratoVirt оставляет интерфейс и дизайн для добавления дополнительных функций, даже расширения до поддержки стандартной виртуализации;
  • Безопасность: менее 55 системных вызовов во время работы.

Реализация

Работающая архитектура

  • VM StratoVirt является независимым процессом в Linux. Процесс имеет три типа потоков: основной поток, поток VCPU и поток ввода-вывода:
    • Основной поток представляет собой цикл для асинхронного сбора и обработки событий от внешних модулей, таких как поток VCPU;
    • Каждый VCPU имеет поток для обработки ловушечных событий этого VCPU;
    • Потоки ввода-вывода могут быть настроены для устройств ввода-вывода для улучшения производительности ввода-вывода.

Ограничения

  • Поддерживается только операционная система Linux. Рекомендуемая версия ядра — 4.19;
  • В качестве клиентской операционной системы поддерживается только Linux, рекомендуемая версия ядра — 4.19;
  • StratoVirt полностью протестирован на openEuler;
  • Поддерживает максимум 254 процессора.

Комментарий ( 0 )

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

1
https://gitlife.ru/oschina-mirror/openeuler-stratovirt.git
git@gitlife.ru:oschina-mirror/openeuler-stratovirt.git
oschina-mirror
openeuler-stratovirt
openeuler-stratovirt
master