Rust ilə yazılmış Intel Cloud Hypervisor 0.3 və Amazon Firecracker 0.19 üçün yeniləmə

Intel nəşr olundu hipervizorun yeni versiyası Cloud Hypervisor 0.3. Hipervizor komponentlər üzərində qurulub
birgə layihə Rust-VMM, hansı ki, Intel-dən başqa, Alibaba, Amazon, Google və Red Hat da iştirak edir. Rust-VMM Rust dilində yazılmışdır və tapşırıq üçün xüsusi hipervizorlar yaratmağa imkan verir. Cloud Hypervisor, KVM üzərində işləyən və buludda yerli tapşırıqlar üçün optimallaşdırılmış yüksək səviyyəli virtual maşın monitorunu (VMM) təmin edən belə bir hipervizordur. Layihə kodu mövcuddur Apache 2.0 altında lisenziyalıdır.

Cloud Hypervisor virtio əsaslı paravirtuallaşdırılmış cihazlardan istifadə edərək müasir Linux paylamalarını idarə etməyə yönəlib. Qeyd olunan əsas məqsədlər arasında bunlardır: yüksək həssaslıq, aşağı yaddaş istehlakı, yüksək performans, sadələşdirilmiş konfiqurasiya və mümkün hücum vektorlarının azaldılması.

Emulyasiya dəstəyi minimum səviyyədə saxlanılır və diqqət paravirtuallaşdırmaya yönəldilir. Hazırda yalnız x86_64 sistemləri dəstəklənir, lakin AArch64 dəstəyi planlaşdırılır. Qonaq sistemləri üçün hazırda Linux-un yalnız 64-bit quruluşları dəstəklənir. CPU, yaddaş, PCI və NVDIMM montaj mərhələsində konfiqurasiya edilir. Virtual maşınları serverlər arasında köçürmək mümkündür.

Yeni versiyada:

  • Paravirtuallaşdırılmış I/O-nun ayrı-ayrı proseslərə köçürülməsi üzrə işlər davam etdirildi. Blok cihazları ilə qarşılıqlı əlaqə yaratmaq üçün arxa uçlardan istifadə etmək imkanı əlavə edilmişdir vhost-user-blk. Dəyişiklik vhost-istifadəçi moduluna əsaslanan blok cihazlarını Cloud Hypervisor-a qoşmağa imkan verir, məsələn SPDK, paravirtuallaşdırılmış saxlama üçün arxa uçlar kimi;
  • Son buraxılışda təqdim edilən şəbəkə əməliyyatlarının arxa uçlara köçürülməsi üçün dəstək vhost-user-net, virtual şəbəkə sürücüsünə əsaslanan yeni backend ilə genişləndirildi TAP. Backend Rust dilində yazılmışdır və hazırda əsas paravirtuallaşdırılmış şəbəkə arxitekturası kimi Cloud Hypervisor-da istifadə olunur;
  • Host mühiti ilə qonaq sistemi arasında rabitənin səmərəliliyini və təhlükəsizliyini artırmaq üçün virtio vasitəsilə işləyən AF_VSOCK ünvanlı (virtual şəbəkə yuvaları) rozetkaların hibrid tətbiqi təklif olunur. Həyata keçirilməsi layihənin inkişaflarına əsaslanır firecracker, Amazon tərəfindən hazırlanmışdır. VSOCK qonaq və host tərəfindəki proqramlar arasında qarşılıqlı əlaqə üçün standart POSIX Sockets API-dən istifadə etməyə imkan verir ki, bu da adi şəbəkə proqramlarını belə qarşılıqlı əlaqə üçün uyğunlaşdırmağı və bir server tətbiqi ilə bir neçə müştəri proqramının qarşılıqlı əlaqəsini həyata keçirməyi asanlaşdırır;
  • HTTP protokolundan istifadə edərək idarəetmə API-si üçün ilkin dəstək təmin edilmişdir. Gələcəkdə bu API qonaq sistemlərində, məsələn, qaynar qoşulma resursları və köçürmə mühitləri kimi asinxron əməliyyatları başlatmağa imkan verəcək;
  • PCI avtobus emulyasiyasını tələb etməyən minimalist qonaq sistemləri yaratmaq üçün istifadə oluna bilən virtio MMIO (Memory mapped virtio) əsasında nəqliyyat tətbiqi ilə bir təbəqə əlavə edildi;
  • Yuvalanmış qonaq sistemlərinin işə salınması üçün dəstəyi genişləndirmək təşəbbüsünün bir hissəsi olaraq, Cloud Hypervisor paravirtuallaşdırılmış IOMMU cihazlarını virtio vasitəsilə yönləndirmək qabiliyyətini əlavə etdi ki, bu da cihazların yuvalanmış və birbaşa yönləndirilməsinin təhlükəsizliyini yaxşılaşdırır.
  • Ubuntu 19.10 üçün dəstək təmin edildi;
  • 64 GB-dan çox RAM ilə qonaq sistemlərini idarə etmək imkanı əlavə edildi.

