تجاوز إلى المحتوى الرئيسي

لماذا التقسيم A/B التقسيم A/B؟

في الأنظمة المدمجة، يمكن أن تؤدي التحديثات الفاشلة إلى تعطيل الأجهزة. يحل تخطيط A/B هذه المشكلة من خلال الحفاظ على نظامي ملفات جذر:

  • الفتحة أ - الجذر النشط
  • الفتحة ب - الجذر الاحتياطي للتحديث التالي

عندما ينجح التحديث، يتحول محمل الإقلاع إلى الفتحة الجديدة. إذا فشل التمهيد، فإنه يعود إلى آخر إصدار جيد معروف.

يفترض هذا الأسلوب أن الفتحة (أ) والفتحة (ب) لهما نفس حجم القسم، وهو ما قد يكون صعبًا في بعض الأحيان في الأنظمة المدمجة، عندما تكون الموارد محدودة.

swupdate مع نظام الإنقاذ

نهج آخر هو، إنشاء أقسام لنظام إنقاذ صغير وقسم أكبر لنظام التشغيل العادي.

مثال على تخطيط التقسيم

قد يبدو التخطيط النموذجي Raspberry Pi Compute Module 5 (CM5) النموذجي قد يبدو كالتالي:
التقسيمالنوعالغرض
p1FAT32/التمهيد_A (نواة ، سمدين ، محمل الإقلاع)
p2إكست4الجذر أ
p3FAT32/boot_B (kernel، cmdline، محمل الإقلاع لنظام الإنقاذ)
p4ext4rootfs_B
p5إكست4البيانات / التكوين
يمكن لمُحمِّل الإقلاع استخدام علامة (على سبيل المثال، GPIO17=1 في rpi-eeprom) لتحديد ما إذا كان سيتم التمهيد من قسم الإنقاذ أم لا.

مثال عملي

تم توضيح هذا الإعداد في مثالين rpi-image-genمثالين:

الأول ينشئ نظام الإنقاذ والثاني يدمج نظام الإنقاذ مع نظام آخر قيد التشغيل، ويضبط تسميات الأقسام في cmdline.txt و fstab.

تحديث الإدارة

يمكنك تحميل قسم النظام غير النشط يدوياً لتحديث التكوينات أو التطبيقات أو مكونات النظام.
بالنسبة لأنظمة الإنتاج، تتم إدارة التحديثات عادةً عبر SWUpdateالتي تعمل على أتمتة هذه العملية بأمان.

التكامل مع SWUpdate

SWUpdate يدعم أصلاً استراتيجيات تحديث الجذر المزدوج (A/B).
يتم تعريف الأقسام ومنطق التحديث مباشرةً في ملف sw-description الملف.

يضمن هذا النهج تحديثات النظام الذرية مع أمان التراجع المدمج - وهي ميزة أساسية للأجهزة التي لا رأس لها أو الأجهزة البعيدة، حيث لا يمكن الاسترداد اليدوي.