Intel
хамтарсан төсөл
Cloud Hypervisor нь virtio-д суурилсан паравиртуалжуулсан төхөөрөмжүүдийг ашиглан орчин үеийн Linux түгээлтүүдийг ажиллуулахад чиглэгддэг. Дурьдсан гол зорилтуудын дунд: өндөр хариу үйлдэл, санах ойн хэрэглээ бага, өндөр гүйцэтгэл, хялбаршуулсан тохиргоо, халдлагын векторыг багасгах.
Эмуляцийн дэмжлэгийг хамгийн бага хэмжээнд байлгаж, паравиртуалчлалд анхаарлаа хандуулдаг. Одоогоор зөвхөн x86_64 системийг дэмждэг боловч AArch64-ийг дэмжихээр төлөвлөж байна. Зочны системүүдийн хувьд одоогоор зөвхөн 64 битийн Линуксыг дэмждэг. CPU, санах ой, PCI болон NVDIMM нь угсралтын шатанд тохируулагдсан. Виртуал машинуудыг сервер хооронд шилжүүлэх боломжтой.
Шинэ хувилбарт:
- Паравиртуалжуулсан I/O-г салангид процессууд руу шилжүүлэх ажлыг үргэлжлүүлэв. Блок төхөөрөмжтэй харилцахын тулд арын хэсгийг ашиглах чадварыг нэмсэн
vhost-user-blk . Энэхүү өөрчлөлт нь vhost-хэрэглэгчийн модуль дээр суурилсан блок төхөөрөмжүүдийг Cloud Hypervisor-д холбох боломжийг олгодог.SPDK , паравиртуалжуулсан хадгалалтын арын хэсэг болгон; - Сүлжээний ажиллагааг сүүлийн хувилбарт танилцуулсан backends руу шилжүүлэх дэмжлэг
vhost-user-net , виртуал сүлжээний драйвер дээр суурилсан шинэ backend ашиглан өргөтгөсөнTAP . Backend нь Rust дээр бичигдсэн бөгөөд одоо Cloud Hypervisor-д үндсэн пара-виртуалчлагдсан сүлжээний архитектур болгон ашиглаж байна; - Хостын орчин ба зочны системийн хоорондын харилцааны үр ашиг, аюулгүй байдлыг нэмэгдүүлэхийн тулд virtio-ээр ажилладаг AF_VSOCK хаяглалт (виртуал сүлжээний залгуур) бүхий залгууруудын эрлийз хувилбарыг санал болгож байна. Хэрэгжилт нь төслийн хөгжилд тулгуурладаг
Салют , Amazon компаниас боловсруулсан. VSOCK нь зочин болон хост талын програмуудын хооронд харилцах стандарт POSIX Sockets API-г ашиглах боломжийг олгодог бөгөөд энэ нь ердийн сүлжээний програмуудыг ийм харилцан үйлчлэлд тохируулах, нэг сервер програмтай хэд хэдэн клиент програмын харилцан үйлчлэлийг хэрэгжүүлэхэд хялбар болгодог; - HTTP протоколыг ашиглан удирдлагын API-д анхан шатны дэмжлэг үзүүлсэн. Ирээдүйд энэ API нь халуун залгах нөөц, шилжих орчин гэх мэт зочны системүүд дээр асинхрон үйлдлүүдийг эхлүүлэх боломжтой болгоно;
- virtio MMIO (Memory mapped virtio) дээр суурилсан тээвэрлэлтийн хэрэгжилт бүхий давхаргыг нэмсэн бөгөөд үүнийг PCI автобусны эмуляцийг шаарддаггүй минималист зочны системийг бий болгоход ашиглаж болно;
- Cloud Hypervisor нь ажиллаж байгаа зочин системүүдийн дэмжлэгийг өргөжүүлэх санаачилгын хүрээнд virtio-ээр дамжуулан паравиртуалжуулсан IOMMU төхөөрөмжүүдийг дамжуулах боломжийг нэмсэн бөгөөд энэ нь төхөөрөмжүүдийн үүрлэсэн болон шууд дамжуулалтын аюулгүй байдлыг сайжруулдаг.
- Ubuntu 19.10-д дэмжлэг үзүүлсэн;
- 64 ГБ-аас дээш RAM-тай зочны системийг ажиллуулах боломжийг нэмсэн.
Нэмж дурдахад үүнийг тэмдэглэж болно
Энэхүү платформ нь виртуал машинуудыг хамгийн бага ачаалалтай ажиллуулахад зориулагдсан бөгөөд сервергүй хөгжүүлэлтийн загвар (үйлчилгээний функц) ашиглан бүтээгдсэн тусгаарлагдсан орчин, үйлчилгээг бий болгох, удирдах хэрэгслээр хангадаг. Firecracker нь уламжлалт савны гүйцэтгэл, уян хатан байдлыг хангахын зэрэгцээ тоног төхөөрөмжийн виртуалчлалын технологийг ашигладаг microVM гэж нэрлэгддэг хөнгөн жинтэй виртуал машинуудыг санал болгодог. Жишээлбэл, Firecracker-ийг ашиглах үед microVM-ийг ажиллуулж эхлэхээс эхлээд програмыг ажиллуулж эхлэх хүртэлх хугацаа нь 125 мс-ээс хэтрэхгүй бөгөөд энэ нь секундэд 150 хүртэлх орчны эрчимтэй шинэ виртуал машинуудыг эхлүүлэх боломжийг олгодог.
Firecracker-ийн шинэ хувилбар нь API зохицуулагчийг ажиллуулахгүйгээр (“-no-api”) ажиллах горимыг нэмж, орчныг зөвхөн тохиргооны файлд хатуу кодлогдсон тохиргоогоор хязгаарладаг. Статик тохиргоог "--config-file" сонголтоор зааж өгсөн бөгөөд JSON форматаар тодорхойлогддог. Тушаалын мөрийн сонголтуудаас "—" тусгаарлагчийн дэмжлэгийг нэмсэн бөгөөд дараа нь заасан тугуудыг боловсруулахгүйгээр гинжин хэлхээний дагуу дамжуулдаг.
Firecracker хөгжүүлдэг Амазон бас
Амазон бас
Эх сурвалж: opennet.ru