StratoVirt
StratoVirt — это корпоративная платформа виртуализации, ориентированная на облачные центры обработки данных в ИТ-отрасли. Она обеспечивает унифицированную архитектуру для поддержки виртуальных машин, контейнеров и бессерверных сценариев.
StratoVirt обладает ключевыми технологическими преимуществами в таких областях, как лёгкость, низкий уровень шума, мягкая и жёсткая согласованность, а также безопасность на уровне языка Rust.
В StratoVirt предусмотрены интерфейсы и дизайн для поддержки дополнительных функций. Платформа поддерживает как стандартную, так и облегчённую виртуализацию, а также предоставляет возможности расширения для новых гетерогенных устройств.
Начало работы
Подготовка среды: перед компиляцией StratoVit убедитесь, что среда разработки на языке Rust и программное обеспечение Cargo успешно установлены. Если нет, следуйте инструкциям по установке, указанным по ссылке: https://www.rust-lang.org/tools/install.
Компиляция программного обеспечения: чтобы скомпилировать StratoVirt, необходимо сначала клонировать код проекта, а затем выполнить команду сборки:
$ git clone https://gitee.com/openeuler/stratovirt.git
$ cd stratovirt
$ make build
Скомпилированный двоичный файл можно найти в пути target/release/stratovirt.
Запуск виртуальной машины с помощью StratoVirt: для быстрого начала работы со StratoVirt необходимо подготовить следующее:
— Образ ядра Linux в формате PE или bzImage (только для x86_64). — Файловую систему ext4 и образ корневой файловой системы raw.
Образ ядра Linux и корневую файловую систему можно загрузить по следующей ссылке: https://repo.openeuler.org/openEuler-22.03-LTS/stratovirt_img/.
Для запуска виртуальной машины стандартного типа требуется указать файл микропрограммы UEFI edk2.
Чтобы запустить виртуальную машину microvm, выполните следующие команды:
# Если -qmp socket уже существует, удалите его
# Запуск виртуальной машины microvm
$ ./target/release/stratovirt \
-machine microvm \
-kernel /path/to/kernel \
-append "console=ttyS0 root=/dev/vda reboot=k panic=1" \
-drive file=/path/to/rootfs,id=rootfs,readonly=off \
-device virtio-blk-device,drive=rootfs,id=rootfs \
-qmp unix:/path/to/socket,server,nowait \
-serial stdio
# Запуск стандартной виртуальной машины на x86_64
$ ./target/release/stratovirt \
-machine q35 \
-kernel /path/to/kernel \
-append "console=ttyS0 root=/dev/vda reboot=k panic=1" \
-drive file=/path/to/firmware,if=pflash,unit=0,readonly=true \
-device pcie-root-port,port=0x0,addr=0x1.0x0,bus=pcie.0,id=pcie.1 \
-drive file=/path/to/rootfs,id=rootfs,readonly=off \
-device virtio-blk-pci,drive=rootfs,bus=pcie.1,addr=0x0.0x0,id=blk-0 \
-qmp unix:/path/to/socket,server,nowait \
-serial stdio
Подробные инструкции по созданию образа корневой файловой системы, компиляции ядра и компиляции StratoVirt см. в разделе «Быстрый старт» (Quickstart) документации StratoVirt (docs/quickstart.ch.md).
Дополнительную информацию о поддерживаемых функциях StratoVirt и их настройке см. в руководстве по конфигурации (Configuration Guidebook, docs/config_guidebook.md).
Дизайн
Если вы хотите получить больше информации о базовой архитектуре StratoVirt, обратитесь к разделу «Дизайн» документации (docs/design.ch.md).
Как внести свой вклад
Мы приветствуем новых участников и готовы предоставить им помощь и руководство.
При разработке StratoVirt используется стандарт программирования на языке Rust. Для ознакомления с рекомендациями по стилю кода и использованию инструментов форматирования обратитесь к следующим ресурсам:
https://github.com/rust-dev-tools/fmt-rfcs/tree/master/guide
https://github.com/rust-lang/rust-clippy
Дополнительные сведения о StratoVirt можно найти по этой ссылке:
https://gitee.com/openeuler/stratovirt/wikis
Если у вас есть вопросы, идеи или вы обнаружили ошибку, пожалуйста, свяжитесь с нами через список рассылки virt (https://mailweb.openeuler.org/postorius/lists/virt.openeuler.org/) или создайте заявку на сайте (https://gitee.com/openeuler/stratovirt/issues).
Лицензия
StratoVirt распространяется под лицензией Mulan PSL v2 с открытым исходным кодом.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )