به روز رسانی برای Intel Cloud Hypervisor 0.3 و Amazon Firecracker 0.19 نوشته شده در Rust

اینتل опубликовала نسخه جدید هایپروایزر ابرهایپروایزر 0.3. هایپروایزر حول اجزاء ساخته شده است
پروژه مشترک Rust-VMMکه علاوه بر اینتل، علی بابا، آمازون، گوگل و رد هت نیز در آن شرکت دارند. Rust-VMM به زبان Rust نوشته شده است و به شما این امکان را می دهد که هایپروایزرهای خاص کار را ایجاد کنید. Cloud Hypervisor یکی از این هایپروایزرها است که یک مانیتور ماشین مجازی سطح بالا (VMM) ارائه می دهد که در بالای KVM اجرا می شود و برای کارهای بومی ابری بهینه شده است. کد پروژه در دسترس دارای مجوز Apache 2.0.

Cloud Hypervisor بر روی اجرای توزیع‌های مدرن لینوکس با استفاده از ابزارهای مجازی‌سازی مبتنی بر virtio متمرکز است. از جمله وظایف کلیدی ذکر شده عبارتند از: پاسخگویی بالا، مصرف کم حافظه، عملکرد بالا، ساده سازی پیکربندی و کاهش بردارهای احتمالی برای حملات.

پشتیبانی شبیه‌سازی به حداقل می‌رسد و تاکید بر مجازی‌سازی است. در حال حاضر فقط سیستم های x86_64 پشتیبانی می شوند، اما پشتیبانی AArch64 در راه است. از میان سیستم‌های مهمان، در حال حاضر تنها بیلدهای لینوکس ۶۴ بیتی پشتیبانی می‌شوند. تنظیمات CPU، حافظه، PCI و NVDIMM در مرحله ساخت انجام می شود. امکان انتقال ماشین های مجازی بین سرورها وجود دارد.

در نسخه های جدید:

  • کار بر روی انتقال I/O غیر مجازی به فرآیندهای جداگانه ادامه یافت. قابلیت استفاده از backendها برای تعامل با دستگاه های بلوک اضافه شده است vhost-user-blk. این تغییر به شما امکان می دهد دستگاه های بلوکی را بر اساس ماژول vhost-user به ابرویزر ابری مانند SPDK، به عنوان پشتیبان برای ذخیره سازی غیر مجازی.
  • در آخرین نسخه، پشتیبانی از انتقال عملیات شبکه به backendها معرفی شد vhost-user-net، با یک باطن جدید مبتنی بر درایور شبکه مجازی گسترش یافته است شیر. Backend به زبان Rust نوشته شده است و اکنون در Cloud Hypervisor به عنوان معماری اصلی شبکه paravirtualized استفاده می شود.
  • برای افزایش کارایی و امنیت ارتباطات بین محیط میزبان و سیستم مهمان، یک پیاده‌سازی ترکیبی از سوکت‌ها با آدرس‌دهی AF_VSOCK (سوکت‌های شبکه مجازی) که از طریق virtio کار می‌کنند، پیشنهاد شده‌است. اجرا بر اساس تحولات پروژه است ترقهتوسعه یافته توسط آمازون VSOCK به شما امکان می دهد از API استاندارد POSIX Sockets برای تعامل بین برنامه های کاربردی در سمت سیستم مهمان و میزبان استفاده کنید، که تطبیق برنامه های شبکه معمولی را برای چنین تعاملی آسان می کند و تعامل چندین برنامه مشتری با یک برنامه سرور را پیاده سازی می کند.
  • پشتیبانی اولیه برای API مدیریت با استفاده از پروتکل HTTP ارائه شده است. در آینده، این API امکان شروع عملیات ناهمزمان در سیستم‌های مهمان، مانند منابع اتصال داغ و محیط‌های مهاجرت را فراهم می‌کند.
  • یک لایه پیاده سازی حمل و نقل مبتنی بر virtio MMIO (Virtio نگاشت حافظه) اضافه شده است، که می تواند برای ایجاد سیستم های مهمان حداقلی که نیازی به شبیه سازی باس PCI ندارند استفاده شود.
  • به عنوان بخشی از یک ابتکار برای گسترش پشتیبانی از اجرای سیستم‌های مهمان تودرتو در Cloud Hypervisor، قابلیت ارسال دستگاه‌های IOMMU paravirtualized از طریق virtio اضافه شده است که به شما امکان می‌دهد امنیت حمل و نقل دستگاه تودرتو و مستقیم را افزایش دهید.
  • پشتیبانی از اوبونتو 19.10.
  • قابلیت اجرای سیستم های مهمان با بیش از 64 گیگابایت رم اضافه شده است.

