Scroll to navigation

EXT4(5) File Formats Manual EXT4(5)

الاسم

ext2 - نظام الملفات الممتد الثاني
ext3 - نظام الملفات الممتد الثالث
ext4 - نظام الملفات الممتد الرابع

الوصف

تعد نظم الملفات الممتدة الثانية والثالثة والرابعة، أو ext2 وext3 وext4 كما تُعرف عادةً، نظم ملفات لينكس التي كانت تاريخيًا نظام الملفات المبدئي للعديد من توزيعات لينكس. وهي نظم ملفات عامة الأغراض صُممت لقابلية التوسع والتوافق الرجعي. على وجه الخصوص، يمكن وصل نظم الملفات التي كانت مخصصة سابقًا للاستخدام مع نظم الملفات ext2 وext3 باستخدام مشغل نظام الملفات ext4، وبالفعل في العديد من توزيعات لينكس الحديثة، ضُبط مشغل نظام الملفات ext4 لمعالجة طلبات الوصل لنظم الملفات ext2 وext3.

ميزات نظام الملفات

يمكن لنظام الملفات المهيأ لـ ext2 أو ext3 أو ext4 أن يتضمن مجموعة مفعّلة من أعلام ميزات نظام الملفات التالية. بعض هذه الميزات لا تدعمها جميع تطبيقات مشغلات نظم الملفات ext2 وext3 وext4، وذلك بناءً على إصدار نواة لينكس المستخدمة. وفي نظم التشغيل الأخرى، مثل GNU/HURD أو FreeBSD، قد تُدعم مجموعة محدودة جدًا من ميزات نظام الملفات في تطبيقاتها لـ ext2.

64bit

يمكّن نظام الملفات من أن يكون أكبر من 2^32 كتلة. تُعين هذه الميزة آليًا، حسب الحاجة، ولكن قد يكون من المفيد تحديد هذه الميزة صراحةً إذا كان نظام الملفات قد يحتاج إلى تغيير حجمه ليكون أكبر من 2^32 كتلة، حتى لو كان أصغر من هذه العتبة عند إنشائه في الأصل. لاحظ أن بعض النوى الأقدم والإصدارات القديمة من e2fsprogs لن تدعم نظم الملفات التي فُعّلت فيها ميزة ext4 هذه.

تُفعّل ميزة ext4 هذه تخصيص الكتل العنقودية، بحيث تكون وحدة التخصيص هي قوة للعدد اثنين من الكتل. أي أن كل بت فيما كان يُعرف تقليديًا بخريطة بتات تخصيص الكتل يشير الآن إلى ما إذا كان العنقود مستخدمًا أم لا، حيث يتكون العنقود مبدئيًا من 16 كتلة. يمكن لهذه الميزة تقليل الوقت المستغرق في تخصيص الكتل وتؤدي إلى تجزئة أقل، لا سيما للملفات الكبيرة. يمكن تحديد الحجم باستخدام الخيار mke2fs -C.
تحذير: لا تزال ميزة bigalloc قيد التطوير، وقد لا تكون مدعومة بالكامل في نواتك أو قد تحتوي على علل مختلفة. يرجى مراجعة صفحة الويب http://ext4.wiki.kernel.org/index.php/Bigalloc للتفاصيل. قد تتعارض مع التخصيص المؤجل (انظر خيار الوصل nodelalloc).
تتطلب هذه الميزة تفعيل ميزة extent.

توفر ميزة ext4 هذه دعمًا لترميز المحارف على مستوى نظام الملفات للأدلة التي فُعّل فيها علم casefold (+F). تحافظ هذه الميزة على الأسماء كما هي على القرص، ولكنها تسمح للتطبيقات بالبحث عن ملف في نظام الملفات باستخدام نسخة مكافئة في الترميز لاسم الملف.

استخدم أشجار b المجزأة لتسريع عمليات البحث عن الأسماء في الأدلة الكبيرة. تُدعم هذه الميزة في نظامي الملفات ext3 وext4، ويتجاهلها نظام الملفات ext2.

عادةً، يسمح ext4 لعقدة الفهرسة (inode) بألا تحتوي على أكثر من 65,000 وصلة صلبة. ينطبق هذا على الملفات العادية والأدلة على حد سواء، مما يعني أنه لا يمكن وجود أكثر من 64,998 دليلًا فرعيًا في دليل واحد (لأن كل من المدخلين '.' و '..'، بالإضافة إلى مدخل الدليل للدليل في دليله الأصل يُحسب كوصلة صلبة). ترفع هذه الميزة هذا الحد بجعل ext4 يستخدم عدد وصلات بقيمة 1 ليرمز إلى أن عدد الوصلات الصلبة للدليل غير معروف عندما يتجاوز عدد الوصلات الحد الأقصى.

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

