لينڪس ڪنيل ڏانهن Bcachefs کي فروغ ڏيڻ

Kent Overstreet، ليکڪ BCache SSD بلاڪ ڊيوائس ڪيشنگ سسٽم، جيڪو لينڪس ڪنيل جو حصو آهي، LSFMM 2023 ڪانفرنس ۾ پنهنجي تقرير ۾ (لينڪس اسٽوريج، فائل سسٽم، ميموري مئنيجمينٽ ۽ بي پي ايف سمٽ) کي فروغ ڏيڻ تي ڪم جي نتيجن جو خلاصو ڪيو. Bcachefs فائل سسٽم کي لينڪس ڪنييل جي بنيادي جوڙجڪ ۾ شامل ڪيو ۽ هن فائل سسٽم جي وڌيڪ ترقي لاء منصوبن بابت ڳالهايو. مئي ۾، Bcachefs FS جي عمل سان پيچ جو هڪ تازه ڪاري سيٽ تجويز ڪيو ويو جائزو وٺڻ ۽ لينڪس ڪنييل جي مکيه جوڙجڪ ۾ شامل ڪرڻ لاء. FS Bcachefs اٽڪل 10 سالن تائين ترقي ڪري رهيو آهي. بنيادي ۾ شامل ٿيڻ کان اڳ Bcachefs تي عمل درآمد جو جائزو وٺڻ جي تياري جو اعلان 2020 جي آخر ۾ ڪيو ويو، ۽ پيچ جو موجوده نسخو اڳئين جائزي دوران سڃاڻپ ڪيل تبصرن ۽ نقصن کي مدنظر رکي ٿو.

Bcachefs ڊولپمينٽ جو مقصد ڪارڪردگي، اعتبار ۽ اسڪاليبلٽي ۾ XFS سطح تائين پهچڻ آهي، جڏهن ته Btrfs ۽ ZFS ۾ شامل اضافي خاصيتون مهيا ڪرڻ، جهڙوڪ هڪ ورهاڱي ۾ ڪيترن ئي ڊوائيسز، ملٽي ليئر اسٽوريج لي آئوٽ، نقل (RAID 1/10)، ڪيشنگ، شفاف ڊيٽا ڪمپريشن (LZ4، gzip ۽ ZSTD موڊس)، اسٽيٽ سلائسس (سنيپ شاٽ)، چيڪسمز ذريعي سالميت جي تصديق، ريڊ-سليمان غلطي اصلاحي ڪوڊز کي ذخيرو ڪرڻ جي صلاحيت (RAID 5/6)، معلومات جي انڪريپٽ ٿيل اسٽوريج (ChaCha20 ۽ Poly1305) استعمال ٿيل آهن). ڪارڪردگي جي لحاظ کان، Bcachefs Btrfs ۽ ٻين فائل سسٽم کان اڳتي آهي ڪاپي-آن-لکڻ واري ميڪانيزم جي بنياد تي، ۽ ڪارڪردگي ڏيکاري ٿو Ext4 ۽ XFS جي ويجهو.

Bcachefs جي ترقي ۾ تازي ڪاميابين مان، لکڻ جي لاء موجود سنيپ شاٽ جي عمل جي استحڪام کي نوٽ ڪيو ويو آهي. Btrfs جي مقابلي ۾، Bcachefs ۾ سنيپ شاٽ هاڻي تمام بهتر اسپيبلبل ۽ Btrfs ۾ موجود مسئلن کان آزاد آهن. عملي طور تي، سنيپ شاٽ جو ڪم آزمايو ويو جڏهن MySQL بيڪ اپ کي منظم ڪيو ويو. Bcachefs پڻ تمام گھڻو ڪم ڪيو آھي اسڪيبلٽي کي بھتر ڪرڻ لاءِ - فائل سسٽم 100 TB اسٽوريج ۾ ٽيسٽنگ ۾ بھترين ڪم ڪيو آھي، ۽ Bcachefs کي ويجهي مستقبل ۾ 1 PB اسٽوريج ۾ لاڳو ڪيو ويندو. هڪ نئون nocow موڊ شامل ڪيو ويو آهي "ڪاپي-آن-لکڻ" (nocow) ميڪانيزم کي غير فعال ڪرڻ لاء. اونهاري دوران، اهي رٿابندي ڪن ٿا ته غلطي جي اصلاح واري ڪوڊس ۽ RAIDZ تي عمل درآمد کي مستحڪم حالت ۾، ۽ انهي سان گڏ اعلي ميموري واپرائڻ سان مسئلا حل ڪن جڏهن fsck يوٽيلٽي سان فائل سسٽم کي بحال ۽ چيڪ ڪريو.