Əlavə olaraq qeyd etmək olar yeni məsələ bitişik inkişaf etmişdir virtual maşın monitoru firecracker, həm də Rust-da yazılmış, Rust-VMM əsasında və KVM üzərində işləyir. Firecracker layihənin çəngəlidir CrosVM, Google tərəfindən proqramları işə salmaq üçün istifadə olunur Linux и Android ChromeOS-da. Firecracker AWS Lambda və AWS Fargate platformalarının performansını və səmərəliliyini artırmaq üçün Amazon Web Services tərəfindən hazırlanır.

Platforma virtual maşınları minimum yüklə idarə etmək üçün nəzərdə tutulmuşdur və serversiz inkişaf modelindən (xidmət kimi funksiya) istifadə etməklə qurulmuş təcrid olunmuş mühit və xidmətlərin yaradılması və idarə edilməsi üçün alətlər təqdim edir. Firecracker, ənənəvi konteynerlərin performansını və çevikliyini təmin edərkən tam izolyasiyanı təmin etmək üçün hardware virtualizasiya texnologiyalarından istifadə edən microVM adlanan yüngül virtual maşınlar təklif edir. Məsələn, Firecracker istifadə edərkən, microVM işə salındığı andan tətbiqin icrasına başlanana qədər vaxt 125 ms-dən çox deyil, bu da saniyədə 150 ​​mühitə qədər intensivliyə malik yeni virtual maşınları işə salmağa imkan verir.

Firecracker-in yeni buraxılışı API işləyicisini (“—no-api”) işə salmadan iş rejimi əlavə edir, mühiti yalnız konfiqurasiya faylında sərt kodlanmış parametrlərlə məhdudlaşdırır. Statik konfiqurasiya “--config-file” seçimi ilə müəyyən edilir və JSON formatında müəyyən edilir. Komanda xətti seçimlərindən "—" ayırıcısı üçün dəstək də əlavə edildi, göstərilən bayraqlar emal edilmədən zəncir boyunca ötürülür.

Firecracker-i inkişaf etdirən Amazon da elan etdi Rust proqramlaşdırma dilinin tərtibatçılarına sponsorluq etmək haqqında. Qeyd olunur ki, Rust şirkətin layihələrində getdikcə daha çox istifadə olunur və onun üzərindəki inkişaflar artıq Lambda, EC2 və S3 kimi xidmətlərdə tətbiq edilib. Amazon Rust layihəsini S3-də buraxılışları və konstruksiyaları saxlamaq, EC2-də reqressiya testlərini həyata keçirmək və crates.io deposundan bütün paketlər üçün sənədlərlə docs.rs saytını saxlamaq üçün infrastruktur təqdim edib.

Amazon da təqdim etdi proqramı AWS Təqdimat Krediti, burada açıq mənbə layihələri resurs saxlama, qurmaq, davamlı inteqrasiya və sınaq üçün istifadə edilə bilən AWS xidmətlərinə pulsuz giriş əldə edə bilər. Proqramda iştirak üçün artıq təsdiqlənmiş layihələr arasında Rustdan əlavə AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy və Julia da qeyd olunub. Təqdimatlar ACİ tərəfindən təsdiq edilmiş lisenziyalar əsasında təqdim edilən hər hansı açıq mənbə layihəsindən qəbul edilir.

Mənbə: opennet.ru

Добавить комментарий