Навсозӣ ба гипервизорҳои Intel Cloud Hypervisor 0.3 ва Amazon Firecracker 0.19, ки дар Rust навишта шудаанд

Intel нашр шудааст версияи нави гипервизор Гипервизори абрӣ 0.3. Гипервизор ба ҷузъҳо сохта шудааст
лоиҳаи муштарак Rust-VMM, ки дар он ба ҷуз Intel, Alibaba, Amazon, Google ва Red Hat низ ширкат мекунанд. Rust-VMM бо забони Rust навишта шудааст ва ба шумо имкон медиҳад, ки гипервизорҳои мушаххаси вазифаҳоро эҷод кунед. Cloud Hypervisor яке аз чунин гипервизорҳост, ки як монитори мошини виртуалии сатҳи баландро (VMM) таъмин мекунад, ки дар болои KVM кор мекунад ва барои вазифаҳои абрӣ оптимизатсия шудааст. Рамзи лоиҳа дастрас аст дар зери Apache 2.0 литсензия шудааст.

Cloud Hypervisor ба иҷро кардани дистрибюторҳои муосири Linux бо истифода аз дастгоҳҳои паравиртуализатсияшуда дар асоси виртио нигаронида шудааст. Дар байни ҳадафҳои асосии зикршуда инҳоянд: вокуниши баланд, истеъмоли ками хотира, иҷрои баланд, конфигуратсияи соддакардашуда ва кам кардани векторҳои эҳтимолии ҳамла.

Дастгирии эмулятсия то ҳадди ақал нигоҳ дошта мешавад ва тамаркуз ба паравиртуализатсия равона карда мешавад. Дар айни замон танҳо системаҳои x86_64 дастгирӣ мешаванд, аммо дастгирии AArch64 ба нақша гирифта шудааст. Дар айни замон барои системаҳои меҳмонон, танҳо 64-битаҳои Linux дастгирӣ карда мешаванд. CPU, хотира, PCI ва NVDIMM дар марҳилаи васлкунӣ танзим карда мешаванд. Мошинҳои виртуалиро байни серверҳо интиқол додан мумкин аст.

Дар версияи нав:

  • Корҳо оид ба интиқоли паравиртуализатсияшуда ба равандҳои ҷудогона идома ёфтанд. Қобилияти истифодабарии пуштибонҳо барои муошират бо дастгоҳҳои блок илова карда шудааст vhost-user-blk. Тағирот ба шумо имкон медиҳад, ки дастгоҳҳои блокро дар асоси модули vhost-user ба Cloud Hypervisor пайваст кунед, масалан SPDK, ҳамчун пуштибони барои нигаҳдории паравиртуализатсияшуда;
  • Дастгирии интиқоли амалиёти шабакавӣ ба пуштибонҳо, ки дар версияи охирин ҷорӣ карда шудааст vhost-user-net, бо пуштибонии нав дар асоси драйвери шабакаи виртуалӣ васеъ карда шудааст ьумак. Дар пушти сар дар 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 и андроид дар ChromeOS. 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.

Амазонка низ муаррифӣ кард барнома Кредити таблиғотии AWS, ки лоиҳаҳои кушодаасос метавонанд ба хидматҳои AWS дастрасии ройгон дошта бошанд, ки онҳоро барои нигоҳдории захираҳо, сохтан, ҳамгироии пайваста ва санҷиш истифода бурдан мумкин аст. Дар байни лоиҳаҳое, ки аллакай барои иштирок дар барнома тасдиқ шудаанд, ба ғайр аз Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy ва Julia қайд карда шуданд. Пешниҳодҳо аз ҳама гуна лоиҳаҳои кушодаасос, ки тибқи литсензияҳои аз ҷониби OSI тасдиқшуда пешниҳод карда мешаванд, қабул карда мешаванд.

Манбаъ: opennet.ru

Илова Эзоҳ