يُفعّل دعم التعمية على مستوى نظام الملفات لكتل البيانات وأسماء الملفات. البيانات الوصفية لعقدة الفهرسة (الأختام الزمنية، حجم الملف، ملكية المستخدم/المجموعة، إلخ) لا تُعمّى.
تكون هذه الميزة أكثر فائدة في نظم الملفات التي تضم مستخدمين متعددين، أو عندما لا ينبغي تعمية جميع الملفات. وفي العديد من حالات الاستخدام، خاصة في النظم ذات المستخدم الواحد، قد توفر التعمية عند طبقة جهاز الكتل باستخدام dm-crypt أمانًا أفضل بكثير.

تُفعّل هذه الميزة استخدام الصفات الممتدة. وتُدعم هذه الميزة في ext2 وext3 وext4.

تسمح ميزة ext4 هذه بتخزين رسم الخرائط لأرقام الكتل المنطقية لعقدة فهرسة معينة إلى الكتل الفيزيائية على جهاز التخزين باستخدام شجرة مدى (extent tree)، وهي بنية بيانات أكثر كفاءة من مخطط الكتل غير المباشر التقليدي المستخدم في نظامي الملفات ext2 وext3. يقلل استخدام شجرة المدى من العبء الإضافي لكتل البيانات الوصفية، ويحسن أداء نظام الملفات، ويقلل الحاجة إلى تشغيل e2fsck(8) على نظام الملفات. (ملاحظة: يُقبل كل من extent و extents كأسماء صالحة لهذه الميزة لأسباب تتعلق بالتوافق التاريخي/الرجعي).

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

لكي تكون هذه الميزة مفيدة، يجب أن يكون حجم عقدة الفهرسة 256 بايت أو أكبر.


تُفعّل هذه الميزة تخزين معلومات نوع الملف في مدخلات الأدلة. وتُدعم هذه الميزة في ext2 وext3 وext4.

تسمح ميزة ext4 هذه بوضع البيانات الوصفية الخاصة بكل مجموعة كتل (خرائط بت التخصيص وجداول الآينودات) في أي مكان على وسيط التخزين. بالإضافة إلى ذلك، سيضع mke2fs البيانات الوصفية الخاصة بمجموعة الكتل معًا بدءًا من مجموعة الكتل الأولى لكل "مجموعة flex_bg". يمكن تحديد حجم مجموعة flex_bg باستخدام الخيار -G.

أنشئ جريدة لضمان اتساق نظام الملفات حتى عبر عمليات الإغلاق غير النظيفة. يعد ضبط ميزة نظام الملفات هذا مكافئًا لاستخدام الخيار -j مع mke2fs أو tune2fs.. يدعم نظاما الملفات ext3 و ext4 هذه الميزة، ويتجاهلها تعريف نظام ملفات ext2.

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

تُفعّل هذه الميزة على الكتلة الفائقة (superblock) الموجودة على جهاز يومية خارجي. يجب أن يكون حجم كتلة اليومية الخارجية هو نفسه حجم كتلة نظام الملفات الذي يستخدمها.
يمكن استخدام جهاز الجريدة الخارجي بواسطة نظام الملفات عبر تحديد الخيار -J device=<external-device> لأداة mke2fs(8) أو tune2fs8).

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

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

تُفعّل ميزة ext4 هذه فحص مجموع البيانات الوصفية. تخزن هذه الميزة مجموع الفحص لجميع البيانات الوصفية لنظام الملفات (الكتلة الفائقة، وكتل واصفات المجموعات، وخرائط بتات عقد الفهرسة والكتل، والأدلة، وكتل شجرة المدى). تختلف خوارزمية مجموع الفحص المستخدمة لكتل البيانات الوصفية عن تلك المستخدمة لواصفات المجموعات مع ميزة uninit_bg. هاتان الميزتان غير متوافقتين وسيُفضل استخدام metadata_csum بدلاً من uninit_bg.

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

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

توفر ميزة ext4 هذه حماية الوصل المتعدد (MMP). تساعد MMP في حماية نظام الملفات من الوصل المتعدد وتكون مفيدة في بيئات التخزين المشتركة.