مستقبل جي منصوبن مان، Bcachefs جي ترقي ۾ مورچا ٻولي استعمال ڪرڻ جي خواهش جو ذڪر ڪيو ويو آهي. Bcachefs جي مصنف جي مطابق، هو ڪوڊ ڪرڻ پسند ڪندو آهي، ڪوڊ ڊيبگ ڪرڻ نه، ۽ هاڻي سي ۾ ڪوڊ لکڻ چريو آهي جڏهن ڪو بهتر آپشن آهي. مورچا اڳ ۾ ئي شامل آهي Bcachefs ۾ ڪجهه استعمال ڪندڙ-اسپيس افاديت جي عمل ۾. ان کان علاوه، خيال ڪيو پيو وڃي ته آهستي آهستي مڪمل طور تي Bcachefs کي زنگ ۾ ٻيهر لکجي، ڇاڪاڻ ته هن ٻولي کي استعمال ڪندي خاص طور تي ڊيبگنگ وقت بچائيندو آهي.

جيئن ته Bcachefs کي لينڪس ڪنيل جي مکيه وهڪرو ۾ منتقل ڪرڻ لاء، اپنائڻ واري عمل ۾ دير ٿي سگھي ٿي تبديلين جي وڏي سائيز (2500 پيچ ۽ اٽڪل 90 هزار لائنون ڪوڊ) جي ڪري، جنهن جو جائزو وٺڻ ڏکيو آهي. جائزو کي تيز ڪرڻ لاء، ڪجهه ڊولپرز پيچ سيريز کي ٽوڙڻ جي صلاح ڏني آهي ننڍن ۽ وڌيڪ منطقي طور تي جدا ٿيل حصن ۾. بحث دوران، ڪجهه شرڪت ڪندڙن هڪ ڊولپر پاران پروجيڪٽ جي ترقي ۽ ان خطري ڏانهن پڻ ڌيان ڏنو ته ڪوڊ کي اڻڄاتل رهجي سگهي ٿو جيڪڏهن ان جي ڊولپر کي ڪجهه ٿيو (ٻه ريڊ هيٽ ملازمن کي پروجيڪٽ ۾ دلچسپي آهي، پر انهن جو ڪم اڃا تائين آهي. محدود بگ فيڪس).

Bcachefs ترقي ڪئي وئي آهي ٽيڪنالاجيون استعمال ڪندي جيڪي اڳ ۾ ئي Bcache بلاڪ ڊيوائس جي ترقي ۾ آزمايا ويا آهن، تيز ايس ايس ڊي ڊرائيوز تي سست هارڊ ڊرائيو تائين رسائي کي ڪيش ڪرڻ لاءِ ٺهيل آهي (شامل 3.10 ڇڏڻ کان پوءِ ڪنيل ۾). Bcachefs Copy-on-write (COW) ميڪانيزم کي استعمال ڪري ٿو، جنهن ۾ تبديليون ڊيٽا کي اوور رائٽنگ نه ڪنديون آهن - نئين رياست کي نئين جڳهه تي لکيو ويندو آهي، جنهن کان پوءِ موجوده رياست جو اشارو تبديل ٿي ويندو آهي.

Bcachefs جي هڪ خصوصيت ڊرائيوز جي ملٽي ليئر ڪنيڪشن لاءِ سپورٽ آهي، جنهن ۾ اسٽوريج ڪيترن ئي پرتن تي مشتمل هوندي آهي- تيز ترين ڊرائيوز (SSD) هيٺئين پرت سان ڳنڍيل هونديون آهن، جيڪي اڪثر استعمال ٿيندڙ ڊيٽا کي ڪيش ڪرڻ لاءِ استعمال ٿينديون آهن، ۽ مٿين پرت جي روپ ۾. وڌيڪ گنجائش ۽ سستا ڊسڪ جيڪي گھٽ گهربل ڊيٽا کي ذخيرو ڪن ٿيون. Writeback ڪيشنگ تہن جي وچ ۾ استعمال ڪري سگھجي ٿو. ڊرائيو کي متحرڪ طور تي شامل ڪري سگھجي ٿو ۽ ورهاڱي کان ڌار ٿي سگھي ٿو بغير فائل سسٽم جي استعمال ۾ مداخلت ڪرڻ (ڊيٽا خودڪار طريقي سان لڏپلاڻ).

جو ذريعو: opennet.ru

تبصرو شامل ڪريو