حرف O

نظام ملفات التراكب

OverlayFS

آخر تحديث: 2026-10-12
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

تخيل أن لديك كتابا نادرا لا تريد الكتابة عليه مباشرة. للتعديل عليه، تضع ورقة شفافة فوق صفحات الكتاب، وتكتب ملاحظاتك على الورقة الشفافة. عند النظر من الأعلى، سترى النص الأصلي مدمجا مع ملاحظاتك، لكن الكتاب الأصلي يظل سليما ولم يمس. هكذا يعمل نظام ملفات التراكب (OverlayFS) في لينكس (Linux)، حيث يسمح لك بدمج مجلدين (Directories) معا، مجلد أساسي للقراءة فقط (Read-only)، ومجلد علوي للتعديلات. هذا النظام مفيد جدا في تشغيل حاويات البرامج (Containers) وأنظمة التشغيل الحية (Live OS) التي تعمل من الأقراص المدمجة أو الذاكرة المحمولة دون المساس بملفات النظام الأساسية.

الشرح التقني المتقدم

يعد نظام ملفات التراكب (OverlayFS) من الأنظمة المتقدمة في لينكس (Linux) التي توفر آلية لدمج عدة مسارات (Paths) وعرضها كنظام ملفات واحد مدمج. خلف الكواليس، يعتمد هذا النظام على طبقات، مما يسمح للتطبيقات والحاويات بالعمل على بيئة معزولة دون إجراء تغييرات دائمة على ملفات النظام (System) الأساسية، وهو حجر الأساس الذي تعتمد عليه تقنيات تشغيل الحاويات (Containers) الحديثة.

كيفية عمل النظام والطبقات

يعمل النظام من خلال تحديد طبقتين أساسيتين: الطبقة السفلية (Lowerdir) التي تكون عادة للقراءة فقط، والطبقة العلوية (Upperdir) المخصصة للكتابة والتعديلات. يتم دمج هاتين الطبقتين لإنتاج مسار العرض المدمج (Merged). إذا تم تعديل ملف موجود في الطبقة السفلية، يقوم النظام بنسخه إلى الطبقة العلوية وتعديله هناك، تاركا النسخة الأصلية كما هي في الأسفل.

مجلد العمل (Workdir): هو مجلد وسيط ومهم يستخدمه النظام لتجهيز الملفات مؤقتا قبل نقلها إلى الطبقة العلوية، ويضمن أن تكون عمليات النقل والدمج ذرية (Atomic) وخالية من الأخطاء أثناء التعديل.

دمج المسارات عمليا باستخدام الأمر mount

لتطبيق هذه التقنية، نحتاج أولا إلى إنشاء أربعة مجلدات: المجلد السفلي، المجلد العلوي، مجلد العمل، ومجلد العرض النهائي الذي سيتعامل معه المستخدم:

أمر التنفيذ لدمج هذه المجلدات:

sudo mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged

عند تنفيذ هذا الأمر، سيقوم النظام بتفعيل التراكب بين المجلدات المحددة، وفيما يلي تفاصيل ما يحدث خلف الكواليس:

  • عند قراءة ملف: يبحث النظام في مسار upperdir أولا، فإن لم يجده ينتقل للبحث في lowerdir.
  • عند حذف ملف من الطبقة السفلية: لا يتم حذفه فعليا، بل يتم إنشاء ملف خاص يسمى (Whiteout) في الطبقة العلوية لإخفائه عن العرض في المجلد المدمج.
  • عند تعديل ملف: تطبق آلية النسخ للأعلى (Copy-up) لنسخ الملف إلى الطبقة العلوية قبل تطبيق التعديل، لضمان سلامة الطبقة السفلية.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

استخدام نظام ملفات التراكب (OverlayFS) يقلل من استهلاك المساحة التخزينية (Storage) بشكل هائل عند تشغيل عدة حاويات تشترك في نفس ملفات النظام الأساسية. كأفضل ممارسة، تأكد دائما من أن مجلد العمل والطبقة العلوية يقعان في نفس قسم القرص (Partition) لضمان نجاح عملية الدمج وتجنب الأخطاء.