xfs(5)

الاسم
xfs - تخطيط وخيارات الوصل وسمات الملف المدعومة لنظام ملفات XFS

الوصف
يمكن لنظام ملفات XFS الإقامة على قسم قرص عادي أو على وحدة تخزين منطقية. يتكون نظام ملفات XFS من ثلاثة أجزاء كحد أقصى: قسم بيانات وقسم سجل وقسم زمن حقيقي. باستخدام خيارات mkfs.xfs(8) المبدئية، يكون قسم الزمن الحقيقي غائبًا، وتكون منطقة السجل مضمنة داخل قسم البيانات. يمكن أن يكون قسم السجل منفصلاً عن قسم البيانات أو مضمنًا فيه. تُقسم أقسام نظام الملفات إلى عدد معين من الكتل، يُحدد حجمها في وقت mkfs.xfs(8) باستخدام الخيار -b.

يحتوي قسم البيانات على جميع بيانات تعريف نظام الملفات (عُقد الفهرس والأدلة والكتل غير المباشرة) بالإضافة إلى بيانات ملف المستخدم للملفات العادية (غير الزمن الحقيقي) ومنطقة السجل إذا كان السجل داخليًا لقسم البيانات. يُقسم قسم البيانات إلى عدد من مجموعات التخصيص. يُختار عدد وحجم مجموعات التخصيص بواسطة mkfs.xfs(8) بحيث يكون هناك عادةً عدد صغير من المجموعات متساوية الحجم. يتحكم عدد مجموعات التخصيص في مقدار التوازي المتاح في تخصيص الملفات والكتل. يجب زيادته عن المبدئي إذا كانت الذاكرة كافية وكان هناك نشاط تخصيص كبير. لا ينبغي تعيين عدد مجموعات التخصيص عاليًا جدًا، لأن هذا قد يتسبب في استخدام كميات كبيرة من وقت وحدة المعالجة المركزية بواسطة نظام الملفات، خاصةً عندما يكون نظام الملفات ممتلئًا تقريبًا. تُضاف مجموعات تخصيص إضافية (من الحجم الأصلي) عند تشغيل xfs_growfs(8).

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

يُستخدم قسم الزمن الحقيقي لتخزين بيانات ملفات الزمن الحقيقي. كانت لهذه الملفات بت سمة مُعينة عبر xfsctl(3) بعد إنشاء الملف، قبل كتابة أي بيانات إلى الملف. يُقسم قسم الزمن الحقيقي إلى عدد من الامتدادات ذات حجم ثابت (مُحدد في وقت mkfs.xfs(8)). كل ملف في قسم الزمن الحقيقي له حجم امتداد يكون مضاعفًا لحجم امتداد قسم الزمن الحقيقي.

تحتوي كل مجموعة تخصيص على عدة هياكل بيانات. يحتوي القطاع الأول على الكتلة الفائقة. بالنسبة لمجموعات التخصيص بعد الأولى، تكون الكتلة الفائقة مجرد نسخة ولا تُحدث بعد mkfs.xfs(8). تحتوي القطاعات الثلاثة التالية على معلومات لتخصيص الكتل وعُقد الفهرس داخل مجموعة التخصيص. تحتوي أيضًا داخل كل مجموعة تخصيص على هياكل بيانات لتحديد موقع الكتل وعُقد الفهرس الحرة؛ تُحدد هذه من خلال هياكل الرأس.

يُوسم كل نظام ملفات XFS بمعرف فريد عالمي (UUID). يُخزن UUID في كل رأس مجموعة تخصيص ويُستخدم للمساعدة في تمييز نظام ملفات XFS عن آخر، لذلك يجب تجنب استخدام dd(1) أو برامج النسخ كتلة بكتلة الأخرى لنسخ أنظمة ملفات XFS. إذا كان لنظامي ملفات XFS على نفس الجهاز نفس UUID، فقد يصبح xfsdump(8) مشوشًا عند إجراء التفريغات المتزايدة والمستأنفة. يُوصى باستخدام xfsdump(8) و xfsrestore(8) لعمل نسخ من أنظمة ملفات XFS. لوصل لقطة لنظام ملفات موصول بالفعل، قد تحتاج إلى توفير الخيار nouuid لـ mount(8).

العمليات
بعض الوظائف الخاصة بنظام ملفات XFS يمكن للتطبيقات الوصول إليها من خلال واجهات xfsctl(3) وبالمقبض (انظر open_by_handle(3)).

خيارات الوصل
يمكن استخدام خيارات الوصل الخاصة بـ XFS التالية عند وصل نظام ملفات XFS. يمكن أيضًا استخدام خيارات عامة أخرى؛ راجع صفحة دليل mount(8) لمزيد من التفاصيل.

allocsize=size
    يُعين حجم التخصيص المسبق لنهاية الملف للإدخال/الإخراج المخزن عند إجراء كتابة التخصيص المؤجل. القيم الصالحة لهذا الخيار هي من حجم الصفحة (عادةً 4KiB) حتى 1GiB، شاملاً، بزيادات قوى 2.

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

attr2|noattr2
    ملاحظة: هذه الخيارات مهملة اعتبارًا من نواة v5.10؛ سيُزال الخيار noattr2 في موعد لا يتجاوز سبتمبر 2025 وسيكون الخيار attr2 مبدئيًا غير قابل للتغيير.

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

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

    أنظمة الملفات المُمكّنة بـ CRC تستخدم دائمًا تنسيق attr2، وبالتالي سترفض خيار الوصل noattr2 إذا تم تعيينه.

dax=value
    يُعين سلوك الوصول المباشر لوحدة المعالجة المركزية (DAX) لنظام الملفات الحالي. يقبل خيار الوصل هذا القيم التالية:

    "dax=inode" سيُفعّل DAX فقط على الملفات العادية التي طُبق عليها FS_XFLAG_DAX.

    "dax=never" لن يُفعّل DAX لأي ملفات. سيُتجاهل FS_XFLAG_DAX.

    "dax=always" سيُفعّل DAX لجميع الملفات العادية، بغض النظر عن حالة FS_XFLAG_DAX.

    إذا لم يُستخدم أي خيار عند وصل نظام ملفات مخزن على جهاز قادر على DAX، سيُستخدم dax=inode كمبدئي.

    للحصول على تفاصيل حول سلوك DAX في النواة، يُرجى الرجوع إلى توثيق النواة في filesystems/dax.txt

discard|nodiscard
    تمكين/تعطيل إصدار الأوامر للسماح لجهاز الكتلة باستعادة المساحة المحررة بواسطة نظام الملفات. هذا مفيد لأجهزة SSD، وLUNs المزوّدة بشكل ضئيل، وصور الآلات الافتراضية، لكن قد يكون له تأثير على الأداء.

    ملاحظة: يُوصى حاليًا باستخدام تطبيق fstrim لتجاهل الكتل غير المستخدمة بدلاً من خيار التوصيل discard لأن تأثير هذا الخيار على الأداء شديد جدًا. لهذا السبب، nodiscard هو المبدئي.

grpid|bsdgroups|nogrpid|sysvgroups
    تحدد هذه الخيارات معرف المجموعة الذي يحصل عليه ملف منشأ حديثًا. عند تعيين grpid، يأخذ معرف المجموعة للدليل الذي أنشئ فيه؛ وإلا يأخذ fsgid للعملية الحالية، ما لم يكن للدليل بت setgid مضبوطًا، وفي هذه الحالة يأخذ gid من الدليل الأصلي، ويحصل أيضًا على بت setgid مضبوطًا إذا كان هو نفسه دليلًا.

filestreams
    يجعل مخصص البيانات يستخدم وضع تخصيص filestreams عبر نظام الملفات بأكمله بدلاً من الأدلة المكونة لاستخدامه فقط.

ikeep|noikeep
    ملاحظة: هذه الخيارات مهملة اعتبارًا من النواة v5.10؛ سيتم إزالة خيار noikeep في موعد لا يتجاوز سبتمبر 2025 وسيكون خيار ikeep مبدئيًا غير قابل للتغيير.

    عند تحديد ikeep، لا يحذف XFS مجموعات inode الفارغة ويبقيها على القرص. عند تحديد noikeep، تُعاد مجموعات inode الفارغة إلى تجمع المساحة الحرة. noikeep هو المبدئي.

inode32|inode64
    عند تحديد inode32، يشير ذلك إلى أن XFS يحدد إنشاء inode إلى المواقع التي لن تؤدي إلى أرقام inode بأكثر من 32 بتًا من الأهمية.

    عند تحديد inode64، يشير ذلك إلى أن XFS مسموح له بإنشاء inodes في أي موقع في نظام الملفات، بما في ذلك تلك التي ستؤدي إلى أرقام inode تشغل أكثر من 32 بتًا من الأهمية.

    يُوفّر inode32 للتوافق مع الأنظمة والتطبيقات القديمة، لأن أرقام inode ذات 64 بتًا قد تسبب مشاكل لبعض التطبيقات التي لا تستطيع التعامل مع أرقام inode الكبيرة. إذا كانت التطبيقات قيد الاستخدام لا تتعامل مع أرقام inode أكبر من 32 بتًا، فيجب تحديد خيار inode32.

    بالنسبة للنواة v3.7 والإصدارات الأحدث، inode64 هو المبدئي.

largeio|nolargeio
    إذا تم تحديد "nolargeio"، سيكون الإدخال/الإخراج الأمثل المُبلغ عنه في st_blksize بواسطة stat(2) صغيرًا قدر الإمكان للسماح لتطبيقات المستخدم بتجنب الإدخال/الإخراج غير الفعال للقراءة/التعديل/الكتابة. هذا عادةً هو حجم الصفحة للجهاز، حيث أن هذا هو دقة خبيئة الصفحة.

    إذا تم تحديد "largeio"، سيعيد نظام الملفات الذي أنشئ مع تحديد "swidth" قيمة "swidth" (بالبايت) في st_blksize. إذا لم يكن لنظام الملفات "swidth" محدد لكنه يحدد "allocsize"، فسيتم إرجاع "allocsize" (بالبايت) بدلاً من ذلك. وإلا، سيكون السلوك مماثلاً كما لو تم تحديد "nolargeio". nolargeio هو المبدئي.

logbufs=value
    اضبط عدد مخازن السجل في الذاكرة. الأرقام الصالحة تتراوح من 2 إلى 8 شاملة.

    القيمة المبدئية هي 8 مخازن.

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

logbsize=value
    اضبط حجم كل مخزن سجل في الذاكرة. قد يُحدد الحجم بالبايت، أو بالكيبابايت (KiB) مع لاحقة "k". إذا تم ضبطه يدويًا، يجب أن يكون logbsize واحدًا من الأحجام الصالحة المحددة ومضاعفًا لوحدة شريط السجل - المكونة في وقت mkfs.

    الأحجام الصالحة لسجلات الإصدار 1 والإصدار 2 هي 16384 (قيمة=16k) و32768 (قيمة=32k). الأحجام الصالحة لسجلات الإصدار 2 تشمل أيضًا 65536 (قيمة=64k)، 131072 (قيمة=128k) و262144 (قيمة=256k).

    القيمة المبدئية لسجلات الإصدار 1 هي 32768، بينما القيمة المبدئية لسجلات الإصدار 2 هي max(32768, log_sunit) حتى لو لم يتطابق log_sunit مع إحدى القيم الصالحة أعلاه.

logdev=device و rtdev=device
    استخدم سجلًا خارجيًا (دفتر يوميات البيانات الوصفية) و/أو جهاز زمن حقيقي. يتكون نظام ملفات XFS من ما يصل إلى ثلاثة أجزاء: قسم بيانات، وقسم سجل، وقسم زمن حقيقي. قسم الزمن الحقيقي اختياري، ويمكن أن يكون قسم السجل منفصلاً عن قسم البيانات أو موجودًا داخله.

noalign
    لن تتم محاذاة تخصيصات البيانات عند حدود وحدات الشريط. هذا ينطبق فقط على أنظمة الملفات المنشأة بمعاملات محاذاة بيانات غير صفرية (sunit, swidth) بواسطة mkfs.

norecovery
    سيتم وصل نظام الملفات دون تشغيل استرداد السجل. إذا لم يتم فك وصل نظام الملفات بشكل نظيف، فمن المحتمل أن يكون غير متناسق عند الوصل في وضع "norecovery". قد لا تكون بعض الملفات أو الدلائل قابلة للوصول بسبب ذلك. يجب وصل أنظمة الملفات الموصولة بـ "norecovery" للقراءة فقط أو سيفشل الوصل.

nouuid
    لا تتحقق من أنظمة الملفات الموصولة مزدوجًا باستخدام uuid نظام الملفات. هذا مفيد لوصل وحدات تخزين لقطات LVM، وغالبًا ما يُستخدم مع "norecovery" لوصل اللقطات للقراءة فقط.

noquota
    يقوم بإيقاف جميع محاسبة الحصص وإنفاذها داخل نظام الملفات قسرًا.

uquota/usrquota/quota/uqnoenforce/qnoenforce
    تمكين محاسبة حصة القرص للمستخدم، وإنفاذ الحدود (اختياريًا). راجع xfs_quota(8) لمزيد من التفاصيل.

gquota/grpquota/gqnoenforce
    تمكين محاسبة حصة القرص للمجموعة وإنفاذ الحدود (اختياريًا). راجع xfs_quota(8) لمزيد من التفاصيل.

pquota/prjquota/pqnoenforce
    تمكين محاسبة حصة القرص للمشروع وإنفاذ الحدود (اختياريًا). راجع xfs_quota(8) لمزيد من التفاصيل.

sunit=value and swidth=value
    يُستخدم لتحديد وحدة الشريط وعرضه لجهاز RAID أو حجم شريطي. يجب تحديد "القيمة" بوحدات كتل بحجم 512 بايت. هذه الخيارات تنطبق فقط على أنظمة الملفات المنشأة بمعاملات محاذاة بيانات غير صفرية.

    يجب أن تكون معاملات sunit و swidth المحددة متوافقة مع خصائص محاذاة نظام الملفات الحالي. بشكل عام، يعني ذلك أن التغييرات الصالحة الوحيدة لـ sunit هي زيادتها بمضاعف قوة 2. قيم swidth الصالحة هي أي مضاعف صحيح لقيمة sunit صالحة.

    عادةً، تكون خيارات الوصل هذه ضرورية فقط إذا تم تعديل هندسة جهاز RAID الأساسي، مثل إضافة قرص جديد إلى lun RAID5 وإعادة تشكيله.

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

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

خيارات الوصل المُزالة
تمت إزالة خيارات الوصل التالية من النواة، وستؤدي إلى فشل الوصل إذا تم تحديدها. يتم إهمال خيارات الوصل لفترة زمنية كبيرة قبل الإزالة.
الاسم | مُزال
---- | -------
delaylog/nodelaylog | v4.0
ihashsize | v4.0
irixsgid | v4.0
osyncisdsync/osyncisosync | v4.0
barrier/nobarrier | v4.19

سمات الملف
يدعم نظام ملفات XFS تعيين سمات الملف التالية على أنظمة Linux باستخدام الأداة chattr(1):

a - إلحاق فقط

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

d - لا تفريغ

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

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

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

انظر أيضًا
chattr(1), xfsctl(3), mount(8), mkfs.xfs(8), xfs_info(8), xfs_admin(8), xfsdump(8), xfsrestore(8).

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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