لينڪس ڪنيل 6.2 ۾ Btrfs ۾ RAID5/6 ۾ واڌارو شامل ٿيندو

Btrfs سڌارا تجويز ڪيا ويا آهن شامل ڪرڻ لاءِ لينڪس 6.2 ڪنيل ۾ لکڻ جي سوراخ جي مسئلي کي حل ڪرڻ لاءِ RAID 5/6 عمل ۾. مسئلي جو خلاصو ان حقيقت تي اچي ٿو ته جيڪڏهن رڪارڊنگ دوران ڪو حادثو ٿئي ٿو ته شروعاتي طور تي اهو سمجهڻ ناممڪن آهي ته ڪهڙي بلاڪ تي ڪهڙي RAID ڊوائيس صحيح لکي وئي هئي ۽ ڪهڙي رڪارڊنگ مڪمل نه ٿي هئي. جيڪڏهن توهان هن صورتحال ۾ RAID کي بحال ڪرڻ جي ڪوشش ڪندا، هيٺ ڏنل بلاڪ سان لاڳاپيل بلاڪ تباهه ٿي سگهن ٿا ڇو ته RAID بلاڪ جي حالت هم وقت کان ٻاهر آهي. اهو مسئلو ڪنهن به RAID1/5/6 صفن ۾ ٿئي ٿو جتي هن اثر کي منهن ڏيڻ لاءِ خاص اپاءَ نه ورتا ويا آهن.

RAID جي عمل ۾، جهڙوڪ RAID1 btrfs ۾، اهو مسئلو ٻنهي ڪاپين ۾ چيڪسم استعمال ڪندي حل ڪيو ويندو آهي؛ جيڪڏهن ڪو ميلاپ آهي، ڊيٽا کي صرف ٻي ڪاپي مان بحال ڪيو ويندو آهي. اهو طريقو پڻ ڪم ڪري ٿو جيڪڏهن ڪجهه ڊوائيس مڪمل ناڪامي جي بدران غلط ڊيٽا موڪلڻ شروع ٿئي ٿي.

جڏهن ته، RAID5/6 جي صورت ۾، فائل سسٽم برابري بلاڪن لاءِ چيڪسم کي ذخيرو نٿو ڪري: هڪ عام صورتحال ۾، بلاڪ جي صحيحيت ان حقيقت جي تصديق ڪئي وئي آهي ته اهي سڀئي چيڪسم ٿيل آهن، ۽ برابري بلاڪ کي ٻيهر تعمير ڪري سگهجي ٿو. ڊيٽا کان. بهرحال، جزوي رڪارڊنگ جي صورت ۾، اهو طريقو ڪجهه حالتن ۾ ڪم نٿو ڪري سگهي. انهي صورت ۾، هڪ صف کي بحال ڪرڻ وقت، اهو ممڪن آهي ته بلاڪ جيڪي هڪ نامڪمل رڪارڊ هيٺ اچي ويندا آهن انهن کي غلط طور تي بحال ڪيو ويندو.

btrfs جي صورت ۾، اهو مسئلو تمام گهڻو لاڳاپيل آهي جيڪڏهن رڪارڊ پيدا ڪيو پيو وڃي پٽي کان ننڍو آهي. انهي حالت ۾، فائل سسٽم کي لازمي طور تي پڙهڻ-تبديل ڪرڻ-لکڻ وارو عمل انجام ڏيڻ گهرجي (پڙهڻ-تبديل-لکڻ، RMW). جيڪڏهن هي بلاڪن کي نامڪمل لکڻين سان ملندو آهي، ته پوءِ RMW آپريشن فساد جو سبب بڻجي سگهي ٿو جنهن کي معلوم نه ڪيو ويندو، چيڪسم جي پرواهه ڪرڻ کان سواءِ. ڊولپرز تبديليون ڪيون آهن جن ۾ RMW آپريشن ڪرڻ کان اڳ بلاڪ جي چيڪسم کي چيڪ ڪري ٿو، ۽ جيڪڏهن ڊيٽا کي بحال ڪرڻ ضروري آهي، اهو پڻ رڪارڊ ڪرڻ کان پوء چيڪسيم کي چيڪ ڪري ٿو. بدقسمتي سان، هڪ نامڪمل پٽي (RMW) لکڻ جي صورتحال ۾، هي چيڪسم جي حساب لاء اضافي اوور هيڊ ڏانهن وڌي ٿو، پر خاص طور تي قابل اعتماد وڌائي ٿو. RAID6 لاءِ، اهڙي منطق اڃا تيار ناهي، جڏهن ته RAID6 ۾ اهڙي ناڪامي لاءِ ضروري آهي ته لکڻ هڪ ئي وقت 2 ڊوائيسن تي ناڪام ٿئي، جنهن جو امڪان گهٽ آهي.

اضافي طور تي، اسان ڊولپرز کان RAID5/6 استعمال ڪرڻ لاء سفارشون نوٽ ڪري سگهون ٿا، جنهن جو خلاصو اهو آهي ته Btrfs ۾ ميٽا ڊيٽا ۽ ڊيٽا اسٽوريج پروفائل مختلف ٿي سگهي ٿي. انهي حالت ۾، توهان استعمال ڪري سگهو ٿا پروفائل RAID1 (عڪس) يا اڃا به RAID1C3 (3 ڪاپيون) ميٽا ڊيٽا لاءِ، ۽ ڊيٽا لاءِ RAID5 يا RAID6. اهو يقيني بڻائي ٿو قابل اعتماد ميٽاداٽا تحفظ ۽ هڪ طرف ”لائيٽ هول“ جي غير موجودگي، ۽ خلا جو وڌيڪ ڪارائتو استعمال، RAID5/6 جي خاصيت، ٻئي طرف. هي ميٽاداٽا ڪرپشن کان بچڻ جي اجازت ڏئي ٿو ۽ ڊيٽا ڪرپشن کي درست ڪري سگهجي ٿو.

اهو پڻ نوٽ ڪري سگهجي ٿو ته SSDs لاءِ Btrfs ۾ kernel 6.2 ۾، "خارج" آپريشن جي غير مطابقت واري عمل کي ڊفالٽ طور تي چالو ڪيو ويندو (آزاد ٿيل بلاڪ کي نشانو بڻائڻ جن کي جسماني طور تي ذخيرو ڪرڻ جي ضرورت ناهي). هن موڊ جو فائدو اعلي ڪارڪردگي آهي ڇاڪاڻ ته هڪ قطار ۾ "خارج" عملن جي مؤثر گروپنگ ۽ پس منظر پروسيسر طرفان قطار جي وڌيڪ پروسيسنگ جي ڪري، اهو ئي سبب آهي ته عام ايف ايس آپريشن سست نه ٿيندا آهن، جيئن هم وقت سازي جي صورت ۾ آهي. رد ڪريو" جيئن بلاڪ آزاد ڪيا ويا آهن، ۽ ايس ايس ڊي بهتر فيصلا ڪري سگهي ٿي. ٻئي طرف، توهان کي هاڻي استعمال ڪرڻ جي ضرورت نه پوندي يوٽيلٽيز جهڙوڪ fstrim، ڇاڪاڻ ته سڀئي دستياب بلاڪ صاف ڪيا ويندا FS ۾ اضافي اسڪيننگ جي ضرورت کان سواءِ ۽ آپريشن کي سست ڪرڻ کان سواءِ.

جو ذريعو: opennet.ru

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