
پیشنهاد یک سیستمفایل (File-System) تازه برای لینوکس با نام BeamFS به صورت مجموعه وصله درخواست نظر (RFC) منتشر شد. این پروژه از ایده FTRFS که پیشتر متوقف شده بود شکل گرفته است؛ FTRFS مخفف Fault-Tolerant Radiation-Robust Filesystem بود و هدف آن تحمل خطا در برابر تابش بود.
BeamFS چگونه از خرابی داده جلوگیری میکند؟
بر اساس توضیحات RFC، BeamFS یک سیستمفایل بلوکی (Block-Device Filesystem) است که بایتهای خراب را در همان دستگاه و بدون نیاز به نسخه دوم برای ترمیم، بهصورت درجا اصلاح میکند. هر بلوک داده به شکل کپسولی از شانزده کدواژه درهمبافته RS(255,239) ساخته میشود و بر lib/reed_solomon متکی است. هر خواندن (Read) این کپسول را رمزگشایی میکند و اگر رمزگشا نتواند صحت داده را تأیید کند، خواندن با خطای -EIO شکست میخورد تا بایت اشتباه به برنامه بازنگردد.
پوشش فرادادهها و سرباره ذخیرهسازی
در BeamFS فقط بلوکهای داده محافظت نمیشوند؛ بلوکهای دایرکتوری، inodeها، بیتمپ تخصیص (Allocation Bitmap) و سوپربلاک (Superblock) نیز توازن (Parity) رید-سالومون دارند. بلوکهای غیرمستقیم (Indirect Blocks) هم ناحیه توازن جداگانه خود را دارند. در چیدمان پیشفرض، از هر ۴۰۹۶ بایت، ۲۸۸ بایت (حدود ۷ درصد) سرباره (Overhead) است.
هدف: محیطهای پرتوزا و ذخیرهسازی تکدستگاهی
BeamFS برای سیستمهایی طراحی شده است که دادههایشان روی یک دستگاه ذخیرهسازی قرار دارد و در محیطی با تابش بالا کار میکنند. توسعه FTRFS از ابتدا با توجه به رایانههای درونماهوارهای و سیستمهای اتاق پرتودرمانی آغاز شده بود. BeamFS بازخوردهای پیشنهاد اولیه FTRFS را در خود جای داده تا هم طراحی بهتری ارائه دهد و هم شانس پذیرش آن در کرنل بالادستی لینوکس (Upstream Linux Kernel) بیشتر شود.
مسیر پذیرش در کرنل لینوکس
اوایل امسال و به دنبال FTRFS و دیگر پیشنهادهای سیستمفایل، توسعهدهندگان کرنل لینوکس راهنمای تازهای برای پذیرش سیستمفایلهای جدید وضع کردند. بنابراین باید دید BeamFS در نهایت چه سرنوشتی در مسیر تبدیل شدن به یک سیستمفایل لینوکس برای محیطهای پرتوزا پیدا میکند.