تصلح ميزة ext4 هذه عنق زجاجة محتمل لقابلية التوسع في أعباء العمل التي تنفذ عددًا كبيرًا من عمليات اقتطاع أو تمديد الملفات بالتوازي. وهي مدعومة في نوى لينكس بدءًا من الإصدار 5.15، وفي e2fsprogs بدءًا من الإصدار 1.47.0.

توفر ميزة نظام الملفات ext4 هذه دعمًا لحصص المشروع. مع هذه الميزة، سيُدار معرّف المشروع للآينود عند وصل نظام الملفات.

أنشئ عقد فهرسة الحصص (عقدة الفهرسة رقم 3 لحصة المستخدم وعقدة الفهرسة رقم 4 لحصة المجموعة) وعينها في الكتلة الفائقة. وباستخدام هذه الميزة، ستُفعّل الحصص آليًا عند وصل نظام الملفات.
تؤدي إلى جعل ملفات الحصص (أي user.quota و group.quota التي كانت موجودة في تصميم الحصص الأقدم) عقد فهرسة مخفية.

تشير ميزة نظام الملفات هذه إلى حجز مساحة بحيث يمكن توسيع جدول واصفات مجموعات الكتل أثناء تغيير حجم نظام ملفات موصول. تُنفذ عملية تغيير الحجم المتصل بواسطة النواة، بتحفيز من resize2fs(8). سيحاول mke2fs مبدئيًا حجز مساحة كافية بحيث يمكن لنظام الملفات أن ينمو إلى 1024 ضعف حجمه الأولي. يمكن تغيير هذا باستخدام خيار resize الممتد.
تتطلب هذه الميزة تفعيل ميزة sparse_super أو sparse_super2.

تُعين ميزة نظام الملفات هذه في جميع نظم الملفات الحديثة ext2 وext3 وext4. وهي تشير إلى أن النسخ الاحتياطية للكتلة الفائقة وواصفات مجموعات الكتل موجودة في مجموعات كتل قليلة فقط، وليس فيها جميعًا.

تشير هذه الميزة إلى أنه لن يكون هناك سوى كتلتين مفرطتين احتياطيتين وواصفات مجموعات الكتل على الأكثر. تُخزن مجموعات الكتل المستخدمة لتخزين الكتل المفرطة الاحتياطية وواصفات مجموعات الكتل في الكتلة المفرطة، ولكن عادةً، سيقع أحدها في بداية مجموعة الكتل رقم 1، والآخر في مجموعة الكتل الأخيرة في نظام الملفات. هذه الميزة هي في الأساس نسخة أكثر تطرفًا من sparse_super وصُممت للسماح لنسبة أكبر بكثير من القرص باحتواء كتل متجاورة متاحة لملفات البيانات.

يعلّم أرقام آينودات نظام الملفات والمعرّف الفريد العالمي UUID كمستقرة. لن يسمح resize2fs(8) بتقليص نظام ملفات يحتوي على هذه الميزة، ولن يسمح tune2fs(8) بتغيير معرّف UUID الخاص به. تتيح هذه الميزة استخدام إعدادات تعمية متخصصة تستفيد من أرقام الآينودات ومعرّف UUID. لاحظ أن ميزة encrypt لا تزال بحاجة إلى تفعيلها بشكل منفصل. تعد stable_inodes ميزة توافقية، لذا ستسمح بها النوى القديمة.

تشير ميزة نظام الملفات ext4 هذه إلى أن واصفات مجموعات الكتل ستُحمى باستخدام المجاميع التدقيقية، مما يجعله آمنًا لأداة mke2fs(8) لإنشاء نظام ملفات دون تهيئة جميع مجموعات الكتل. ستحتفظ النواة بحد أقصى مرتفع للآينودات غير المستخدمة، وتهيء جداول وكتل الآينودات بشكل كسول. تسرّع هذه الميزة الوقت المستغرق لفحص نظام الملفات باستخدام e2fsck(8)، وتسرّع أيضًا الوقت المطلوب لأداة mke2fs(8) لإنشاء نظام الملفات.

