CRIU ، نظام لحفظ واستعادة حالة العمليات في Linux

كريو (نقطة تفتيش واستعادة في مساحة المستخدمين) هي أداة تسمح لك بحفظ حالة عملية أو مجموعة من العمليات ثم استئناف العمل من الموقع المحفوظ ، حتى بعد إعادة تشغيل النظام أو على خادم آخر دون قطع اتصالات الشبكة القائمة بالفعل.

باستخدام هذه الأداة ، من الممكن تجميد تطبيق قيد التشغيل (أو جزء منه) ووضعه في وحدة تخزين ثابتة كمجموعة من الملفات. يمكن بعد ذلك استخدام الملفات لاستعادة التطبيق وتشغيله من مكان تجميده.

السمة المميزة من مشروع CRIU هو أن يتم تنفيذه بشكل أساسي في مساحة المستخدم ، وليس في النواة.

حول CRIU

أداة CRIU يتم تطويره كجزء من مشروع OpenVZ ، بهدف استبدال نقطة التفتيش / الاستعادة في النواة.

رغم أن ينصب تركيزها الأساسي على دعم ترحيل الحاويات، مما يسمح للمستخدمين بالتحقق من الحالة الحالية للعمليات الجارية ومجموعات العمليات واستعادتها.

حاليا، يمكن استخدام الأداة على أنظمة x86-64 و ARM y يدعم الوظائف التالية:

  • العمليات: التسلسل الهرمي ، PIDs ، مصادق المستخدم والمجموعات (UID ، GID ، SID ، وما إلى ذلك) ، وقدرات النظام ، والخيوط ، والحالات الجارية والمتوقفة
  • ذاكرة التطبيق: ملفات الذاكرة المعينة والذاكرة المشتركة
  • الملفات المفتوحة
  • الأنابيب و FIFOs
  • مآخذ مجال يونكس
  • مآخذ الشبكة ، بما في ذلك مآخذ TCP في حالة ESTABLISHED
  • نظام V IPC
  • المدد الزمنية
  • إشارات
  • محطات
  • تستدعي Kernel نظامًا محددًا: inotify و signalfd و eventfdyepoll

بين مجالات التطبيق من تكنولوجيا CRIU ، لوحظ أن إعادة تشغيل نظام التشغيل دون مقاطعة استمرارية العمليات الترحيل المباشر للحاويات المعزولة طويل الأمد ، وتسريع بدء العمليات البطيئة (يمكن أن تبدأ من الحالة المحفوظة بعد التهيئة) ، وإجراء تحديثات kernel دون إعادة تشغيل الخدمات ، وتوفير حالة المهام طويلة الأمد بشكل دوري لاستئناف العمل في حالة حدوث عطل ، أو توازن الحمل عبر العقد العنقودية ، أو تكرار العمليات على جهاز آخر (فرع إلى نظام بعيد) ، أو إنشاء لقطات من تطبيقات المستخدم أثناء التشغيل لتحليلها على نظام آخر أو على في حال احتجت إلى إلغاء المزيد من الإجراءات في البرنامج. يستخدم CRIU في أنظمة إدارة الحاويات مثل OpenVZ و LXC / LXD و Docker.

حول الإصدار الجديد من CRIU 3.15

الأداة حاليًا في نسختها 3.15، التي تم إطلاقها مؤخرًا وهي تقدم خدمة criu-image-streamer ، والتي تسمح بنقل صور العملية مباشرة من / إلى وحدات CRIU أثناء عمليات التجميد / الاستعادة.

  • يمكن نقل الصور من وحدة التخزين الخارجية (S3 ، GCS ، إلخ) بدون تخزين مؤقت على نظام الملفات المحلي.
  • تمت إضافة دعم هندسة MIPS.
  • يُسمح بتجميد العمليات التي لا تنتمي إلى مساحة اسم PID الحالية ، متبوعة باستعادة مساحة اسم PID الحالية.
  • تمت إضافة آليات إضافية للتحقق من الملفات.
  • تمت إضافة دعم لتجميد هياكل BPF BPF_HASH_OF_MAPS و BPF_ARRAY_OF_MAPS واستعادتها.
  • تمت إضافة الدعم الأولي للإصدار الثاني من cgroup.

كيفية تثبيت CRIU على Linux؟

للمهتمين بتثبيت هذه الأداة ، يجب أن يعلموا أنها متوفرة في القنوات الرسمية لمعظم توزيعات Linux.

لذلك من أجل تثبيت الأداة فقط افتح Terminal وبمساعدة مدير الحزم الخاص بك ، ابحث عن الأداة أو استخدم أحد الأوامر التالية التي نشاركها.

بالنسبة لمن هم مستخدمو Debian و Ubuntu ومشتقاتهما:

sudo apt install criu

بينما بالنسبة لأولئك الذين يستخدمون Arch Linux وأي مشتقات منه:

sudo pacman -S criu

في حالة من هم من مستخدمي فتح:

sudo zypper install criu

أخيرا لأولئك الذين يريدون تجميع الأداة يمكنهم القيام بذلك عن طريق كتابة:

git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all

إذا كنت تريد معرفة المزيد عنها حول هذه الأداة ، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.