بي كاشيفز
Bcachefs هو نظام ملفات يعتمد على تقنية النسخ عند الكتابة (COW) لأنظمة التشغيل المبنية على لينكس . وهو مصمم لمنافسة الميزات الحديثة لأنظمة ZFS أو Btrfs .
أُعلن عنه لأول مرة عام ٢٠١٥، وأُضيف إلى نواة لينكس بدءًا من الإصدار ٦.٧ عام ٢٠٢٤. [ ١ ] [ ٢ ] في يونيو ٢٠٢٥، أعلن لينوس تورفالدز أنه سيتم حذف bcachefs من النواة نتيجةً لانتهاكات متكررة لإرشادات تطوير النواة. [ ٣ ] [ ٤ ] في أغسطس ٢٠٢٥، تغيّر وضع bcachefs من "مدعوم" إلى "يُدار خارجيًا". [ ٥ ] اعتبارًا من أواخر سبتمبر ٢٠٢٥، أزال لينوس تورفالدز جميع أكواد bcachefs من نواة لينكس، بدءًا من الإصدار ٦.١٨. [ ٦ ] وهو متاح الآن كوحدة نمطية خارجية.
سمات
Bcachefs هو نظام ملفات يعتمد على النسخ عند الكتابة (COW) لأنظمة التشغيل المبنية على لينكس . [ 7 ] تشمل ميزاته التخزين المؤقت ، [ 8 ] والتشفير الكامل لنظام الملفات باستخدام خوارزميتي ChaCha20 و Poly1305 ، [ 9 ] والضغط الأصلي [ 8 ] عبر LZ4 و gzip [ 10 ] و Zstandard ، [ 11 ] واللقطات ، [ 8 ] و CRC-32C ومجموع التحقق 64 بت . [ 7 ] ويمكنه العمل على أجهزة التخزين الكتلية، بما في ذلك في تكوينات RAID . [ 9 ]
كانت الإصدارات السابقة من Bcachefs توفر جميع وظائف Bcache ، وهو نظام تخزين مؤقت على مستوى الكتل لنظام Linux، والذي يتشارك معه Bcachefs حوالي 80% من شفرته البرمجية. [ 12 ] اعتبارًا من ديسمبر 2021، تمت إزالة وظيفة التخزين المؤقت على مستوى الكتل. [ 11 ]
على مستوى بنية البيانات، يستخدم bcachefs أشجار B مثل العديد من أنظمة الملفات الحديثة الأخرى، ولكن بحجم عقدة كبير بشكل غير معتاد، حيث يبلغ حجمها الافتراضي 256 كيلوبايت. هذه العقد مُهيكلة داخليًا على شكل سجلات ، مما يُشكل بنية بيانات هجينة، ويقلل الحاجة إلى إعادة كتابة العقد عند التحديث. [ 13 ] لا يتم تنفيذ اللقطات عن طريق استنساخ شجرة COW، ولكن عن طريق إضافة رقم إصدار إلى كائنات نظام الملفات. [ 14 ]
تُمكّن ميزة النسخ عند الكتابة (COW) ومُخصِّص الحاويات من تنفيذ نظام RAID الذي يُزعم أنه لا يعاني من مشكلة ثغرة الكتابة أو تجزئة الإدخال/الإخراج. من ناحية أخرى، يتطلب مُخصِّص الحاويات استخدام جامع قمامة نسخ للتعامل مع الحاويات شبه الفارغة. [ 11 ]
استقرار
يصف برنامج bcachefs نفسه بأنه "فعّال ومستقر، وله قاعدة مستخدمين صغيرة". [ 15 ] عند مناقشة إصدار Linux 6.9-rc3 في 7 أبريل 2024، تطرق لينوس تورفالدز إلى استقرار bcachefs، قائلاً: "إذا كنت تعتقد أن bcachefs مستقر بالفعل، فأنا أملك جسراً لأبيعه لك ". [ 16 ] وفي أغسطس 2024 قال: "لا أحد عاقل يستخدم bcachefs ويتوقع منه أن يكون مستقراً". [ 17 ]
في أغسطس 2024، قام مسؤول صيانة حزمة bcachefs-tools على نظام دبيان، وهي حزمة توفر "أدوات ووثائق لمساحة المستخدم"، بتعليق دعمها، متسائلاً عن إمكانية استمرارية دعمها على المدى الطويل. [ 18 ] وعلّق المسؤول في منشور على مدونته قائلاً: "أنصحكم، إذا كنتم تفكرون في استخدام bcachefs لأي غرض إنتاجي في المستقبل القريب، أن تُفكّروا أولاً في مدى إمكانية دعمها على المدى الطويل، وما إذا كان هناك أي جهة تُقدّم دعماً مستقراً لها." [ 19 ]
تاريخ
قام كينت أوفرستريت، مطور Bcache ، بالتطوير الأساسي ، واصفًا إياه بأنه "نموذج أولي" للأفكار التي تطورت لاحقًا إلى Bcachefs. ويهدف أوفرستريت إلى أن يحل Bcachefs محل Bcache. [ 12 ] وقد صرّح أوفرستريت بأن تطوير Bcachefs بدأ عندما أدرك مطورو Bcache أن قاعدة بياناته البرمجية "تتطور... لتصبح نظام ملفات POSIX متكاملًا وعام الأغراض "، وأن "هناك تصميمًا أنيقًا وبسيطًا للغاية" بداخلها إذا ما تم تطويرها في هذا الاتجاه. وبعد فترة من دمج Bcache في نواة لينكس الرئيسية عام 2013، ترك أوفرستريت وظيفته في جوجل ليتفرغ تمامًا للعمل على Bcachefs. [ 7 ]
بعد سنوات من التطوير غير الممول، أعلن أوفرستريت عن Bcachefs في عام 2015، واصفًا الكود حينها بأنه "مكتمل الميزات تقريبًا"، ودعا إلى مختبرين ومساهمين. كان يهدف إلى أن يكون نظام ملفات متطورًا بميزات حديثة [ 20 ] مثل ZFS أو Btrfs ، وبسرعة وأداء أنظمة ملفات مثل ext4 و XFS . [ 7 ] اعتبارًا من عام 2017، كان أوفرستريت يتلقى دعمًا ماليًا لتطوير Bcachefs عبر Patreon . [ 9 ]
بحلول منتصف عام 2018، استقر تنسيق التخزين على القرص. [ 12 ] تم تقديم تصحيحات للمراجعة لإدراج Bcachefs في نواة لينكس الرئيسية. [ 8 ]
بحلول منتصف عام 2019، اكتملت الميزات المطلوبة لـ Bcachefs، وقُدِّمت التصحيحات المرتبطة بها إلى LKML للمراجعة من قِبل النظراء. [ 21 ] [ 22 ] وفي أكتوبر 2023، دُمِج Bcachefs في نواة لينكس 6.7، [ 23 ] التي صدرت في يناير 2024. [ 2 ]
في نوفمبر 2024، منعت لجنة قواعد السلوك في لينكس كينت أوفرستريت من إرسال مساهماته خلال دورة تطوير نواة لينكس 6.13 بسبب "إساءة كتابية لأحد أعضاء المجتمع" و"عدم اتخاذ إجراءات كافية لاستعادة ثقة المجتمع في إجراء مناقشات تقنية مثمرة دون خوف من الهجمات الشخصية". [ 24 ] [ 25 ] وقد قُبلت التصحيحات لاحقًا دون أي مشكلة خلال تطوير نواة لينكس 6.14. [ 26 ]
في يونيو 2025، أعلن لينوس تورفالدز أنه سيتم إزالة bcachefs من نواة لينكس؛ وقد أوضح لينوس ذلك على النحو التالي: [ 3 ] [ 4 ]
[...] أعتقد أننا سنفترق في نافذة دمج الإصدار 6.17.
لقد أوضحت لي تماماً أنه لا يمكنني حتى التشكيك في أي إصلاحات للأخطاء، وأنه يجب عليّ سحب أي شيء وكل شيء.
بصراحة، في تلك المرحلة، لم أشعر بالراحة حقاً للمشاركة على الإطلاق، والشيء الوحيد الذي اتفقنا عليه بشكل أساسي في تلك المناقشة هو "لقد انتهينا".
في أغسطس 2025، وبعد عدم دمج أي تحديثات لـ bcachefs لنظام Linux 6.17، صنّف تورفالدز bcachefs على أنه "مُدار خارجيًا" في نواة Linux. [ 27 ] وفي سبتمبر 2025، أعلن أوفرستريت أن bcachefs سينتقل إلى أن يُشحن كوحدة دعم نواة ديناميكية (DKMS). [ 28 ]
مراجع
- ↑ "kernel/git/torvalds/linux.git - شجرة مصدر نواة لينكس" . git.kernel.org . مؤرشف من الأصل بتاريخ 2023-11-08 . تم الاطلاع عليه بتاريخ 2023-10-31 .
- 1 2 لارابيل، مايكل (2024-01-07). "إصدار لينكس 6.7 مع Bcachefs، ومعالجات إنتل ميتيور ليك بحالة جيدة، ودعم Nouveau GSP" . phoronix.com . تم الاطلاع عليه بتاريخ 2024-01-07 .
- 1 2 تورفالدز، لينوس (2025-06-26). "ردًا على: [ سحب من جيت ] إصلاحات bcachefs للإصدار 6.16-rc4" . أرشيفات نواة لينكس . تم الاسترجاع في 2025-06-28 .
- 1 2 رودرا، سوراف (27 يونيو 2025). "دراما جديدة في نواة لينكس: تورفالدز يتخلى عن دعم Bcachefs بعد خلاف" . أخبار البرمجيات الحرة والمفتوحة المصدر . تم الاطلاع عليه في 28 يونيو 2025 .
- ↑ "المشرفون: ضع علامة على bcachefs بأنه مُدار خارجيًا" . git.kernel.org . تم الاسترجاع في 12-09-2025 .
- ↑ "لينوس تورفالدز يُزيل كود Bcachefs من نواة لينكس" . www.phoronix.com . تاريخ الاطلاع: 30 سبتمبر 2025 .
- 1 2 3 4 Larabel 2015 .
- 1 2 3 4 Larabel 2018 .
- 1 2 3 Baader 2017 .
- ↑ "خيارات - وثائق bcachefs" . مؤرشف من الأصل بتاريخ 2023-06-20 . تم الاطلاع عليه بتاريخ 2023-06-20 .
- 1 2 3 أوفرستريت، كينت (18 ديسمبر 2021). "bcachefs: مبادئ التشغيل" (ملف PDF) . مؤرشف (ملف PDF) من الأصل في 26 أغسطس 2023. تم الاطلاع عليه في 10 مايو 2023 .
- 1 2 3 إيدج 2018 .
- ↑ "العمارة" . bcachefs.org . مؤرشف من الأصل بتاريخ 31-10-2023 . تم الاطلاع عليه بتاريخ 26-05-2023 .
- ↑ "لقطات" . bcachefs.org . مؤرشف من الأصل بتاريخ 2023-11-06 . تم الاطلاع عليه بتاريخ 2023-05-26 .
- ↑ "bcachefs.org" . مؤرشف من الأصل بتاريخ 2024-04-03.
- ↑ تورفالدز، لينوس (2024-04-07). "لينكس 6.9-rc3" . قائمة بريدية لنواة لينكس (قائمة بريدية). مؤرشفة من الأصل في 2024-04-22 . تم الاسترجاع في 2024-04-22 .
- ↑ "قائمة بريدية لنواة لينكس" . مؤرشفة من الأصل بتاريخ 24-08-2024.
- ↑ "أدوات Bcachefs اليتيمة في دبيان: "من المستحيل صيانتها في دبيان المستقرة"تمت أرشفة هذا النص من المصدر الأصلي بتاريخ 28-09-2024 . تم الاطلاع عليه بتاريخ 30-08-2024 .
- ↑ "إلغاء دعم bcachefs-tools في دبيان" . أغسطس 2024. مؤرشف من الأصل في 31 أغسطس 2024.
- ↑ جاكسون 2015 .
- ↑ LKML 2021 .
- ↑ LKML 2022 .
- ↑ لارابيل، مايكل. "دمج Bcachefs في نواة لينكس 6.7" . فورونيكس . مؤرشف من الأصل بتاريخ 31 أكتوبر 2023. تم الاطلاع عليه بتاريخ 31 أكتوبر 2023 .
- ↑ ويليامز، دان (22 نوفمبر 2024). "ردًا على: [ التصحيح 1/2 الإصدار 2 ] bcachefs: لا تستخدم PF_MEMALLOC_NORECLAIM" . linux-kernel@vger.kernel.org (قائمة بريدية). مؤرشف من الأصل في 27 نوفمبر 2024. تم الاطلاع عليه في 17 ديسمبر 2024.
- النطاق: رفض جميع طلبات السحب من كينت أوفرستريت خلال دورة تطوير نواة لينكس 6.13.
- ↑ لارابيل، مايكل (2024-11-20). "رفض تغييرات Bcachefs بسبب مدونة قواعد السلوك، ومستقبل النواة "غير مؤكد"" . Phoronix . مؤرشف من الأصل بتاريخ 18-03-2025 . تم الاسترجاع بتاريخ 14-03-2025 .
- ↑ لارابيل، مايكل (21 يناير 2025). "دمج تغييرات Bcachefs بسلاسة في نواة لينكس 6.14" . فورونيكس . مؤرشف من الأصل بتاريخ 18 مارس 2025. تم الاطلاع عليه بتاريخ 14 مارس 2025 .
- ↑ لارابيل، مايكل (29-08-2025). "لينوس تورفالدز يُصنّف Bcachefs الآن على أنه "مُدار خارجيًا"" . Phoronix . مؤرشف من الأصل بتاريخ 29-08-2025 . تم الاسترجاع بتاريخ 13-09-2025 .
- ↑ لارابيل، مايكل (11 سبتمبر 2025). "Bcachefs يحدد خططًا لتوزيعه كوحدة نواة خارجية لنظام DKMS" . فورونيكس . مؤرشف من الأصل في 12 سبتمبر 2025. تم الاطلاع عليه في 13 سبتمبر 2025 .
المراجع
- بادر ، هانز يواكيم (2017/03/17). "Neue Version von Bcachefs Bringt Verschlüsselung" [ الإصدار الجديد من bcachefs يجلب التشفير ] . برو لينكس (باللغة الألمانية). مؤرشف من الأصل بتاريخ 23-11-2018 . تم الاسترجاع 2018/11/23 .
- إيدج، جيك (23 مايو 2018). "تحديث حول bcachefs" . LWN.net . مؤرشف من الأصل بتاريخ 1 يونيو 2018. تم الاطلاع عليه بتاريخ 22 نوفمبر 2018 .
- جاكسون، جواب (21 أغسطس 2015). "مهندس سابق في جوجل يُطلق نظام ملفات لينكس جديدًا" . بي سي وورلد . مؤرشف من الأصل في 5 ديسمبر 2020. تاريخ الاسترجاع: 22 نوفمبر 2018 .
- لارابيل، مايكل (21 أغسطس 2015). "نظام ملفات لينكس جديد يهدف إلى السرعة مع ميزات مشابهة لنظامي ZFS/Btrfs" . فورونيكس . مؤرشف من الأصل في 23 أغسطس 2015. تم الاطلاع عليه في 22 نوفمبر 2018 .
- لارابيل، مايكل (9 مايو 2018). "نظام ملفات Bcachefs قيد التطوير ليصبح جزءًا أساسيًا من نواة لينكس" . فورونيكس . مؤرشف من الأصل بتاريخ 9 يوليو 2018. تاريخ الاطلاع: 22 نوفمبر 2018 .
- LKML (2019-06-10). "تحديث حالة bcachefs (انتهى العمل عليه؛ فلنقم بدمجه)" . قائمة بريدية لنواة لينكس .
- LKML (2021-11-04). "تحديث حالة bcachefs - العمل الحالي والمستقبلي" . قائمة بريدية لنواة لينكس . تم الاطلاع عليه بتاريخ 2021-12-02 .
- LKML (2022-02-16). "bcachefs" . قائمة بريدية لنواة لينكس . تم الاسترجاع في 2022-09-14 .
روابط خارجية
- برنامج 2015
- أنظمة ضغط الملفات
- أنظمة الملفات التي يدعمها نواة لينكس
- البرامج المتعلقة بنظام ملفات لينكس
- أنظمة ملفات القرص