يُفعّل دعم الملفات المحمية بميزة الحقيقة (verity). تكون ملفات الحقيقة للقراءة فقط، وتُتحقق من بياناتها بشفافية مقابل شجرة Merkle المخفية بعد نهاية الملف. باستخدام تجزئة الجذر لشجرة Merkle، يمكن الاستيثاق من ملف الحقيقة بكفاءة، بصرف النظر عن حجم الملف.
تكون هذه الميزة أكثر فائدة للاستيثاق من الملفات الهامة المخصصة للقراءة فقط على نظم الملفات القابلة للقراءة والكتابة. وإذا كان نظام الملفات نفسه للقراءة فقط، فإن استخدام dm-verity للاستيثاق من جهاز الكتل بأكمله قد يوفر أمانًا أفضل بكثير.

خيارات الوصل

يصف هذا القسم خيارات الوصل الخاصة بـ ext2 وext3 وext4. ويمكن استخدام خيارات الوصل العامة الأخرى أيضًا؛ راجع mount(8) للتفاصيل.

خيارات الوصل لـ ext2

نظام الملفات `ext2' هو نظام ملفات لينكس القياسي. منذ لينكس 2.5.46، يُحدد الوضع المبدئي لمعظم خيارات الوصل بواسطة الكتلة المفرطة لنظام الملفات. اضبطها باستخدام tune2fs(8).

دعم قوائم التحكم في الوصول POSIX (أو عدم دعمها). انظر صفحة دليل acl(5).
اضبط سلوك استدعاء النظام statfs. يتمثل سلوك minixdf في إرجاع العدد الإجمالي لكتل نظام الملفات في حقل f_blocks، بينما يتمثل سلوك bsddf (وهو المبدئي) في طرح الكتل الزائدة التي يستخدمها نظام ملفات ext2 وغير المتاحة لتخزين الملفات. وبالتالي

% mount /k -o minixdf; df /k; umount /k

نظام الملفات 1024-blocks Used Available Capacity Mounted on
/dev/sda6 2630655 86954 2412169 3% /k

% mount /k -o bsddf; df /k; umount /k

نظام الملفات 1024-blocks Used Available Capacity Mounted on
/dev/sda6 2543714 13 2412169 0% /k

(لاحظ أن هذا المثال يوضح أنه يمكن إضافة خيارات سطر الأوامر إلى الخيارات المعطاة في /etc/fstab.)

لا يُجرى أي فحص عند وقت الوصل. هذا هو الوضع المبدئي وهو سريع. من الحكمة استدعاء e2fsck(8) بين الحين والآخر، مثلًا عند وقت الإقلاع. السلوك غير المبدئي غير مدعوم (أُزيل الخياران check=normal و check=strict). لاحظ أنه ليس من الضروري دعم خيارات الوصل هذه إذا استُخدم تعريف نواة ext4 لأنظمة الملفات ext2 و ext3.
اطبع معلومات التنقيح عند كل عملية وصل (أو إعادة وصل).
حدد السلوك عند مواجهة خطأ. (إما تجاهل الأخطاء ومجرد تعليم نظام الملفات بأنه يحتوي على أخطاء والمتابعة، أو إعادة وصل نظام الملفات للقراءة فقط، أو الذعر وإيقاف النظام). يُعين المبدئي في الكتلة الفائقة لنظام الملفات، ويمكن تغييره باستخدام tune2fs(8).
تحدد هذه الخيارات معرف المجموعة الذي يحصل عليه الملف المنشأ حديثًا. عندما يُعين grpid، فإنه يأخذ معرف المجموعة للدليل الذي أُنشئ فيه؛ وإلا (المبدئي) فإنه يأخذ fsgid للعملية الحالية، ما لم يكن الدليل يحتوي على بت setgid معين، وفي هذه الحالة يأخذ gid من الدليل الأصل، ويحصل أيضًا على بت setgid معين إذا كان هو نفسه دليلًا.
يفعّل خيار الوصل usrquota (وهو نفس quota) دعم حصص المستخدمين على نظام الملفات. ويفعّل grpquota دعم حصص المجموعات. تحتاج إلى أدوات الحصص لتفعيل نظام الحصص وإدارته فعليًا.
يعطّل معرفات المستخدمين (UIDs) والمجموعات (GIDs) ذات 32 بايت. هذا من أجل التوافقية مع النوى الأقدم التي تخزن وتتوقع قيم 16 بايت فقط.
استخدم المخصص القديم أو مخصص أورلوف (Orlov) للآينودات الجديدة. أورلوف هو المبدئي.
يحجز نظام الملفات ext2 نسبة معينة من المساحة المتاحة (مبدئيًا 5%، انظر mke2fs(8) و tune2fs(8)). تحدد هذه الخيارات من يمكنه استخدام الكتل المحجوزة. (تقريبًا: كل من لديه uid المحدد، أو ينتمي إلى المجموعة المحددة.)
بدلاً من استخدام الكتلة الفائقة العادية، استخدم كتلة فائقة بديلة يحددها n. يُستخدم هذا الخيار عادةً عندما تتعرض الكتلة الفائقة الرئيسة للتلف. يعتمد موقع الكتل الفائقة الاحتياطية على حجم كتلة نظام الملفات، وعدد الكتل لكل مجموعة، وميزات مثل sparse_super.
يمكن تحديد الكتل المفرطة الاحتياطية الإضافية باستخدام برنامج mke2fs عبر الخيار -n لطباعة أماكن وجود الكتل المفرطة، على افتراض تزويد mke2fs بمعطيات تتسق مع تخطيط نظام الملفات (مثل حجم الكتلة، الكتل لكل مجموعة، sparse_super، إلخ).
يستخدم رقم الكتلة هنا وحدات 1 ك. وبالتالي، إذا كنت تريد استخدام الكتلة المنطقية 32768 على نظام ملفات يحتوي على كتل بحجم 4 ك، فاستخدم "sb=131072".
ادعم الصفات الممتدة ".user" (أو لا تدعمها).

خيارات الوصل لـ ext3

نظام الملفات ext3 هو نسخة من نظام الملفات ext2 عُززت باليومية. وهو يدعم نفس الخيارات مثل ext2 بالإضافة إلى الإضافات التالية:

عندما تتغير الأرقام الرئيسة/الفرعية لجهاز اليومية الخارجي، تسمح هذه الخيارات للمستخدم بتحديد موقع اليومية الجديد. يُعرّف جهاز اليومية إما من خلال أرقامه الرئيسة/الفرعية الجديدة المرمزة في devnum، أو عبر مسار إلى الجهاز.
لا تُحمّل اليومية عند الوصل. لاحظ أنه إذا لم يُفصل نظام الملفات بشكل نظيف، فإن تخطي إعادة تشغيل اليومية سيؤدي إلى احتواء نظام الملفات على حالات عدم اتساق قد تؤدي إلى أي عدد من المشاكل.
يحدد وضع اليومية لبيانات الملفات. البيانات الوصفية تُسجل في اليومية دائمًا. لاستخدام أوضاع أخرى غير ordered على نظام الملفات الجذر، مرر الوضع إلى النواة كمعامل إقلاع، مثلًا rootflags=data=journal.
تُثبت جميع البيانات في اليومية قبل كتابتها في نظام الملفات الرئيس.
هذا هو الوضع المبدئي. تُجبر جميع البيانات مباشرة إلى نظام الملفات الرئيس قبل تثبيت بياناتها الوصفية في اليومية.
لا يُحافظ على ترتيب البيانات – قد تُكتب البيانات في نظام الملفات الرئيس بعد تثبيت بياناتها الوصفية في اليومية. يُشاع أن هذا الخيار هو الأعلى إنتاجية. وهو يضمن سلامة نظام الملفات الداخلية، ولكنه قد يسمح بظهور بيانات قديمة في الملفات بعد الانهيار واستعادة اليومية.
اطبع رسالة خطأ فقط إذا حدث خطأ في مخزن بيانات الملف المؤقت في الوضع المرتب.
أجهض الجريدة إذا حدث خطأ في مخزن بيانات الملف المؤقت في الوضع المرتب.
يعطّل / يفعّل هذا استخدام حواجز الكتابة في رمز jbd. القيمة barrier=0 تعطّل، و barrier=1 تفعّل (مبدئي). يتطلب هذا أيضًا مكدس إدخال/إخراج يمكنه دعم الحواجز، وإذا تلقى jbd خطأ في كتابة حاجز، فسيقوم بتعطيل الحواجز مرة أخرى مع تحذير. تفرض حواجز الكتابة ترتيبًا صحيحًا على القرص لإيداعات الجريدة، مما يجعل خبيئات الكتابة على الأقراص المتقلبة آمنة للاستخدام، مع وجود بعض التراجع في الأداء. إذا كانت أقراصك مدعومة ببطارية بطريقة أو بأخرى، فقد يؤدي تعطيل الحواجز إلى تحسين الأداء بأمان.
ابدأ تثبيت اليومية كل nrsec من الثواني. القيمة المبدئية هي 5 ثوانٍ. الصفر يعني المبدئي.
يفعّل سمات المستخدم الممتدة. انظر صفحة دليل attr(5).
بصرف النظر عن نظام الحصص القديم (كما في ext2،‏ jqfmt=vfsold المعروف أيضًا بحصص الإصدار 1)، يدعم ext3 أيضًا الحصص المجريدة (حصص الإصدار 2). يفعّل الخيار jqfmt=vfsv0 أو jqfmt=vfsv1 الحصص المجريدة. تتميز الحصص المجريدة بميزة أنه حتى بعد الانهيار لا يلزم فحص الحصص. عندما تُفعل ميزة نظام الملفات quota، تُستخدم الحصص المجريدة آليًا، ويُتجاهل خيار الوصل هذا.
بالنسبة للحصص المجريدة (jqfmt=vfsv0 أو jqfmt=vfsv1)، يلزم استخدام خياري الوصل usrjquota=aquota.user و grpjquota=aquota.group لإخبار نظام الحصص بملفات قاعدة بيانات الحصص التي يجب استخدامها. عندما تُفعل ميزة نظام الملفات quota، تُستخدم الحصص المجريدة آليًا، ويُتجاهل خيار الوصل هذا.

خيارات الوصل لـ ext4

نظام الملفات ext4 هو مستوى متقدم من نظام الملفات ext3 يتضمن تحسينات في القابلية للتوسع والموثوقية لدعم نظام ملفات كبير.

الخيارات journal_dev, journal_path, norecovery, noload, data, commit, orlov, oldalloc, [no]user_xattr, [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid, sysvgroups, resgid, resuid, sb, quota, noquota, nouid32, grpquota, usrquota, usrjquota, grpjquota, ومتوافقة خلفيًا مع ext3 أو ext2.

يفعّل الخيار journal_checksum حساب المجموع التدقيقي لمعاملات الجريدة. يسمح هذا لرمز الاسترداد في e2fsck والنواة باكتشاف الفساد في النواة. هذا التغيير متوافق وستتجاهله النوى الأقدم.
يمكن كتابة كتلة الإيداع على القرص دون انتظار كتل الواصفات. إذا فُعّل، فلن تتمكن النوى الأقدم من وصل الجهاز. سيفعّل هذا الخيار 'journal_checksum' داخليًا.
لهذه الخيارات نفس التأثير كما في ext3. أُضيف خيارا الوصل "barrier" و "nobarrier" من أجل الاتساق مع خيارات وصل ext4 الأخرى.

يفعل نظام الملفات ext4 حواجز الكتابة مبدئيًا.

يتحكم معامِل الضبط هذا في الحد الأقصى لعدد كتل جدول الآينودات التي خوارزمية القراءة المسبقة لجدول آينودات ext4 ستقرؤها مسبقًا في خبيئة المخزن المؤقت. يجب أن تكون القيمة قوة للعدد 2. القيمة المبدئية هي 32 كتلة.
عدد كتل نظام الملفات التي سيحاول mballoc استخدامها لحجم التخصيص والمحاذاة. بالنسبة لأنظمة RAID5/6، يجب أن يكون هذا عدد أقراص البيانات * حجم قطعة RAID في كتل نظام الملفات.
تأجيل تخصيص الكتل حتى وقت الكتابة الفعلي.
يعطّل التخصيص المؤجل. تُخصص الكتل عندما تُنسخ البيانات من المستخدم إلى خبيئة الصفحة.
أقصى مقدار من الوقت يجب أن ينتظره ext4 لتجميع عمليات نظام الملفات الإضافية معًا مع عملية كتابة متزامنة. نظراً لأن عملية الكتابة المتزامنة ستجبر على الإيداع ثم الانتظار لاكتمال الإدخال/الإخراج، فإنها لا تكلف الكثير، ويمكن أن تشكل كسباً ضخماً للإنتاجية، فإننا ننتظر لفترة قصيرة من الوقت لمعرفة ما إذا كانت هناك أي معاملات أخرى يمكنها الركوب مجانًا مع الكتابة المتزامنة. الخوارزمية المستخدمة مصممة للضبط آليًا حسب سرعة القرص، وذلك عبر قياس مقدار الوقت (في المتوسط) الذي يستغرقه إنهاء إيداع المعاملة. يُطلق على هذا الوقت اسم "وقت الإيداع". إذا كان الوقت الذي استغرقته المعامل في التشغيل أقل من وقت الإيداع، فسيحاول ext4 النوم لوقت الإيداع لمعرفة ما إذا كانت العمليات الأخرى ستنضم إلى المعاملة. يُحد وقت الإيداع بواسطة max_batch_time، والذي قيمته المبدئية 15000 µs ‏(15 ملي ثانية). يمكن إيقاف هذا التحسين تمامًا عبر ضبط max_batch_time إلى 0.
يضبط هذا المعامل وقت الإيداع (كما هو موضح أعلاه) ليكون على الأقل min_batch_time. وقيمته المبدئية صفر ميكروثانية. قد يؤدي زيادة هذا المعامل إلى تحسين إنتاجية أعباء العمل المتزامنة متعددة الخيوط على الأقراص السريعة جدًا، على حساب زيادة زمن الاستجابة.
أولوية الإدخال/الإخراج (من 0 إلى 7، حيث 0 هي الأولوية الأعلى) التي يجب استخدامها لعمليات الإدخال/الإخراج المقدمة بواسطة kjournald2 أثناء عملية التثبيت. يكون هذا مبدئيًا 3، وهي أولوية أعلى قليلاً من أولوية الإدخال/الإخراج المبدئية.
أحبط
حاكي تأثيرات استدعاء ext4_abort() لأغراض التنقيح. يُستخدم هذا عادةً أثناء إعادة وصل نظام ملفات موصول بالفعل.
لا تستخدم العديد من التطبيقات المعطوبة fsync() عند استبدال الملفات الموجودة عبر أنماط مثل

fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo")

أو الأسوأ من ذلك

fd = open("foo", O_TRUNC)/write(fd,...)/close(fd).

إذا فُعّل الخيار auto_da_alloc، سيكتشف ext4 نمطي الاستبدال عبر إعادة التسمية والاستبدال عبر البتر ويفرض تخصيص أي كتل تخصيص مؤجلة بحيث يُجبر إرسال كتل البيانات للملف الجديد إلى القرص قبل إرسال عملية rename()، وذلك في وضع data=ordered المبدئي عند إيداع الجريدة التالي. يوفر هذا تقريبًا نفس مستوى الضمانات الذي يوفره ext3، ويتجنب مشكلة "الطول الصفري" التي يمكن أن تحدث عندما ينهار النظام قبل إجبار كتل التخصيص المؤجلة إلى القرص.

لا تهيئ أي كتل جدول آينودات غير مهيأة في الخلفية. يمكن استخدام هذه الميزة بواسطة الأقراص المدمجة للتثبيت بحيث تكتمل عملية التثبيت بأسرع ما يمكن؛ ثم تؤجل عملية تهيئة جدول الآينودات حتى المرة القادمة التي يُوصل فيها نظام الملفات.
ينتظر رمز تهيئة itable الكسول n من المرات مضروبًا في عدد الملي ثانية التي استغرقها تصفير جدول الآينودات لمجموعة الكتل السابقة. يقلل هذا من الأثر على أداء النظام أثناء تهيئة جدول آينودات نظام الملفات.
يتحكم في ما إذا كان ينبغي لـ ext4 إصدار أوامر الإهمال/TRIM إلى الجهاز الكتلي الأساسي عند تحرير الكتل. يفيد هذا أجهزة SSD ووحدات LUN خفيفة التخصيص/المخلخلة، ولكنه معطل مبدئيًا حتى يكتمل الاختبار الكافي.
يفعّل/يعطّل هذا الخيار الميزة المضمنة في النواة لتتبع كتل البيانات الوصفية لنظام الملفات داخل بنيات البيانات الداخلية. يتيح هذا لمخصص الكتل المتعددة والروتينات الأخرى تحديد موقع المديات التي قد تتداخل مع كتل البيانات الوصفية لنظام الملفات بسرعة. يستهدف هذا الخيار أغراض التنقيح، وبما أنه يؤثر سلبًا على الأداء، فإنه معطل مبدئيًا.
يتحكم في ما إذا كان ينبغي لـ ext4 استخدام قفل قراءة DIO أم لا. إذا حُدد الخيار dioread_nolock، فسيخصص ext4 مدى غير مهيأ قبل كتابة المخزن المؤقت ويحول المدى إلى مهيأ بعد اكتمال الإدخال/الإخراج. يتيح هذا النهج لرمز ext4 تجنب استخدام ميوتمس الآينود، مما يحسن القابلية للتوسع على وسائط التخزين عالية السرعة. ومع ذلك، لا يعمل هذا مع جريدة البيانات وسيُتجاهل الخيار dioread_nolock مع تحذير من النواة. لاحظ أن مسار رمز dioread_nolock يستخدم فقط للملفات القائمة على المديات. ونظرًا للقيود التي ينطوي عليها هذا الخيار، فإنه معطل مبدئيًا (مثل dioread_lock).
يحد هذا من حجم الأدلة بحيث تتسبب أي محاولة لتوسيعها بما يتجاوز الحد المحدد بالكيلوبايت في حدوث خطأ ENOSPC. يفيد هذا في البيئات محدودة الذاكرة، حيث يمكن أن يتسبب الدليل الكبير جدًا في حدوث مشكلات أداء خطيرة أو حتى استدعاء قاتل نقص الذاكرة. (على سبيل المثال، إذا لم يتوفر سوى 512 MiB من الذاكرة، فقد يؤدي دليل بحجم 176 MiB إلى تقييد أداء النظام بشكل خطير.)
يفعّل دعم إصدار آينود 64-بت. هذا الخيار معطل مبدئيًا.
يعطّل هذا الخيار استخدام mbcache لإلغاء تكرار السمات الممتدة. في الأنظمة التي نادرًا ما تُتشارك فيها السمات الممتدة بين الملفات أو لا تُتشارك أبدًا، يضيف استخدام mbcache لإلغاء التكرار عبئًا حسابيًا غير ضروري.
يفعّل خيار الوصل prjquota دعم حصص المشروع على نظام الملفات. تحتاج إلى أدوات الحصص لتفعيل نظام الحصص وإدارته فعليًا. يتطلب خيار الوصل هذا ميزة نظام الملفات project.

سمات الملف

تدعم أنظمة الملفات ext2 و ext3 و ext4 ضبط سمات الملفات التالية على أنظمة لينكس باستخدام أداة chattr(1):

a - إلحاق فقط

A - لا تحديثات لـ atime

d - لا تفريغ

D - تحديثات الأدلة المتزامنة

i - غير قابل للتغيير

S - تحديثات متزامنة

u - غير قابل للحذف

بالإضافة إلى ذلك، يدعم نظاما الملفات ext3 و ext4 العلامة التالية:

j - جريدة البيانات

أخيرًا، يدعم نظام الملفات ext4 أيضًا العلامة التالية:

e - تنسيق المديات

للحصول على أوصاف لأعلام السمات هذه، يرجى الرجوع إلى صفحة الدليل chattr(1).

دعم النواة

يسرد هذا القسم تعريف نظام الملفات (مثل ext2 و ext3 و ext4) وإصدار النواة الرئيسي الذي دُعمت فيه ميزة معينة لنظام الملفات. لاحظ أنه في بعض الحالات كانت الميزة موجودة في إصدارات نواة سابقة، ولكن كانت هناك علل خطيرة معروفة. وفي حالات أخرى، قد لا تزال الميزة في حالة تجريبية. أخيرًا، لاحظ أن بعض التوزيعات قد تكون نقلت الميزات خلفيًا إلى نوى أقدم؛ لا سيما إصدارات النواة في "توزيعات المؤسسات" المعينة يمكن أن تكون مضللة للغاية.

ext2, 2.2.0
ext2, 2.2.0
ext2, 2.2.0
ext3, 2.4.15
ext2/ext3, 2.6.0
ext3, 2.6.0
ext3, 2.6.10 (تغيير الحجم المتصل)
64bit
ext4, 2.6.28
ext4, 2.6.28
ext4, 2.6.28
ext4, 2.6.28
ext4, 2.6.28
ext4, 2.6.28
ext4, 2.6.28
ext4, 2.6.28
ext4, 3.0
ext4, 3.2
ext4, 3.6
ext4, 3.8
ext4, 3.16
ext4, 3.18
ext4, 4.1
ext4, 4.4
ext4, 4.5
ext4, 4.13
ext4, 4.13
ext4, 5.2
ext4, 5.4
ext4, 5.5

انظر أيضًا

mke2fs(8), mke2fs.conf(5), e2fsck(8), dumpe2fs(8), tune2fs(8), debugfs(8), mount(8), chattr(1)

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

يوليو 2025 E2fsprogs إصدارة 1.47.3