Rust тілінде жазылған Intel Cloud Hypervisor 0.3 және Amazon Firecracker 0.19 гипервизорларына жаңарту

Intel жарияланған гипервизордың жаңа нұсқасы Cloud Hypervisor 0.3. Гипервизор құрамдас бөліктерге құрылған
бірлескен жоба Rust-VMM, оған Intel-ден басқа, Alibaba, Amazon, Google және Red Hat қатысады. Rust-VMM Rust тілінде жазылған және тапсырмаға арналған гипервизорларды жасауға мүмкіндік береді. Cloud Hypervisor – KVM үстінде жұмыс істейтін және бұлттағы жергілікті тапсырмалар үшін оңтайландырылған жоғары деңгейлі виртуалды машина мониторын (VMM) қамтамасыз ететін осындай гипервизорлардың бірі. Жоба коды қол жетімді Apache 2.0 бойынша лицензияланған.

Cloud Hypervisor виртио негізіндегі паравиртуалдандырылған құрылғыларды пайдалана отырып, заманауи Linux дистрибутивтерін іске қосуға бағытталған. Атап өтілген негізгі мақсаттардың арасында: жоғары жауап беру, жадты аз тұтыну, жоғары өнімділік, жеңілдетілген конфигурация және ықтимал шабуыл векторларын азайту.

Эмуляцияны қолдау минимумға дейін сақталады және басты назар паравиртуализацияға аударылады. Қазіргі уақытта тек x86_64 жүйелеріне қолдау көрсетіледі, бірақ AArch64 қолдауы жоспарланған. Қонақ жүйелері үшін қазіргі уақытта тек 64 биттік Linux құрылымдарына қолдау көрсетіледі. Орталық процессор, жад, PCI және NVDIMM құрастыру сатысында конфигурацияланады. Серверлер арасында виртуалды машиналарды тасымалдауға болады.

Жаңа нұсқада:

  • Паравиртуалдандырылған енгізу-шығаруды бөлек процестерге жылжыту бойынша жұмыс жалғасты. Блоктық құрылғылармен өзара әрекеттесу үшін серверлерді пайдалану мүмкіндігі қосылды vhost-user-blk. Өзгеріс vhost-пайдаланушы модуліне негізделген блок құрылғыларын Cloud Hypervisor-қа қосуға мүмкіндік береді, мысалы SPDK, паравиртуалдандырылған сақтау үшін серверлер ретінде;
  • Соңғы шығарылымда енгізілген желілік операцияларды серверлерге жылжытуға қолдау көрсету vhost-user-net, виртуалды желі драйверіне негізделген жаңа сервермен кеңейтілді БГБ. Backend Rust тілінде жазылған және қазір бұлтты гипервизорда негізгі паравиртуалдандырылған желі архитектурасы ретінде пайдаланылады;
  • Хост ортасы мен қонақ жүйесі арасындағы байланыстың тиімділігі мен қауіпсіздігін арттыру үшін virtio арқылы жұмыс істейтін AF_VSOCK адрестеу (виртуалды желі розеткалары) бар розеткаларды гибридті енгізу ұсынылады. Іске асыру жобаның әзірлемелеріне негізделген Шабуылшы, Amazon әзірлеген. VSOCK қонақ және хост жағындағы қолданбалар арасындағы өзара әрекеттесу үшін стандартты POSIX Sockets API пайдалануға мүмкіндік береді, бұл қарапайым желілік бағдарламаларды осындай өзара әрекеттесу үшін бейімдеуді және бірнеше клиенттік бағдарламалардың бір серверлік қосымшамен өзара әрекеттесуін жүзеге асыруды жеңілдетеді;
  • HTTP протоколы арқылы басқару API үшін бастапқы қолдауды қамтамасыз етті. Болашақта бұл API қонақ жүйелерінде асинхронды операцияларды бастауға мүмкіндік береді, мысалы, ыстық қосылатын ресурстар және тасымалдау орталары;
  • PCI шинасын эмуляциялауды қажет етпейтін минималистік қонақ жүйелерін жасау үшін пайдаланылуы мүмкін virtio MMIO (Memory mapped virtio) негізінде тасымалдауды жүзеге асыру қабаты қосылды;
  • Кірістірілген қонақ жүйелерін іске қосуға қолдау көрсетуді кеңейту бастамасының бөлігі ретінде Cloud Hypervisor паравиртуалдандырылған IOMMU құрылғыларын virtio арқылы қайта жіберу мүмкіндігін қосты, бұл құрылғылардың кірістірілген және тікелей бағытталуының қауіпсіздігін жақсартады.
  • Ubuntu 19.10 үшін қолдау көрсетіледі;
  • 64 ГБ-тан астам жедел жады бар қонақтық жүйелерді іске қосу мүмкіндігі қосылды.

