د لینکس کرنل ته د Bcachefs هڅول

کینټ اوورسټریټ ، د BCache SSD بلاک وسیلې کیشینګ سیسټم لیکوال ، چې د لینکس کرنل برخه ده ، د LSFMM 2023 کنفرانس کې په خپله وینا کې د Bcachefs فایل سیسټم هڅولو په اړه د کار پایلې لنډیز کړې (لینکس ذخیره ، فایل سیسټم ، د حافظې مدیریت او د BPF غونډه) د لینکس کرنل اصلي جوړښت کې او د دې FS د لا پراختیا لپاره د پلانونو په اړه یې خبرې وکړې. د می په میاشت کې، د 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) میکانیزم غیر فعالولو لپاره نوی نوکو موډ اضافه شوی. د دوبي په جریان کې ، دوی پلان لري چې د غلطۍ سمولو کوډونو پلي کول او RAIDZ یو مستحکم حالت ته راوړي ، او همدارنګه د fsck یوټیلیټ سره د فایل سیسټمونو رغولو او چک کولو پرمهال د لوړې حافظې مصرف سره ستونزې حل کړي.

د راتلونکي لپاره د پلانونو څخه، د Bcachefs په پراختیا کې د زنګ ژبې کارولو هیله یادونه شوې. د Bcachefs د لیکوال په وینا، هغه کوډ کول خوښوي، نه د کوډ ډیبګ کول، او اوس دا لیونی دی چې په C کې کوډ ولیکئ کله چې غوره اختیار شتون ولري. زنګ لا دمخه د کارونکي ځای ځینې اسانتیاو پلي کولو کې په Bcachefs کې دخیل دی. سربیره پردې ، دا نظر په تدریجي ډول په Rust کې د Bcachefs بیا لیکلو لپاره رامینځته شوی ، ځکه چې د دې ژبې کارول د پام وړ د ډیبګ کولو وخت خوندي کوي.

لکه څنګه چې د لینکس کرنل اصلي جریان ته د Bcachefs حرکت کولو لپاره ، د منلو پروسه ممکن د بدلونونو لوی اندازې (2500 پیچ او شاوخوا 90 زره کوډ لینونو) له امله وځنډول شي ، کوم چې بیاکتنه ستونزمنه ده. د بیاکتنې ګړندۍ کولو لپاره ، ځینې پراختیا کونکو وړاندیز کړی چې د پیچ ​​لړۍ په کوچنیو او منطقي ډول جلا شوي برخو ته مات کړي. د بحث په جریان کې، یو شمیر ګډونوالو د یوې پراختیا کونکي لخوا د پروژې پراختیا ته هم پاملرنه وکړه او دا خطر چې د دې پراختیا کونکي سره د څه پیښیدو په صورت کې کوډ پاتې کیدی شي (دوه د ریډ هیټ کارمندان د پروژې سره علاقه لري ، مګر د دوی کار لاهم دوام لري. محدود بګ اصلاحات).

Bcachefs د ټیکنالوژیو په کارولو سره رامینځته شوي چې دمخه د Bcache بلاک وسیلې په پراختیا کې ازمول شوي ، په ګړندۍ SSDs کې سست هارډ ډرایو ته د لاسرسي لپاره ډیزاین شوي (د 3.10 خوشې کیدو راهیسې په کرنل کې شامل دي). Bcachefs د Copy-on-write (COW) میکانیزم کاروي، په کوم کې چې بدلونونه د ډیټا د لیکلو لامل نه کیږي - نوی حالت نوي ځای ته لیکل کیږي، وروسته له هغې چې د اوسني حالت شاخص بدل شي.

د Bcachefs یوه ځانګړتیا د ډرایو د څو پرتونو اتصال لپاره ملاتړ دی، په کوم کې چې ذخیره د څو پرتونو څخه جوړه شوې ده - ګړندی ډرایو (SSDs) د لاندې پرت سره وصل دي، کوم چې په مکرر ډول کارول شوي ډیټا ذخیره کولو لپاره کارول کیږي، او د پورتنۍ پرت ​​بڼه جوړوي. ډیر ظرفیت لرونکي او ارزانه ډیسکونه چې لږ غوښتل شوي ډیټا ذخیره کوي. د رایټ بیک کیشینګ د پرتونو ترمینځ کارول کیدی شي. ډرایو په متحرک ډول اضافه کیدی شي او له برخې څخه جلا کیدی شي پرته لدې چې د فایل سیسټم کارولو مخه ونیسي (ډیټا په اوتومات ډول مهاجرت کوي).

سرچینه: opennet.ru

Add a comment