علاوه بر این، می توان به آن اشاره کرد شماره جدید مجاور توسعه یافته مانیتور ماشین مجازی ترقه، همچنین به زبان Rust نوشته شده است، بر اساس Rust-VMM و در بالای KVM اجرا می شود. Firecracker یک شاخه پروژه است CrossVMتوسط گوگل برای اجرای برنامه ها استفاده می شود لینـوکــس и آندروید در ChromeOS. Firecracker توسط خدمات وب آمازون برای بهبود عملکرد و کارایی پلتفرم های AWS Lambda و AWS Fargate در حال توسعه است.

این پلتفرم برای اجرای ماشین‌های مجازی با حداقل سربار طراحی شده است و ابزارهایی را برای ایجاد و مدیریت محیط‌ها و سرویس‌های جدا شده با استفاده از مدل توسعه بدون سرور (عملکرد به عنوان سرویس) ارائه می‌کند. Firecracker ماشین‌های مجازی سبک وزنی به نام microVM ارائه می‌کند که از فناوری‌های مجازی‌سازی سخت‌افزاری برای جداسازی کامل آنها استفاده می‌کنند، اما عملکرد و انعطاف‌پذیری کانتینرهای سنتی را ارائه می‌کنند. به عنوان مثال، هنگام استفاده از Firecracker، زمان از شروع microVM تا شروع برنامه از 125 میلی‌ثانیه تجاوز نمی‌کند که به شما امکان می‌دهد ماشین‌های مجازی جدید را با شدت حداکثر 150 محیط در ثانیه راه‌اندازی کنید.

نسخه جدید Firecracker یک حالت عملیاتی را بدون اجرای API handler ("--no-api") اضافه کرده است که محیط را فقط به تنظیمات سخت کد شده در فایل پیکربندی محدود می کند. پیکربندی استاتیک از طریق گزینه "--config-file" مشخص شده و با فرمت JSON تعریف شده است. از گزینه‌های خط فرمان، پشتیبانی از جداکننده «—» نیز اضافه شده است، پس از آن پرچم‌ها بدون پردازش در طول زنجیره منتقل می‌شوند.

آمازون توسعه دهنده Firecracker نیز اعلام کرد با حمایت از توسعه دهندگان زبان برنامه نویسی Rust. خاطرنشان می شود که Rust به طور فزاینده ای در پروژه های این شرکت استفاده می شود و پیشرفت های روی آن قبلاً در سرویس هایی مانند Lambda، EC2 و S3 پیاده سازی شده است. آمازون پروژه Rust را زیرساختی برای ذخیره نسخه‌ها و بیلدها در S3، اجرای آزمایش‌های رگرسیون بر روی EC2 و نگهداری یک سایت docs.rs با مستندات برای همه بسته‌ها از مخزن crates.io فراهم کرد.

آمازون نیز معرفی شده برنامه اعتبار تبلیغاتی AWS، جایی که پروژه های باز می توانند به سرویس های AWS دسترسی رایگان داشته باشند که می توانند برای ذخیره سازی منابع، ساخت، یکپارچه سازی مداوم و آزمایش استفاده شوند. از پروژه‌هایی که قبلاً برای شرکت در برنامه تأیید شده‌اند، علاوه بر Rust، AdoptOpenJDK، Maven Central، Kubernetes، Prometheus، Envoy و Julia ذکر شده‌اند. برنامه های کاربردی از هر پروژه منبع باز ارائه شده تحت مجوزهای تایید شده توسط OSI پذیرفته می شود.

منبع: opennet.ru

اضافه کردن نظر