نيلفس

نظام الملفات NILFS أو NILFS2 ( التنفيذ الجديد لنظام ملفات ذي بنية سجلية ) هو نظام ملفات ذو بنية سجلية مُصمم لنواة لينكس . طُوّر هذا النظام بواسطة مختبرات الفضاء الإلكتروني التابعة لشركة نيبون للاتصالات والتلغراف (NTT) ومجتمع من المطورين حول العالم. وقد صدر نظام NILFS بموجب شروط رخصة جنو العمومية (GPL).

تصميم

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

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

توفر بعض أنظمة الملفات، مثل أنظمة الملفات المشتقة من UFS المستخدمة في نظام التشغيل Solaris وأنظمة BSD ، ميزة اللقطات التي تمنع فقدان البيانات، ولكن قد تستغرق عملية إعداد اللقطات وقتًا طويلاً في أنظمة الملفات الكبيرة. في المقابل، يستطيع نظام NILFS "حفظ الحالات الآنية لنظام الملفات بشكل مستمر وتلقائي دون انقطاع الخدمة"، وفقًا لشركة NTT Labs. [ 3 ]

يمكن تحميل "الحالات اللحظية" التي يحفظها نظام NILFS باستمرار، للقراءة فقط، في نفس الوقت الذي يتم فيه تحميل نظام الملفات الفعلي للقراءة والكتابة - وهي ميزة مفيدة لاستعادة البيانات بعد أعطال الأجهزة وانهيارات النظام الأخرى. يُستخدم الأمر "lscp" (قائمة نقاط التحقق) في أداة "inspect" التفاعلية لنظام NILFS أولاً للعثور على عنوان نقطة التحقق، وهو في هذه الحالة "2048".

افحص /dev/sda2 ... nilfs> listcp ١ ٦ الثلاثاء ١٢ يوليو ٢٠٠٥ ١٤:٥٥:٥٧ MajorCP|LogiBegin|LogiEnd 2048 2352 الثلاثاء 12 يوليو 2005 14:55:58 MajorCP|LogiEnd ... nilfs> quit

ثم يتم استخدام عنوان نقطة التفتيش لتركيب نقطة التفتيش:

# mount -t nilfs -r -o cp=2048 /dev/sda2 /nilfs-cp df نظام الملفات 1 كيلوبايت كتل مستخدم متاح نسبة الاستخدام نقطة التحميل /dev/sda2 70332412 8044540 62283776 12% /nilfs /dev/sda2 70332412 8044540 62283776 12% /nilfs-cp

سمات

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

لا توفر معظم أنظمة الملفات خاصية أخذ اللقطات المستمرة ، بما في ذلك تلك التي تدعم أخذ اللقطات في نقطة زمنية محددة (مثل Btrfs ).

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

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

تشمل الاستخدامات المحتملة لـ NILFS التحكم في الإصدارات، واكتشاف العبث، وتسجيل الامتثال لقانون ساربينز-أوكسلي ، واستعادة البيانات المفقودة.

الإصدار الرئيسي الحالي من NILFS هو الإصدار 2، والذي يُشار إليه باسم NILFS2. يُطبّق NILFS2 عملية جمع البيانات المهملة عبر الإنترنت لاستعادة مساحة القرص مع الاحتفاظ بنسخ احتياطية متعددة.

تشمل الميزات الأخرى لـ NILFS ما يلي:

  • إدارة الملفات والعقد القائمة على شجرة B.
  • استعادة النظام فورًا بعد تعطل النظام.
  • هياكل بيانات 64 بت؛ تدعم العديد من الملفات والملفات الكبيرة والأقراص.
  • طوابع زمنية على القرص 64 بت خالية من مشكلة عام 2038 .

الحالة الحالية

مشاكل

اعتبارًا من عام 2023، يفتقر نظام NILFS إلى أداة مخصصة للتحقق من الاتساق (fsck)، وبالتالي لا يمكنه التعافي من الأخطاء الجسيمة التي تتسبب في فشله في العثور على نقطة تحقق صالحة. [ 4 ] [ 5 ]

