Оновлення гіпервізорів Intel Cloud Hypervisor 0.3 та Amazon Firecracker 0.19, написаних на Rust

Компанія Intel опублікувала нову версію гіпервізора Cloud Hypervisor 0.3. Гіпервізор побудований на основі компонентів
спільного проекту Rust-VMM, В якому крім Intel також беруть участь компанії Alibaba, Amazon, Google та Red Hat. Rust-VMM написаний мовою Rust і дозволяє створювати специфічні для певних завдань гіпервізори. Cloud Hypervisor є одним із таких гіпервізорів, який надає високорівневий монітор віртуальних машин (VMM), що працює поверх KVM та оптимізований для вирішення завдань, властивих для хмарних систем. Код проекту доступний під ліцензією Apache 2.0

Cloud Hypervisor cфокусовано на запуску сучасних дистрибутивів Linux з використанням паравіртуалізованих пристроїв на базі virtio. З ключових завдань згадується: висока чуйність, низьке споживання пам'яті, висока продуктивність, спрощення налаштування та скорочення можливих векторів для атак.

Підтримка емуляції зведена до мінімуму і ставка робиться на паравіртуалізацію. В даний час підтримуються тільки системи x86_64, але в планах є підтримка AArch64. З гостьових систем поки що підтримується тільки 64-розрядні збірки Linux. Налаштування CPU, пам'яті, PCI та NVDIMM здійснюється на етапі збирання. Передбачено можливість міграції віртуальних машин між серверами.

В новой версії:

  • Продовжено роботу з винесення паравіртуалізованого введення/виведення в окремі процеси. Для взаємодії з блоковими пристроями додано можливість використання бекендів. vhost-user-blk. Зміна дозволяє підключати до Cloud Hypervisor блокові пристрої на базі модуля vhost-user, такі як SPDK, як бекенд для паравіртуалізованих сховищ;
  • Підтримка винесення мережевих операцій в бекенди, що з'явилася в минулому випуску vhost-user-net, розширена новим бекендом на базі віртуального мережного драйвера TAP. Бекенд написаний мовою Rust і тепер використовується в Cloud Hypervisor як основна паравіртуалізована мережева архітектура;
  • Для підвищення ефективності та захищеності комунікацій між хост-оточенням та гостьовою системою запропоновано гібридну реалізацію сокетів з адресацією AF_VSOCK (віртуальні мережеві сокети), що працює через virtio. Реалізація ґрунтується на напрацюваннях проекту феєрверк, що розвивається компанією Amazon. VSOCK дозволяє використовувати штатний POSIX Sockets API для взаємодії між додатками на стороні гостьової системи та хоста, що дозволяє легко адаптувати для такої взаємодії звичайні мережеві програми та реалізувати взаємодію кількох клієнтських програм з одним серверним додатком;
  • Забезпечено початкову підтримку керуючого API, що використовує протокол HTTP. У майбутньому цей API дозволить ініціювати виконання асинхронних операцій над гостьовими системами, таких як гаряче підключення ресурсів та міграція оточень;
  • Додано шар з реалізацією транспорту на базі virtio MMIO (Memory mapped virtio), який може бути використаний для створення мінімалістичних гостьових систем, що не потребують емуляції PCI шини;
  • В рамках ініціативи щодо розширення підтримки запуску вкладених гостьових систем у Cloud Hypervisor додано можливість прокидання паравіртуалізованих пристроїв IOMMU через virtio, що дозволяє підвищити захищеність вкладеного та прямого прокидання пристроїв.
  • Забезпечено підтримку Ubuntu 19.10;
  • Додано можливість запуску гостьових систем із більш ніж 64 ГБ ОЗУ.

Додатково можна відзначити новий випуск суміжно розвивається монітора віртуальних машин феєрверк, також написаного на Rust, що базується на Rust-VMM і працює поверх KVM. Firecracker є відгалуженням від проекту CrosVM, що використовується Google для запуску програм Linux и Android у ChromеOS. Розробка Firecracker ведеться у підрозділі Amazon Web Services з метою підвищення продуктивності та ефективності роботи платформ AWS Lambda та AWS Fargate.

Платформа розрахована на запуск віртуальних машин з мінімальними накладними витратами та надає засоби для створення та керування ізольованими оточеннями та сервісами, побудованими з використанням безсерверної моделі розробки (функція як послуга). Firecracker пропонує легковагі віртуальні машини, іменовані microVM, для повноцінної ізоляції яких застосовуються технології апаратної віртуалізації, але забезпечується продуктивність і гнучкість на рівні звичайних контейнерів. Наприклад, при використанні Firecracker час з моменту запуску microVM до початку виконання не перевищує 125мс, що дозволяє запускати нові віртуальні машини з інтенсивністю до 150 оточень в секунду.

У новому випуску Firecracker доданий режим роботи без запуску обробника API («-no-api»), що обмежує оточення лише жорстко заданими у конфігураційному файлі налаштуваннями. Статична конфігурація задається через опцію "-config-file" і визначається у форматі JSON. З опцій командного рядка також додано підтримку роздільника «—«, вказані після якого прапори передаються по ланцюжку без обробки.

Компанія Amazon, що розвиває Firecracker, також оголосила про спонсорську підтримку розробників мови програмування Rust. Зазначається, що Rust все частіше використовується в проектах компанії та розробки на ньому вже впроваджені в таких службах, як Lambda, EC2 та S3. Amazon надав проекту Rust інфраструктуру для зберігання випусків та збірок у S3, запуску регресивних тестів у EC2 та підтримки сайту docs.rs з документацією для всіх пакетів із репозиторію crates.io.

Amazon також представив програму AWS Promotional Credit, в рамках якого відкриті проекти можуть отримати безкоштовний доступ до сервісів AWS, які можна використовувати для зберігання ресурсів, збирання, безперервної інтеграції та тестування. З уже схвалених для участі в програмі проектів, окрім Rust, відзначені AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy та Julia. Заявки приймаються від будь-яких відкритих проектів, які постачаються під ліцензіями, схваленими OSI.

Джерело: opennet.ru

Додати коментар або відгук