Бұған қоса, атап өтуге болады жаңа шығарылым іргелес дамыған виртуалды машина мониторы Шабуылшы, сонымен қатар Rust тілінде жазылған, Rust-VMM негізінде және KVM үстінде жұмыс істейді. Петарда - бұл жобаның бір бөлігі CrosVM, қолданбаларды іске қосу үшін Google пайдаланады Linux и Android ChromeOS жүйесінде. Firecracker AWS Lambda және AWS Fargate платформаларының өнімділігі мен тиімділігін жақсарту үшін Amazon Web Services компаниясымен әзірленуде.

Платформа виртуалды машиналарды ең аз шығынмен іске қосуға арналған және серверсіз әзірлеу үлгісі (қызмет ретіндегі функция) арқылы құрастырылған оқшауланған орталар мен қызметтерді құруға және басқаруға арналған құралдарды ұсынады. Firecracker дәстүрлі контейнерлердің өнімділігі мен икемділігін қамтамасыз ете отырып, толық оқшаулауды қамтамасыз ету үшін аппараттық виртуалдандыру технологияларын пайдаланатын microVM деп аталатын жеңіл виртуалды машиналарды ұсынады. Мысалы, Firecracker пайдалану кезінде microVM іске қосылған сәттен бастап қолданбаны орындаудың басталуына дейінгі уақыт 125 мс аспайды, бұл секундына 150 ортаға дейін қарқындылығымен жаңа виртуалды машиналарды іске қосуға мүмкіндік береді.

Firecracker жаңа шығарылымы API өңдеушісін («—no-api») іске қоспай жұмыс режимін қосады, ортаны конфигурация файлында қатаң кодталған параметрлермен ғана шектейді. Статикалық конфигурация “--config-file” опциясы арқылы көрсетіледі және JSON пішімінде анықталған. Пәрмен жолы опцияларынан «—» бөлгішті қолдау да қосылды, олардан кейін көрсетілген жалаушалар өңдеусіз тізбек бойымен беріледі.

Firecracker әзірлейтін Amazon да жариялады Rust бағдарламалау тілін әзірлеушілерге демеушілік көмек көрсету туралы. Rust компанияның жобаларында көбірек қолданылып жатқаны және ол бойынша әзірлемелер Lambda, EC2 және S3 сияқты қызметтерде енгізілгені атап өтілді. Amazon Rust жобасын S3-де шығарылымдар мен құрастыруларды сақтау, EC2-де регрессия сынақтарын жүргізу және crates.io репозиторийіндегі барлық пакеттерге арналған құжаттамалары бар docs.rs сайтын жүргізу үшін инфрақұрылыммен қамтамасыз етті.

Amazon да енгізілді бағдарлама AWS жарнамалық несиесі, мұнда ашық бастапқы жобалар ресурстарды сақтау, құрастыру, үздіксіз біріктіру және тестілеу үшін пайдалануға болатын AWS қызметтеріне тегін қол жеткізе алады. Бағдарламаға қатысуға мақұлданған жобалардың ішінде Rust-тан басқа, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy және Julia атап өтілді. Өтініштер OSI мақұлдаған лицензиялар бойынша жеткізілетін кез келген ашық бастапқы жобадан қабылданады.

Ақпарат көзі: opennet.ru

пікір қалдыру