پس از ۱۱ ماه توسعه، CRIU 4.3 (Checkpoint and Restore in Userspace)، مجموعهای از ابزارها که برای ذخیره و بازیابی فرآیندها در فضای کاربر طراحی شده است، منتشر شد. این مجموعه ابزار امکان ذخیره وضعیت یک یا گروهی از فرآیندها و سپس از سرگیری اجرا از موقعیت ذخیره شده، از جمله پس از راهاندازی مجدد سیستم یا روی سرور دیگری بدون ایجاد اختلال در اتصالات شبکه موجود را فراهم میکند. کد این پروژه به زبان C نوشته شده و تحت مجوز GPLv2 توزیع شده است. CRIU در سیستمهای مدیریت کانتینر مانند OpenVZ، LXC/LXD و Docker استفاده میشود. تغییرات مورد نیاز برای عملکرد CRIU در هسته اصلی گنجانده شده است. Linux.
حوزههای کاربرد فناوری CRIU شامل اطمینان از راهاندازی مجدد سیستمعامل بدون ایجاد اختلال در تداوم فرآیندهای طولانیمدت، انتقال زنده کانتینرهای مجزا، تسریع در راهاندازی فرآیندهای آهسته (شما میتوانید از حالت ذخیره شده پس از مقداردهی اولیه شروع به کار کنید)، انجام بهروزرسانی هسته بدون راهاندازی مجدد سرویسها، ذخیره دورهای در حالت جمعآوری وظایف طولانیمدت تا اجرای مجدد. بارگذاری روی گرهها در خوشهها، کپی کردن فرآیندها به ماشین دیگر (چنگ زدن به یک سیستم راه دور)، ایجاد عکسهای فوری از برنامههای کاربردی کاربر در حین کار برای تجزیه و تحلیل آنها در سیستم دیگری یا در صورت لزوم لغو اقدامات بعدی در برنامه.
در نسخه جدید:
- قابلیت فشردهسازی بلوکها و صفحات حافظه با استفاده از الگوریتم LZ4 و رفع فشار چند رشتهای پیادهسازی شده است.
- عملکرد با استفاده از ورودی/خروجی ناهمزمان (AIO) هنگام بازیابی صفحات VMA (منطقه حافظه مجازی)، روشی جدید برای متوقف کردن وظایف بدون استفاده از نقاط شکست سختافزاری و موازیسازی بازیابیهای حافظه مشترک memfd و ناشناس، بهبود مییابد.
- پشتیبانی از افزونه ARM64 GCS (Guarded Control Stack) اضافه شده است که محافظت سختافزاری برای آدرسهای برگشتی تابع فراهم میکند. پس از انتقال کنترل به یک تابع، پردازنده آدرسهای برگشتی را نه تنها در پشته معمولی، بلکه در یک پشته سایه جداگانه نیز ذخیره میکند که نمیتوان مستقیماً آن را تغییر داد. قبل از خروج از تابع، آدرس برگشتی از پشته سایه برداشته شده و با آدرس برگشتی در پشته اصلی مقایسه میشود.
- یک بخش مدیریت برای ذخیره وضعیت رابط برنامهنویسی کاربردی درایور NVIDIA CUDA اضافه شد.
- بازیابی نگاشت GPU تضمین شده است.
- برای درایور amdgpu، ذخیره و بازیابی وضعیت بافرهای زیرسیستم DRM (مدیر رندر مستقیم) و توصیفگرهای فایل DMA-BUF پیادهسازی شده است.
- دستوراتی برای فشردهسازی و خارج کردن تصاویر حافظه از حالت فشرده در حالت آفلاین اضافه شد.
- پشتیبانی از ذخیره و بازیابی اطلاعات مربوط به اتصالات UID به سوکتهای شبکه اضافه شد.
- گزینه "--image-io-mode" برای نوشتن و خواندن تصاویر صفحات حافظه در حالت O_DIRECT (با دور زدن حافظه پنهان صفحه) اضافه شد.
منبع: opennet.ru