الميزات المدعومة

  • ميزات نظام ملفات POSIX الأساسية
  • لقطات
    • يتم تناولها تلقائياً وبشكل مستمر
    • لا يوجد حد لعدد اللقطات حتى تمتلئ وحدة التخزين
    • يمكن تركيبها كأنظمة ملفات للقراءة فقط
    • يمكن تركيبه بالتزامن مع وحدة التخزين القابلة للكتابة (مما يسهل إجراء نسخ احتياطية متسقة أثناء الاستخدام)
    • قائمة سريعة
  • جمع البيانات المهملة في الخلفية (GC)
    • يمكن الاحتفاظ بنسخ احتياطية متعددة
    • سياسة جمع البيانات المهملة القابلة للتحديد، والتي يتم توفيرها بواسطة برنامج خفي في مساحة المستخدم.
  • استعادة سريعة للوضع بعد السقوط على الحامل
  • إمكانية القراءة المسبقة لملفات البيانات الوصفية وكذلك ملفات البيانات
  • أحجام الكتل أصغر من حجم الصفحة (على سبيل المثال 1 كيلوبايت أو 2 كيلوبايت)  
  • تغيير الحجم عبر الإنترنت (منذ Linux-3.x و nilfs-utils 2.1)
  • المرافق ذات الصلة (بمساهمة جيرو سيكيبا)

ميزات إضافية

  • سرعة الكتابة والاستعادة
  • الحد الأدنى من الضرر لبيانات الملفات واستمرارية النظام في حالة تعطل الأجهزة
  • تتم معالجة البيانات الداخلية بحجم كلمة 64 بت
  • يمكنه إنشاء وتخزين ملفات ضخمة (8 إكسابايت )

التوافق

يتوفر نظام NILFS في العديد من توزيعات GNU/Linux مثل Arch Linux [ 8 ] ، و Debian [ 9 ] (منذ الإصدار 5.0)، وFedora ، و Gentoo [ 10 وLinux Mint ، وNixOS ، وUbuntu (منذ الإصدار 9.10)، وغيرها. لاستخدامه، يحتاج المستخدمون عادةً إلى تثبيت حزمة nilfs-utils أو nilfs-tools. كما يتوفر قرص إقلاع (Boot-cd) يحتوي على NILFS على موقع PrRescue .

كما أنها مدعومة من قبل تطبيقات تحرير الأقسام مثل GParted . [ 11 ]

يتضمن نظام NetBSD تطبيقًا منفصلاً مرخصًا بموجب ترخيص BSD ، يدعم حاليًا القراءة فقط . [ 12 ]

الأداء النسبي

في عرض يناير 2015 بعنوان "بطاقات SD وأنظمة الملفات للأنظمة المدمجة " في مؤتمر Linux.conf.au ، ورد ما يلي: [ 13 ]

إذا كان لديك عبء عمل حساس لزمن الاستجابة، فقد ترغب في استخدام نظام الملفات NILFS. أما إذا كان لديك عبء عمل حساس للإنتاجية، فقد ترغب في استخدام نظام الملفات F2FS .

بيتر تشاب

يعمل نظام NILFS2 بشكل أفضل بكثير في حالة وجود الكثير من الملفات الصغيرة مقارنة بنظامي F2FS أو EXT4.

بيتر تشاب

رخصة

تتوفر أدوات نظام الملفات NILFS2 بموجب رخصة جنو العمومية العامة الإصدار 2، باستثناء مكتبات lib/nilfs وملفات الرأس الخاصة بها، والتي تتوفر بموجب رخصة جنو العمومية العامة الأقل الإصدار 2.1.

المطورون

المؤلفون اليابانيون الرئيسيون والمساهمون الأساسيون في هذا العمل، nilfs-utilsوالذين عملوا أو يعملون في مختبرات شركة NTT، هم:

  • ريوسوكي كونيشي (المسؤول الرئيسي عن الصيانة، 02/2008–حتى الآن)
  • كوجي ساتو
  • ناروهيكو كاميمورا
  • سيجي كيهارا
  • يوشيجي أماجاي
  • هيساشي هيفومي و
  • ساتوشي مورياي.

ومن المساهمين الرئيسيين الآخرين:

  • أندرياس رونر [ 14 ]
  • دان ماكجي
  • ديفيد أرندت
  • ديفيد سميد
  • dexen deVries
  • ديمتري سميرنوف
  • إريك ساندين
  • جيرو سيكيبا
  • ماتيو فريجو
  • هيتوشي ميتاكي
  • تاكاشي إيواي
  • فياتشيسلاف دوبيكو

انظر أيضاً

مراجع