+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Intel опублікувала нову версію гіпервізора Cloud Hypervisor 0.3

Intel опублікувала нову версію гіпервізора Cloud Hypervisor 0.3

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. Реалізація заснована на напрацюваннях проекту Firecracker, що розвивається компанією Amazon. VSOCK дозволяє використовувати штатний POSIX Sockets API для взаємодії між додатками на стороні гостьової системи та хоста, що дозволяє легко адаптувати для такої взаємодії звичайні мережеві програми та реалізувати взаємодія кількох клієнтських програм з одним серверним додатком;
  • Забезпечено початкову підтримку керуючого API, який використовує протокол HTTP. У майбутньому цей API дозволить ініціювати виконання асинхронних операцій над гостьовими системами, таких як гаряче підключення ресурсів та міграція оточення;
  • Додано шар з реалізацією транспорту на базі virtio MMIO (Memory mapped virtio), який може бути використаний для створення мінімалістичних гостьових систем, що не потребують емуляції шини PCI;
  • У рамках ініціативи щодо розширення підтримки запуску вкладених гостьових систем у Cloud Hypervisor додано можливість прокидання паравіртуалізованих пристроїв IOMMU через virtio, що дозволяє підвищити захищеність вкладеного та прямого прокидання пристроїв.
  • Забезпечена підтримка Ubuntu 19.10;
  • Додано можливість запуску гостьових систем з більш ніж 64 ГБ ОЗП.

Додатково можна відзначити новий випуск суміжно розвивається монітора віртуальних машин Firecracker, також написаного на 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. З опцій командного рядка також додано підтримку роздільника "--", вказані після якого прапори передаються ланцюжком без обробки.

Розвиваюча Firecracker компанія Amazon також оголосила про надання спонсорської підтримки розробників мови програмування 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.

Інші новини