د لینکس کرنل 6.2 به په Btrfs کې RAID5/6 ته وده ورکړي

د لینکس 6.2 کرنل کې د RAID 5/6 پلي کولو کې د "لیکلو سوري" مسلې حل کولو لپاره د Btrfs پرمختګونه د لینکس 6.2 کرنل کې شاملولو لپاره وړاندیز شوي. ستونزه د دې حقیقت څخه رامینځته کیږي چې که د لیکلو پرمهال د لیکلو ناکامي رامینځته شي، نو په پیل کې دا ناممکنه ده چې معلومه شي چې کوم بلاک په کوم RAID وسیله کې سم لیکل شوی او کوم نه و. که چیرې پدې حالت کې د RAID بیا رغونې هڅه وشي، نو د نه لیکل شوي بلاکونو سره مطابقت لرونکي بلاکونه ممکن فاسد شي، ځکه چې د RAID بلاک حالت غیر همغږي شوی دی. دا مسله په هر RAID 1/5/6 صفونو کې پیښیږي چې د دې مسلې کمولو لپاره ځانګړي اقدامات نه پلي کوي.

په RAID تطبیقونو کې لکه RAID1 په btrfs کې، دا ستونزه په دواړو کاپيونو کې د چیکسمونو په کارولو سره حل کیږي؛ که چیرې توپیر شتون ولري، نو معلومات په ساده ډول د دوهم کاپي څخه بیرته راګرځول کیږي. دا طریقه هم کار کوي که چیرې یو وسیله د بشپړ ناکامۍ پرځای غلط معلومات بیرته راستنیدل پیل کړي.

په هرصورت، په RAID5/6 کې، د فایل سیسټم د پیرټي بلاکونو لپاره چیکسمونه نه ذخیره کوي: په نورمال ډول، د بلاکونو سموالی د دې حقیقت له مخې تایید کیږي چې دوی ټول چیکسم لري، او د پیرټي بلاک د معلوماتو څخه بیا رغول کیدی شي. په هرصورت، د جزوي لیکنو په صورت کې، دا طریقه ممکن په ځینو حاالتو کې ناکامه شي. پدې حالت کې، کله چې صف بیرته راګرځول کیږي، دا ممکنه ده چې د نیمګړي لیکنې لخوا اغیزمن شوي بلاکونه به په غلط ډول بیا رغول شي.

د btrfs په حالت کې، دا ستونزه خورا شدیده ده کله چې لیکل د پټې څخه کوچني وي. پدې حالت کې، د فایل سیسټم باید د لوستلو-تعدیل-لیکلو (RMW) عملیات ترسره کړي. که چیرې دا عملیات د نیمګړتیاو سره بلاکونو سره مخ شي، د RMW عملیات کولی شي د فساد لامل شي چې د چیکسمونو په پام کې نیولو پرته به کشف نشي. پراختیا کونکو یو بدلون پلي کړی ترڅو د RMW عملیات د عملیاتو ترسره کولو دمخه د بلاک چیکسم تایید کړي او که چیرې د معلوماتو بیا رغونه اړینه وي، د لیکلو وروسته چیکسمونه هم تایید کړي. له بده مرغه، د جزوي پټې لیکنو (RMW) په حالت کې، دا د چیکسمونو محاسبه کولو لپاره اضافي سر ته لار هواروي، مګر د اعتبار وړ ښه والی ښه کوي. دا منطق لا تر اوسه د RAID 6 لپاره چمتو نه دی، مګر په RAID 6 کې د داسې ناکامۍ لپاره، لیکل باید په دوه وسیلو کې په یو وخت کې ناکام شي، کوم چې لږ احتمال لري.

سربیره پردې، د RAID5/6 کارولو لپاره د پراختیا کونکو سپارښتنې د پام وړ دي. د دې سپارښتنو لنډیز دا دی چې په Btrfs کې، میټاډاټا او د معلوماتو ذخیره کولو پروفایلونه توپیر کولی شي. پدې حالت کې، تاسو کولی شئ د میټاډاټا لپاره RAID1 (عکس) یا حتی د RAID1C3 (3 کاپي) پروفایل وکاروئ، او د معلوماتو لپاره RAID5 یا RAID6 وکاروئ. دا د باور وړ میټاډاټا محافظت او د لیکلو سوري نشتوالی تضمینوي، پداسې حال کې چې د RAID5/6 د ځای ډیر اغیزمن کارول هم چمتو کوي. دا د میټاډاټا فساد مخه نیسي، او د معلوماتو فساد ترمیم کیدی شي.

دا هم د یادونې وړ ده چې غیر متمرکز "ردول" عملیات (د آزاد شوي بلاکونو نښه کول چې نور په فزیکي توګه زیرمه کیدی نشي) به د کرنل 6.2 کې په Btrfs کې د SSDs لپاره په ډیفالټ ډول فعال شي. د دې حالت ګټه د "ردول" عملیاتو اغیزمن ګروپ کولو او د شالید هینډلر لخوا د قطار وروسته پروسس کولو له امله لوړ فعالیت دی. دا پدې مانا ده چې د نورمال فایل سیسټم عملیات ورو نه کیږي ځکه چې بلاکونه آزاد کیږي، لکه څنګه چې د همغږي "ردول" قضیه ده، او SSD کولی شي غوره پریکړې وکړي. له بلې خوا، نور د fstrim په څیر اسانتیاو کارولو ته اړتیا نشته، ځکه چې ټول موجود بلاکونه به د اضافي سکین کولو یا ورو کولو عملیاتو اړتیا پرته د فایل سیسټم کې پاک شي.

سرچینه: opennet.ru

Add a comment