FSTRIM(8) إدارة النظام FSTRIM(8)

الاسم

fstrim - نبذ الكتل غير المستخدمة في نظام ملفات موصول

موجز

fstrim [-v] [-o إزاحة] [-l طول] [-m أدنى-حجم] -A|-a|نقطة-الوصل

الوصف

يُستخدم fstrim في نظام ملفات موصول لنبذ (أو "تقليم") الكتل التي لا يستخدمها نظام ملفات. هذا مفيد للأقراص ذات الحالة الثابتة (SSDs) والتخزين ذو التخصيص الرقيق (thinly-provisioned).

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

وسيط نقطة-الوصل هو مسار الدليل حيث وُصل نظام الملفات وهو مطلوب عندما لا يتم تحديد -A أو -a أو --fstab أو --all.

تشغيل fstrim بشكل متكرر، أو حتى استخدام mount -o discard، قد يؤثر سلباً على العمر الافتراضي لأجهزة SSD ذات الجودة المنخفضة. بالنسبة لمعظم الأنظمة المكتبية والخوادم، يكفي إجراء التقليم مرة في الأسبوع. لاحظ أن ليس كل الأجهزة تدعم التقليم المجدول (queued trim)، لذا فإن كل أمر تقليم يتسبب في خفض الأداء لأي شيء آخر قد يحاول استخدام القرص في ذلك الوقت.

الخيارات

يمكن أن تتبع وسائط إزاحة و طول و أدنى-حجم لواحق مضاعفة KiB (=1024) و MiB (=1024*1024) وهكذا لـ GiB و TiB و PiB و EiB و ZiB و YiB (الـ "iB" اختيارية، مثلاً "K" لها نفس معنى "KiB") أو اللواحق KB (=1000) و MB (=1000*1000) وهكذا لـ GB و TB و PB و EB و ZB و YB.

-A, --fstab

يُجري عملية التشذيب (Trim) لكافة أنظمة الملفات الموصولة المذكورة في /etc/fstab على الأجهزة التي تدعم عملية الإهمال (discard). يُحدّد نظام ملفات الجذر من سطر أوامر النواة في حال غيابه عن الملف. تُطبّق الخيارات الأخرى الموفرة، مثل --offset و --length و --minimum، على كافة هذه الأجهزة. تُتجاهل بصمت الأخطاء الناتجة عن أنظمة الملفات التي لا تدعم عملية الإهمال، أو الأجهزة للقراءة فقط، أو autofs، أو أنظمة الملفات للقراءة فقط. وتُخطّى أنظمة الملفات التي تحتوي على خيار الوصل "X-fstrim.notrim".

-a, --all

يُجري عملية التشذيب لكافة أنظمة الملفات الموصولة على الأجهزة التي تدعم عملية الإهمال. تُطبّق الخيارات الأخرى الموفرة، مثل --offset و --length و --minimum، على كافة هذه الأجهزة. تُتجاهل بصمت الأخطاء الناتجة عن أنظمة الملفات التي لا تدعم عملية الإهمال، أو الأجهزة للقراءة فقط، أو أنظمة الملفات للقراءة فقط.

-n, --dry-run

يؤدي هذا الخيار كل شيء باستثناء استدعاء FITRIM ioctl فعلياً.

-o, --offset إزاحة

إزاحة البايت في نظام الملفات التي يبدأ من عندها البحث عن الكتل الحرة لإهمالها. القيمة المبدئية هي صفر، بدءاً من بداية نظام الملفات.

-l, --length طول

عدد البايتات (بعد نقطة البداية) للبحث عن الكتل الحرة لتجاهلها. إذا تجاوزت القيمة المحددة نهاية نظام ملفات، سيتوقف fstrim عند حدود حجم نظام ملفات. تمتد القيمة المبدئية إلى نهاية نظام ملفات.

-I, --listed-in قائمة

يُحدد قائمة ملفات مفصولة بنقطتين {colon} بتنسيق fstab أو mountinfo الخاص بالنواة. تُتجاهل كافة الملفات المفقودة أو الفارغة بصمت. يتوقف تقييم القائمة قائمة بعد أول ملف غير فارغ. على سبيل المثال:

--listed-in /etc/fstab:/proc/self/mountinfo.

تُخطّى أنظمة الملفات التي تستخدم خيار الوصل "X-fstrim.notrim" في fstab.

-m, --minimum أدنى-حجم

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

-t، --types قائمة

يُحدد أنواع أنظمة الملفات المسموحة أو المحظورة عند استخدامه مع --all أو --fstab. الـ قائمة هي قائمة بأسماء أنظمة الملفات مفصولة بفاصلة. تتبع القائمة طريقة تقييم أنماط الأنواع في mount -t. يُسمح فقط بأنواع أنظمة الملفات المحددة. وتُحظر كافة الأنواع المحددة إذا كانت القائمة مسبوقة بـ "no" أو إذا سُبق كل نظام ملفات بـ "no". إذا لم يُستخدم هذا الخيار، فإن كافة أنظمة الملفات (باستثناء "autofs") تكون مسموحة.

-v, --verbose

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

سيُبلّغ fstrim عن نفس عدد بايتات الإهمال المحتملة في كل مرة، ولكن فقط القطاعات التي كُتب عليها بين عمليات الإهمال هي التي سيُتخلص منها فعلياً بواسطة جهاز التخزين. علاوة على ذلك، تحتفظ طبقة الكتل في النواة بالحق في ضبط نطاقات الإهمال لتناسب هندسة شرائح RAID، أو الأجهزة غير القادرة على التشذيب في إعداد LVM، وما إلى ذلك. ولن تنعكس هذه التقليصات في fstrim_range.len (خيار --length).

--quiet-unsupported

اكتم رسائل الخطأ إذا كانت عملية trim ‏(ioctl) غير متاحة. هذا الخيار مخصص ليُستخدم في ملف خدمة systemd أو في سكريبتات cron(8) لإخفاء التحذيرات التي هي نتيجة لمشاكل معروفة، مثل إبلاغ تعريف NTFS عن Bad file descriptor عندما يُوصل الجهاز للقراءة فقط، أو نقص دعم نظام الملفات لنداء ioctl FITRIM. هذا الخيار ينظف أيضاً حالة الخروج عند تحديد نظام ملفات غير متاح في سطر الأوامر لـ fstrim.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

حالة الخروج

0

نجاح

1

فشل

32

فشل الكل

64

نُفذت بعض عمليات تجاهل (discard) نظام ملفات بنجاح، وفشل بعضها

يعيد الأمر fstrim --all القيمة 0 (نجح الكل)، أو 32 (فشل الكل) أو 64 (فشل البعض، ونجح البعض).

المؤلفين

Lukas Czerner <lczerner@redhat.com>, Karel Zak <kzak@redhat.com>

انظر أيضاً

blkdiscard(8)، و mount(8)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.

التوفر

الأمر fstrim جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1