نظام ملفات Composefs المقترح لنظام Linux

أصدر ألكسندر لارسون ، مبتكر Flatpak في Red Hat ، معاينة للتصحيحات التي تطبق نظام ملفات Composefs لنواة Linux. يشبه نظام الملفات المقترح Squashfs وهو مناسب أيضًا لتركيب صور للقراءة فقط. تتلخص الاختلافات في قدرة Composefs على مشاركة محتويات صور الأقراص المتعددة المثبتة بكفاءة ودعم مصادقة البيانات القابلة للقراءة. كمجالات التطبيق التي قد تكون فيها Composefs FS مطلوبة ، يتم استدعاء تركيب صور الحاوية واستخدام مستودع OSTree الشبيه بـ Git.

تستخدم Composefs نموذج تخزين عنونة قائم على المحتوى ، أي المعرف الأساسي ليس اسم الملف ، ولكنه تجزئة لمحتويات الملف. يوفر هذا النموذج إمكانية إلغاء البيانات المكررة ويسمح لك بتخزين نسخة واحدة فقط من نفس الملفات التي تحدث في أقسام مركبة مختلفة. على سبيل المثال ، تحتوي صور الحاوية على العديد من ملفات النظام الشائعة ، ومع Composefs ، ستتم مشاركة كل من هذه الملفات بواسطة جميع الصور المثبتة ، دون استخدام الحيل مثل إعادة التوجيه باستخدام روابط صلبة. في الوقت نفسه ، لا يتم تخزين الملفات المشتركة كنسخة واحدة على القرص فحسب ، بل تتم إدارتها أيضًا عن طريق إدخال واحد في ذاكرة التخزين المؤقت للصفحة ، مما يجعل من الممكن حفظ كل من القرص وذاكرة الوصول العشوائي.

لتوفير مساحة القرص ، يتم فصل البيانات والبيانات الوصفية في الصور المركبة. عند التركيب ، حدد:

  • فهرس ثنائي يحتوي على جميع البيانات الأولية لنظام الملفات وأسماء الملفات والأذونات والمعلومات الأخرى ، باستثناء المحتويات الفعلية للملفات.
  • الدليل الأساسي حيث يتم تخزين محتويات جميع ملفات الصور المركبة. يتم تخزين الملفات فيما يتعلق بتجزئة محتواها.

يتم إنشاء فهرس ثنائي لكل صورة FS ، ويكون الدليل الأساسي هو نفسه لجميع الصور. للتحقق من محتوى الملفات الفردية والصورة بأكملها في ظل ظروف التخزين المشتركة ، يمكن استخدام آلية fs-verity ، والتي عند الوصول إلى الملفات ، تتحقق من أن التجزئة المحددة في الفهرس الثنائي تتوافق مع المحتوى الفعلي (أي إذا كان المهاجم إجراء تغيير على ملف في الدليل الأساسي أو تلف البيانات نتيجة لفشل ، مثل هذه التسوية ستكشف عن تناقض).

المصدر: opennet.ru

إضافة تعليق