StratoVirt
StratoVirt — это платформа виртуализации корпоративного уровня для облачных дата-центров в сфере вычислений. Она реализует набор архитектур, поддерживающих три сценария: виртуальные машины, контейнеры и бессерверные вычисления.
У StratoVirt есть конкурентные преимущества в лёгкости и низком уровне шума, координации программного и аппаратного обеспечения, а также безопасности на уровне языка Rust.
StratoVirt оставляет интерфейсы и дизайн открытыми для поддержки большего количества функций. В настоящее время платформа может поддерживать как стандартную, так и облегчённую виртуализацию, а также имеет возможность расширения поддержки новых гетерогенных устройств.
Как начать
Подготовка Перед сборкой StratoVirt убедитесь, что язык Rust и Cargo уже установлены. Если нет, вы можете найти руководство по установке по следующей ссылке: https://www.rust-lang.org/tools/install. И у вас будет меньше накладных расходов памяти, если вы подготовите набор инструментов musl для Rust.
Сборка StratoVirt Чтобы собрать StratoVirt, сначала клонируйте проект и соберите его:
$ git clone https://gitee.com/openeuler/stratovirt.git
$ cd stratovirt
$ make build
Теперь вы можете найти двоичный файл StratoVirt в target/release/stratovirt.
Запуск виртуальной машины с помощью StratoVirt Для быстрого запуска StratoVirt требуется:
Вы можете получить ядро и образ корневой файловой системы по следующей ссылке:
https://repo.openeuler.org/openEuler-22.03-LTS/stratovirt_img/.
Для стандартной виртуальной машины требуется файл прошивки EDK2, который соответствует UEFI.
# Если сокет qmp существует, удалите его сначала.
# Запустите 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.
StratoVirt поддерживает гораздо больше функций, подробное руководство можно найти в Configuration Guidebook.
Дизайн
Чтобы узнать больше о базовой архитектуре дизайна StratoVirt, обратитесь к StratoVirt design.
Вклад Мы приветствуем новых участников! И мы рады предоставить руководство и помощь новым участникам. 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 или создайте проблему.
Лицензия StratoVirt лицензирован под Mulan PSL v2.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )