XFS

نظام الملفات XFS هو نظام ملفات عالي الأداء ذو ​​64 بت مع خاصية التسجيل، تم إنشاؤه بواسطة شركة Silicon Graphics, Inc (SGI) في عام 1993. [ 7 ] كان نظام الملفات الافتراضي في نظام التشغيل IRIX من SGI بدءًا من الإصدار 5.3. تم نقل XFS إلى نواة لينكس في عام 2001؛ اعتبارًا من يونيو 2014، يدعم XFS معظم توزيعات لينكس ؛ ويستخدمه نظام Red Hat Enterprise Linux كنظام الملفات الافتراضي.

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

تاريخ

الجيل الأول من نظام الملفات XFS

بدأت شركة سيليكون غرافيكس تطوير نظام الملفات XFS [ 8 ] (كان من المفترض إضافة حرف X لاحقًا، لكن ذلك لم يحدث) في عام 1993 لنظام التشغيل IRIX الخاص بها، والمبني على نظام UNIX System V. وتم إصدار نظام الملفات بموجب رخصة جنو العمومية (GPL) في مايو 1999. [ 9 ]

الجيل الثاني من نظام الملفات XFS

قام فريق بقيادة ستيف لورد في شركة SGI بنقل نظام الملفات XFS إلى نظام لينكس، [ 10 ] وجاء أول دعم من توزيعة لينكس في عام 2001. وأصبح هذا الدعم متاحًا تدريجيًا في جميع توزيعات لينكس تقريبًا. [ 11 ]

بدأ دعم نظام الملفات XFS في نواة لينكس من خلال تصحيحات من شركة SGI. دُمج هذا الدعم في نواة لينكس الرئيسية في سلسلة الإصدارات 2.6، ثم دُمج بشكل منفصل في فبراير 2004 في سلسلة الإصدارات 2.4 في الإصدار 2.4.25، [ 12 ] مما جعل نظام XFS متاحًا بشكل شبه كامل على أنظمة لينكس. [ 13 ] وأصبحت توزيعة جنتو لينكس أول توزيعة لينكس تُتيح خيار استخدام نظام XFS كنظام الملفات الافتراضي في منتصف عام 2002. [ 14 ]

أضاف نظام FreeBSD دعم القراءة فقط لنظام الملفات XFS في ديسمبر 2005، وفي يونيو 2006 قدم دعمًا تجريبيًا للكتابة. مع ذلك، كان الهدف من ذلك مجرد تسهيل عملية الانتقال من نظام Linux، وليس اعتماده كنظام ملفات رئيسي. وقد أزال نظام FreeBSD 10 دعم نظام XFS. [ 15 ]

في عام ٢٠٠٩، احتوت النسخة ٥.٤ من توزيعة لينكس Red Hat Enterprise Linux (RHEL) ذات ٦٤ بت على دعم النواة اللازم لإنشاء واستخدام أنظمة ملفات XFS، لكنها افتقرت إلى أدوات سطر الأوامر المقابلة. كانت الأدوات المتوفرة من CentOS تؤدي الغرض نفسه، كما وفرتها Red Hat لعملاء RHEL عند الطلب. [ ١٦ ] أما RHEL  ٦.٠، التي صدرت عام ٢٠١٠، فقد تضمنت دعم XFS مقابل رسوم كجزء من "إضافة نظام الملفات القابل للتوسع" من Red Hat. [ ١٧ ] كما تضمنت Oracle Linux ٦، التي صدرت عام ٢٠١١، خيار استخدام XFS. [ ١٨ ]

يستخدم نظام التشغيل RHEL  7.0، الذي صدر في يونيو 2014، نظام الملفات XFS كنظام الملفات الافتراضي، [ 19 ] بما في ذلك دعم استخدام XFS للقسم /boot، وهو أمر لم يكن عمليًا في السابق بسبب وجود أخطاء في برنامج الإقلاع GRUB . [ 20 ]

أضافت نواة لينكس 4.8 في أغسطس 2016 ميزة جديدة هي "الربط العكسي". تُشكل هذه الميزة أساسًا لمجموعة كبيرة من الميزات المخطط لها، مثل: اللقطات ، ونسخ البيانات عند الكتابة (COW)، وإزالة البيانات المكررة، ونسخ الروابط المرجعية، وتنظيف البيانات والبيانات الوصفية عبر الإنترنت ، والإبلاغ بدقة عالية عن فقدان البيانات أو القطاعات التالفة، وتحسين إعادة بناء أنظمة الملفات التالفة أو المعطوبة بشكل ملحوظ. تطلّب هذا العمل تغييرات في تنسيق XFS على القرص. [ 21 ] [ 22 ]

الجيل الثالث من نظام الملفات XFS

تم إيقاف دعم نظام الملفات XFS الإصدار 4. يجب إعادة تهيئة الأقسام باستخدام نظام الملفات XFS الإصدار 5.

تضمنت نواة لينكس 5.10، التي صدرت في ديسمبر 2020، تنسيق القرص الجديد XFS v5. شكّل هذا تحولًا جذريًا، إذ لا يمكن تحويل تنسيق XFS v4 القديم إلى XFS v5. يجب نسخ البيانات الموجودة على الأقسام المُهيأة بتنسيق XFS v4 احتياطيًا إلى قسم أو وسائط تخزين أخرى لاستعادتها بعد تهيئة القسم القديم بتنسيق XFS v5، الأمر الذي يمحو جميع البيانات الموجودة عليه نهائيًا. سيتم إزالة دعم XFS v4 من نواة لينكس في سبتمبر 2030. [ 23 ] [ 24 ]

قدّم نظام الملفات XFS v5 ميزة "bigtime" لتخزين الطوابع الزمنية للعقدة (inode) كعداد نانوثانية 64 بت بدلاً من عداد الثواني التقليدي 32 بت. يؤجل هذا الأمر مشكلة عام 2038 السابقة إلى عام 2486. [ 4 ] كما قدّم أيضًا ميزة التحقق من صحة البيانات الوصفية.

أوصى دليل Gentoo Handbook، وهو دليل التثبيت الرسمي لنظام Gentoo Linux ، بنظام الملفات XFS باعتباره "نظام الملفات متعدد الأغراض لجميع المنصات" منذ 28 يونيو 2023، خلفًا لنظام Ext4 . [ 25 ]

سمات

سعة

نظام الملفات XFS هو نظام 64 بت [ 26 ] ويدعم حجمًا أقصى لنظام الملفات يبلغ 8 إكسابايت ناقص بايت واحد (2^ 63  - 1 بايت)، ولكن القيود التي يفرضها نظام التشغيل المضيف قد تقلل هذا الحد. أنظمة لينكس 32 بت تحد من حجم كل من الملف ونظام الملفات إلى 16 تيرابايت .

تدوين اليوميات

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

يمكن تخزين سجل XFS داخل قسم البيانات في نظام الملفات (كسجل داخلي)، أو على جهاز منفصل لتقليل التنازع على القرص.

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

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

مجموعات التوزيع

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

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

تخصيص مخطط

إذا كان سيتم إنشاء نظام ملفات XFS على مصفوفة RAID مُقسّمة ، فيمكن تحديد وحدة التوزيع عند إنشاء نظام الملفات. وهذا يُحسّن الإنتاجية إلى أقصى حد من خلال ضمان توافق تخصيصات البيانات وتخصيصات العقد وسجل العمليات الداخلي (السجل) مع وحدة التوزيع.

التخصيص القائم على النطاق

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

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

أحجام كتل متغيرة

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

تخصيص متأخر

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

الملفات المتفرقة

يُوفّر نظام ملفات XFS مساحة عناوين متفرقة 64 بت لكل ملف، مما يسمح بأحجام ملفات كبيرة جدًا، بالإضافة إلى إمكانية وجود "فجوات" داخل الملفات لا تُخصّص لها مساحة على القرص. ولأن نظام الملفات يستخدم خريطة امتداد لكل ملف، فإن حجم خريطة تخصيص الملفات يبقى صغيرًا. وعندما يكون حجم خريطة التخصيص كبيرًا جدًا بحيث لا يمكن تخزينه داخل عقدة البيانات (inode)، تُنقل الخريطة إلى شجرة B+، مما يُتيح الوصول السريع إلى البيانات في أي مكان ضمن مساحة العناوين 64 بت المُخصصة للملف.

السمات الموسعة

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

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

يمكن إضافة سمات موسعة إلى أي نوع من أنواع عقد XFS، بما في ذلك الروابط الرمزية، وعقد الأجهزة، والمجلدات، وما إلى ذلك. attrيمكن استخدام الأداة المساعدة للتحكم في السمات الموسعة من سطر الأوامر، وتتعرف الأدوات المساعدة xfsdumpالأخرى xfsrestoreعلى هذه السمات، وتقوم بنسخ محتوياتها احتياطيًا واستعادتها. لا تدعم العديد من أنظمة النسخ الاحتياطي الأخرى التعامل مع السمات الموسعة.

الإدخال/الإخراج المباشر

بالنسبة للتطبيقات التي تتطلب معدل نقل بيانات عالٍ إلى القرص، يوفر نظام ملفات XFS آلية إدخال/إخراج مباشرة تسمح بتطبيق عمليات الإدخال/الإخراج غير المخزنة مؤقتًا مباشرةً على مساحة المستخدم. يتم نقل البيانات بين مخزن التطبيق المؤقت والقرص باستخدام تقنية الوصول المباشر إلى الذاكرة (DMA) ، مما يتيح الوصول إلى عرض النطاق الترددي الكامل للإدخال/الإخراج لأجهزة القرص الأساسية.

لقطات

لا يدعم نظام ملفات XFS حاليًا اللقطات بشكل مباشر [ 27 ] ، إذ يعتمد على مدير وحدات التخزين لتنفيذ عملية إنشاء اللقطات. تتضمن عملية إنشاء لقطة لنظام ملفات XFS إيقاف عمليات الإدخال/الإخراج مؤقتًا باستخدام الأداة xfs_freezeالمساعدة، ثم يقوم مدير وحدات التخزين بإنشاء اللقطة، وبعد ذلك يستأنف عمليات الإدخال/الإخراج لمتابعة العمليات الاعتيادية. يمكن بعد ذلك تحميل اللقطة للقراءة فقط لأغراض النسخ الاحتياطي.

تضمنت إصدارات نظام الملفات XFS في نظام IRIX مدير وحدات تخزين مدمجًا يُسمى XLV. لم يتم نقل مدير وحدات التخزين هذا إلى نظام Linux، ويعمل نظام XFS مع LVM القياسي في أنظمة Linux بدلاً من ذلك.

في نواة لينكس الحديثة، xfs_freezeتُنفَّذ هذه الوظيفة في طبقة نظام الملفات الافتراضي (VFS)، وتُشغَّل تلقائيًا عند استدعاء وظيفة اللقطات في مدير وحدات التخزين. كانت هذه ميزة قيّمة في السابق، إذ لم يكن بالإمكان تعليق نظام الملفات ext3 [ 28 ] ، ولم يكن مدير وحدات التخزين قادرًا على إنشاء لقطة "نشطة" متسقة لعمل نسخة احتياطية لقاعدة بيانات ذات استخدام مكثف [ 29 ] . لحسن الحظ، لم يعد هذا هو الحال. فمنذ إصدار لينكس 2.6.29، أصبحت أنظمة الملفات ext3 و ext4 و GFS2 و JFS تدعم ميزة التجميد أيضًا [ 30 ] .

إلغاء تجزئة الملفات عبر الإنترنت

على الرغم من أن طبيعة نظام الملفات XFS القائمة على الامتداد واستراتيجية التخصيص المؤجل التي يستخدمها تُحسّن بشكل كبير مقاومة نظام الملفات لمشاكل التجزئة، إلا أن XFS يوفر أداة لإلغاء تجزئة نظام الملفات ( xfs_fsrاختصارًا لـ XFS filesystem reorganizer) والتي يمكنها إلغاء تجزئة الملفات على نظام ملفات XFS مُثبّت ونشط. [ 31 ]

النمو عبر الإنترنت

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

جهاز يعمل في الوقت الحقيقي

يدعم نظام ملفات XFS جهازًا منفصلاً يُسمى جهاز الوقت الحقيقي، والذي يستخدم مُخصِّصًا بسيطًا مُحدَّدًا للخرائط النقطية بدلاً من مُخصِّص شجرة B+ الأكثر قابلية للتوسع ولكنه أكثر تعقيدًا، والذي يُستخدم عادةً في XFS [ 32 ] . أُضيف جهاز الوقت الحقيقي في الأصل لدعم معدل الإدخال/الإخراج المضمون، ولكن استُخدم لأغراض أخرى لاحقًا. اليوم، يتمثل الاستخدام الأكثر شيوعًا في وضع البيانات الوصفية على محركات أقراص الحالة الصلبة (SSD) مع وضع البيانات على محرك أقراص صلبة.

في نظام لينكس 4.9، أضاف نظام الملفات XFS دعمًا لمشاركة الكتل المتطابقة بين الملفات، مما يوفر طريقة سريعة لاستنساخ الملفات ويسمح لأدوات مساحة المستخدم بتنفيذ إزالة البيانات المكررة خارج النطاق . يتم تنفيذ دعم إعادة الربط باستخدام شجرة B+ جديدة لكل مجموعة تخصيص، تتعقب عدد المراجع لكل كتلة فعلية، وتغييرات في مسار الكتابة لتنفيذ النسخ عند الكتابة عند الكتابة فوق الكتل ذات عدد الكتل المرتفع. [ 33 ]

فحص نظام الملفات عبر الإنترنت والإصلاح الذاتي التلقائي

ابتداءً من إصدار لينكس 6.10، يدعم نظام ملفات XFS فحص وإصلاح جميع البيانات الوصفية عبر الإنترنت [ 34 ] . ولدعم إعادة بناء هياكل بيانات تتبع المساحة الحرة بكفاءة، أُضيفت شجرة B+ معكوسة (rmap) [ 33 ] ، ولتوفير بيانات وصفية زائدة لتسلسل الملفات، أُضيفت مؤشرات الأصل المخزنة كسمات موسعة [ 35 ] . ابتداءً من إصدار لينكس 7.0، يدعم نظام XFS الإصلاح الذاتي التلقائي استنادًا إلى هذه الميزات، حيث يبدأ برنامج xfs_healer عملية الإصلاح تلقائيًا عند الحاجة [ 36 ] .

منطقة XFS

أضاف نظام لينكس 6.15 مُخصِّصًا جديدًا للمناطق لدعم التخزين المُقسَّم إلى مناطق، بما في ذلك محركات الأقراص الصلبة التي تستخدم تقنية التسجيل المغناطيسي المتداخل (SMR) ومحركات أقراص الحالة الصلبة NVM Express SSD باستخدام مجموعة أوامر zoned [ 37 ] . يعمل مُخصِّص المناطق على جهاز الوقت الحقيقي ويخزن بيانات الملفات فقط. أما البيانات الوصفية فتستخدم مُخصِّص XFS الموجود على الجهاز الرئيسي. لدعم محركات الأقراص الصلبة SMR التي لا تستخدم مناطق تقليدية، يُضيف نظام XFS المُقسَّم إلى مناطق دعم لجهاز وقت حقيقي داخلي، حيث يقع الجهازان الرئيسي وجهاز الوقت الحقيقي على نفس وحدة تخزين لينكس. يكتب مُخصِّص المناطق دائمًا خارج مكانه، ويكتب دائمًا بالتسلسل [ 38 ] في عدد محدود من المناطق المفتوحة. ويتم إجراء عملية جمع البيانات المهملة لإخلاء الكتل الصالحة في المناطق المستخدمة جزئيًا لإنشاء مناطق حرة تُستخدم لمزيد من عمليات الكتابة. يمكن لنظام الملفات XFS المُقسّم إلى مناطق استخدام مناطق مفتوحة متعددة ويقوم بوضع البيانات بشكل ذكي، مما يؤدي إلى أداء أفضل من أنظمة الملفات الأخرى على التخزين المُقسّم إلى مناطق، بل ويتفوق على أنظمة الملفات التقليدية على محركات الأقراص الصلبة SSD العادية في بعض حالات الاستخدام [ 39 ] [ 40 ] .

ميزات خاصة بنظام IRIX فقط

DMAPI

نفّذ نظام الملفات XFS واجهة DMAPI لدعم إدارة التخزين الهرمي في نظام IRIX. اعتبارًا من أكتوبر 2010، كان تطبيق XFS في نظام Linux يدعم البيانات الوصفية المطلوبة على القرص لتنفيذ DMAPI، ولكن يُقال إن دعم النواة لم يكن قابلاً للاستخدام. لفترة من الزمن، استضافت SGI شجرة نواة تتضمن روابط DMAPI، ولكن لم يتم صيانة هذا الدعم بشكل كافٍ، على الرغم من أن مطوري النواة قد أعلنوا عن نيتهم ​​تحديث هذا الدعم. [ 41 ]

معدل إدخال/إخراج مضمون

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

لم يكن الإدخال/الإخراج ذو المعدل المضمون مدعومًا إلا في نظام IRIX ، وكان يتطلب أجهزة خاصة لهذا الغرض. [ 42 ]

عدم توافق بنية دليل IRIX

محاولة تثبيت وحدة تخزين IRIX XFS على نواة أحدث من 3.17 وكتابة البيانات عليها أو تشغيل أداة Fsck ستؤدي إلى تلف نظام الملفات. لا يزال نظام IRIX يعتمد على بنية الدليل v2، بينما قدم نظام XFS بنية الدليل v3-v5 في الإصدارات اللاحقة، ثم ألغى بنية الدليل v2 مع نواة 3.17 تقريبًا. [ 43 ] سيحدث فقدان للبيانات وتلفها على نواة لينكس الأحدث. [ 44 ]

العيوب

  • لا يمكن لأنظمة ملفات XFS ( اعتبارًا من ديسمبر 2023) [ 45 ] على الرغم من مناقشة العديد من الحلول البديلة الممكنة . [ 46 ]
  • لا يمكن تعطيل خاصية التسجيل. ومع ذلك، يمكن لنظام الملفات XFS الكتابة إلى سجل خارجي على جهاز تخزين منفصل بدلاً من ذلك. [ 47 ]

العيوب التاريخية

  • كانت عمليات البيانات الوصفية في نظام الملفات XFS أبطأ مقارنةً بأنظمة الملفات التي تعتمد على التسجيل، والتي طُورت لاحقًا وصُممت للعمل مع سجلات أكبر بكثير، مما أدى، على سبيل المثال، إلى تباطؤ الأداء في عمليات مثل حذف أعداد كبيرة من الملفات. ومع ذلك، يُقال إن ميزة جديدة في XFS، طُورت بواسطة ديف تشينر وتُسمى التسجيل المؤجل ، والمتاحة منذ الإصدار 2.6.39 من نواة لينكس الرئيسية، قد حلت هذه المشكلة؛ [ 48 ] وكشفت اختبارات الأداء التي أجراها المطور في عام 2010 أن مستويات الأداء مماثلة لنظام ext4 عند عدد قليل من الخيوط، ومتفوقة عند عدد كبير من الخيوط. [ 49 ]

انظر أيضاً

مراجع

  1. "GPT fdisk - ArchWiki" .
  2. "بنية نظام ملفات XFS، الطبعة الثانية، المراجعة 1" (ملف PDF) . صفحة 25. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 31-10-2017. 
  3. "ondisk_inode.asciidoc\XFS_Filesystem_Structure\design - xfs/xfs-documentation.git - XFS AsciiDoc Documentation tree" . git.kernel.org .
  4. 1 2 داريك ج. وونغ (2020-08-10). "xfs: توسيع الطوابع الزمنية للتعامل مع y2038" .
  5. "Duperemove" . GitHub . مؤرشف من الأصل في 6 مارس 2016. تم الاطلاع عليه في 21 أغسطس 2016 .
  6. https://www.phoronix.com/news/XFS-2019-Copy-On-Write-Better
  7. "xFS: امتداد EFS - "x" اختصارًا لـ "سيتم تحديده لاحقًا" (لكن الاسم بقي كما هو)" . XFS.org . مؤرشف من الأصل بتاريخ 14 يوليو 2014.
  8. سميث، رودريك و. (2007). مهارات مدير أنظمة لينكس العملية: دليل عملي لمهارات الحصول على شهادة لينكس . سلسلة المهارات العملية. جون وايلي وأولاده. ص 204. ISBN  9780470116746أُرشف من الأصل بتاريخ 21 أغسطس 2016. تم الاطلاع عليه بتاريخ 21 مارس 2016. أنشأت شركة سيليكون غرافيكس (SGI) نظام ملفات Extents (XFS) لنظام التشغيل IRIX الخاص بها، ثم تبرعت لاحقًا بالرمز البرمجي لنظام لينكس.
  9. "SGI تفتح مصدر XFS" . slashdot.org . 1999-05-19 . تم الاطلاع عليه بتاريخ 2023-04-12 .
  10. "نقل نظام الملفات XFS إلى لينكس" . Olstrans.SourceForge.net . 21-07-2000. مؤرشف من الأصل في 25-02-2013 . تم الاطلاع عليه في 29-04-2013 .
  11. تولان، فيرغوس؛ همفريز، جورجينا (مارس 2025). "إخفاء البيانات في نظام ملفات XFS" . التحقيق الرقمي لمعهد الأمن الفيدرالي . 52 301884. إلسيفير . doi : 10.1016/j.fsidi.2025.301884 .
  12. "سجل تغييرات نواة لينكس 2.4.25" . kernel.org . 18 فبراير 2004. مؤرشف من الأصل في 19 أغسطس 2014. تم الاطلاع عليه في 14 أغسطس 2014 .
  13. دانيال روبنز (1 يناير 2002). "الخيوط المشتركة: دليل تنفيذ أنظمة الملفات المتقدمة، الجزء 9، مقدمة إلى XFS" . أعمال المطورين . آي بي إم. مؤرشف من الأصل في 4 سبتمبر 2015. تم الاسترجاع في 6 نوفمبر 2011 .
  14. دانيال روبنز (1 أبريل 2002). "الخيوط المشتركة: دليل تنفيذ أنظمة الملفات المتقدمة، الجزء 10، نشر نظام الملفات XFS" . أعمال المطورين . شركة IBM. مؤرشف من الأصل في 24 ديسمبر 2011. تم الاطلاع عليه في 6 نوفمبر 2011 .
  15. "هل أسقط نظام FreeBSD 10 دعم نظام الملفات XFS؟" . Lists.freebsd.org . 27-10-2013. مؤرشف من الأصل في 30-03-2014 . تم الاطلاع عليه في 30-03-2014 .
  16. "الخطأ رقم 521173 - برنامج xfsprogs مفقود في RHEL-5.4" . RedHat.com . 24 مايو 2010. تم الاطلاع عليه في 6 نوفمبر 2011 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  17. "إضافة نظام الملفات القابل للتوسع لنظام Red Hat Enterprise Linux" . RedHat.com . مؤرشف من الأصل بتاريخ 29-05-2014 . تم الاطلاع عليه بتاريخ 22-05-2014 .
  18. "ملاحظات إصدار أوراكل لينكس 6" . شركة أوراكل. فبراير 2011. مؤرشف من الأصل بتاريخ 28 مارس 2012. تم الاطلاع عليه بتاريخ 7 أبريل 2013. يتضمن أوراكل لينكس 6 العديد من الميزات الجديدة، بما في ذلك [...] نظام الملفات XFS [:] يتضمن أوراكل لينكس 6 نظام الملفات XFS كنظام ملفات اختياري.
  19. "ريد هات تكشف النقاب عن ريد هات إنتربرايز لينكس 7، إعادة تعريف نظام تشغيل المؤسسات" . ريد هات . 10 يونيو 2014. مؤرشف من الأصل في 13 يونيو 2014. تم الاطلاع عليه في 10 يونيو 2014 .
  20. "الخطأ رقم 250843 - برنامج grub-install يتوقف على نظام الملفات xfs" . Redhat.com . 4 مايو 2009. تم الاطلاع عليه في 6 نوفمبر 2011 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  21. "kernel/git/torvalds/linux.git - شجرة مصدر نواة لينكس" . git.kernel.org .
  22. "Linux_4.8 - مبتدئو نواة لينكس" . مؤرشف من الأصل بتاريخ 19-10-2018 . تم الاطلاع عليه بتاريخ 19-10-2018 .
  23. "نظام ملفات XFS - وثائق هايكو الداخلية" .
  24. "نظام ملفات SGI XFS - وثائق نواة لينكس" .
  25. "الفرق بين مراجعات "دليل: الأجزاء/التثبيت/الأقراص" - ويكي جنتو" . wiki.gentoo.org . تم الاطلاع عليه بتاريخ 25-04-2024 .
  26. "نظرة عامة على نظام الملفات XFS" . شركة سيليكون جرافيكس إنترناشونال. 2013-07-02. مؤرشف من الأصل في 2013-06-06 . تم الاطلاع عليه في 2013-07-02 .
  27. إيدج، جيك (أبريل 2015). "XFS: ذهابًا وإيابًا... ثم ذهابًا مرة أخرى؟ [ LWN.net ] " . lwn.net . مؤرشف من الأصل بتاريخ 27-10-2016 . تم الاطلاع عليه بتاريخ 27-10-2016 .
  28. "كيفية تجميد نظام ملفات ext3" . www.linuxquestions.org . مؤرشف من الأصل بتاريخ 28-04-2011 . تم الاطلاع عليه بتاريخ 24-08-2011 .
  29. "لقطات LVM: كيفية الاستخدام؟" . www.linuxquestions.org . مؤرشف من الأصل بتاريخ 17 يناير 2011. تم الاطلاع عليه بتاريخ 17 أبريل 2010 .
  30. "kernel/git/torvalds/linux.git - شجرة مصدر نواة لينكس" . git.kernel.org .
  31. Bitubique.com مؤرشف في 1 أبريل 2009، على موقع Wayback Machine
  32. بابو، تشاندان (2 أبريل 2024). "نظام الملفات XFS: تتبع المساحة على جهاز يعمل في الوقت الفعلي" . مدونة أوراكل لينكس . تم الاطلاع عليه في 22 مايو 2026 .{{cite web}}: CS1 maint: url-status ( link )
  33. 1 2 وونغ، داريك (8 نوفمبر 2016). "أعمال XFS القادمة في لينكس الإصدارات 4.8 و4.9 و4.10 وما بعدها" . مدونة أوراكل لينكس . تم الاطلاع عليه في 22 مايو 2016 .{{cite web}}: CS1 maint: url-status ( link )
  34. وونغ، داريك (11 يونيو 2024). "XFS - إصلاح نظام الملفات عبر الإنترنت" . مدونة أوراكل لينكس . تم الاطلاع عليه في 22 مايو 2026 .{{cite web}}: CS1 maint: url-status ( link )
  35. هندرسون، أليسون (21 يوليو 2025). "مؤشرات الدليل الأصل في نظام الملفات XFS في UEK8" . مدونة أوراكل لينكس . تم الاطلاع عليه في 22 مايو 2026 .{{cite web}}: CS1 maint: url-status ( link )
  36. "xfs: إصلاح ذاتي تلقائي لأنظمة الملفات" . LWN.net . تم الاطلاع عليه بتاريخ 22-05-2026 .
  37. "RFC: XFS: دعم الأجهزة ذات المناطق المحددة" . LWN.net . تم الاطلاع عليه بتاريخ 22-05-2026 .
  38. "نظرة عامة على أجهزة التخزين المُقسّمة | التخزين المُقسّم" . zonedstorage.io . تم ​​الاطلاع عليه بتاريخ 22-05-2026 .
  39. هيلويج، كريستوف (أكتوبر 2025). "البقاء في المنطقة - تحديث التخزين المُقسّم إلى مناطق في نظام ملفات مؤسسي قابل للتوسع" . مكتبة ACM الرقمية . doi : 10.1145/3725783.3764399 . تاريخ الاسترجاع : 22 مايو 2026 .{{cite web}}: CS1 maint: url-status ( link )
  40. هولمبرغ، هانز (مارس 2025). "تطوير نظام الملفات XFS مع التخزين المُجزأ ووضع البيانات الذكي" (ملف PDF) . مؤتمر EuroSys 2025 - الملصقات المقبولة . تاريخ الاطلاع: 22 مايو 2026 .{{cite web}}: CS1 maint: url-status ( link )
  41. كريستوف هيلويغ (3 أكتوبر 2010). "رد: لينكس وDMAPI" . قائمة بريدية XFS (قائمة بريدية). SGI. مؤرشف من الأصل في 27 سبتمبر 2011. تم الاطلاع عليه في 6 نوفمبر 2011 .
  42. ديف تشينر (30 يوليو 2012). "ردًا على: ردًا على: لا تزال أخطاء قسم الوقت الحقيقي قائمة" . القائمة البريدية لنظام ملفات XFS (القائمة البريدية). SGI. مؤرشف من الأصل في 14 أبريل 2014. تم الاسترجاع في 13 أبريل 2014 .
  43. torvalds. "linux/fs/xfs at v3.17 · torvalds/linux" . GitHub . تم الاسترجاع في 4 أكتوبر 2025 .
  44. "XFS - TechPubs Wiki" . tech-pubs.net . تم الاطلاع عليه بتاريخ 2025-10-04 .
  45. XFS.org مؤرشف بتاريخ 5 يناير 2009 في Wayback Machine ، الأسئلة الشائعة
  46. إريك ساندين (18 يناير 2002). "رد: تقليص نظام ملفات XFS؟ (LVM)" . قائمة بريدية XFS (قائمة بريدية). SGI. مؤرشف من الأصل في 3 فبراير 2016.
  47. "حول سجلات XFS الخارجية" . oracle.com . تم الاطلاع عليه بتاريخ 16 نوفمبر 2022 .
  48. تشينر، ديف (23 ديسمبر 2010). "تحسين أداء البيانات الوصفية عن طريق تقليل الحمل الزائد للسجلات" . ويكي XFS.org . مؤرشف من الأصل في 6 أكتوبر 2011. تم الاطلاع عليه في 6 نوفمبر 2011 .
  49. تشينر، ديف (24 مايو 2010). "ردًا على: التصحيح 0/12 لنظام ملفات XFS: تأخير تسجيل الأحداث الإصدار 6" . رسالة من القائمة البريدية لنظام ملفات XFS. مؤرشفة من الأصل في 5 ديسمبر 2011. تم الاطلاع عليها في 6 نوفمبر 2011 .

للمزيد من القراءة

  • ويكي XFS لينكس ، ويكي المجتمع الحالي
  • تمت أرشفة XFS.org بتاريخ 4 نوفمبر 2016 على موقع Wayback Machine ، وهو موقع ويكي قديم خاص بالمجتمع.
  • crossmeta.org مؤرشف بتاريخ 8 أغسطس 2015 على موقع Wayback Machine ، وهو منفذ مجتمعي لنظام ملفات XFS على نظام ويندوز