معرفی فایل سیستم های مطرح لینوکس: EXT2/3/4، XFS، Btrfs و ZFS

معرفی فایل سیستم های مطرح لینوکس: EXT2/3/4، XFS، Btrfs و ZFS

لینوکس سیستم عاملی است که بیشترین پشتیبانی را از Filesystem های مختلف دارد. بسیاری از آن ها مربوط به گذشته هستند، تعدادی از آن ها امتحان خود را پس داده اند و برخی دیگر نیز وجود دارند که جزء فایل سیستم های نسل جدید بوده و از امکانات شگفت انگیزی برخوردارند. در مجموع، تعداد آن ها به قدری زیاد است که ممکن است کاربران مبتدی در بدو امر گیج شوند. آنچه در این مقاله قصد داریم مورد بررسی دهیم، ماهیت فایل سیستم لینوکس نبوده بلکه معرفی فایل سیستم های رایج در سیستم عامل گنو/لینوکس است. با سکان آکادمی همراه باشید.

پیش از شروع معرفی فایل سیستم های لینوکس، به نقل قول یکی از کاربران وفادار لینوکس می پردازیم:

"اولین باری که اوبونتو نصب کردم 16 ساله بودم. تعداد زیاد فایل سیستم هایی که برای نصب این سیستم عامل در دسترس بود، باعث تعجبم شد. آنقدر زیاد بودند که دستپاچه و سردرگم شدم و نگران بودم که اگر انتخاب مناسبی نداشته باشم ممکن است سیستمم اجرای کندی داشته باشد یا در آینده دچار مشکل شوم. می خواستم بدانم کدامیک بهترین است."

از آن زمان تاکنون چیزهای زیادی تغییر کرده اند. بسیاری از توزیع های لینوکس به طور پیش فرض فایل سیستم استانداردی را برای نصب پیشنهاد می دهند و در غیر این صورت، دلیل انتخاب گزینه ی دیگر به وضوح ذکر می شود. این رویکرد اکثر توزیع های لینوکسی، روش خوبی است چرا که به تازه واردها در انتخاب شان کمک می کند اما برای کسانی که در پی آشنایی با فایل سیستم های امروزی هستند، در این مطلب قصد داریم به مرور آن ها بپردازیم.

EXT2/3/4
Extended Filesystem یا فایل سیستم توسعه یافته که با اختلاف زیادی، محبوب ترین فایل سیستم لینوکس است. EXT2/3/4 در طول این سال ها امتحان خود را پس داده و شکی در آن نیست که فایل سیستم پایدار و قابل اطمینانی است. تمام ویژگی های کرنل لینوکس مثل quota، خصوصیات POSIX و ACL را پشتیبانی می کند. بنابراین هنوز هم فایل سیستم با دوامی برای دسکتاپ و سرور محسوب می شود. ولی به هر حال، هیچ برنامه ای برای توسعه نسل جدید فایل سیستم EXT4 وجود ندارد. موسسان لینوکس هم به حمایت از Btrfs به عنوان نسل بعدی فایل سیستم اجرایی در لینوکس پرداخته اند.

XFS
گزینه ی پیشنهادی لینوکس ردهت، پس از نسخه ی ۷ این توزیع فایل سیستم XFS است. این فایل سیستم، سابقه خوبی در ابرکامپیوترها و سرورها دارد و اولین بار در سیستم عامل IRIX در سال 1994 معرفی شد. اما استفاده از آن بدون دردسر هم نیست. عمده ترین مشکل آن نبود checksum داده یا ECC است که باعث می شود اطلاعاتتان در معرض خرابی قرار بگیرد، بدون آن که از بروز اشکال مطلع شوید. از طرف دیگر bit rot باعث ایجاد مشکلاتی می شود مانند عدم فشرده سازی transparent، نبود امکان shrink یک درایو و یا گرفتن snapshot از درایو بدون ابزار اضافی و freezing I/O، که این ها حداقل نگرانی هایتان خواهد بود.

با وجود این ضعف ها، XFS به خاطر بهره بردن از parallel i/o بهینه سازی شده، به عنوان فایل سیستمی بسیار پایدار و سریع شناخته می شود و اگر بتوانید از نقص هایش صرف نظر کنید، به گزینه ای قابل اطمینان تبدیل خواهد شد. اما اگر از سخت افزاری معمولی استفاده می کنید، بهتر است گزینه ای را انتخاب کنید که مانند موارد دیگر این لیست، از بی عیب و نقص بودن اطلاعات تان هم محافظت نماید.

Btrfs
Btrfs فایل سیستم کم سن و سالی است ولی با مجموعه ای از خصوصیات جدیدی که دارد، کار راحتی برای رقابت با فایل سیستم های دیگر خواهد داشت. این فایل سیستم بعد از پیاده سازی، نیازی به مدیریت ندارد و به همین دلیل، هیچ گاه به اجرای دستوری مثل fsck روی آن احتیاج نخواهید داشت. هر ارور یا ناسازگاری که رخ دهد، از روش اختصاصی خودش به حل آن ها می پردازد. این قضیه برای بسیاری از افراد ارزشمند است. خصوصا کسانی که از لحاظ فنی، توانایی unmount کردن و اجرای دستورات برای بررسی کامل یک درایو را ندارند.

این فایل سیستم علاوه بر عدم نیاز به مداخله انسانی، به مدیریت درایوها و کنترولر RAID می پردازد. یعنی نیازی به 3 ابزار مجزا برای انجام ذخیره سازی و عملکرد robust redundant نخواهید داشت که این مورد حتی برای کسانی که از لحاظ فنی نیز توانایی انجام این کار را دارند، ارزش بالایی خواهد داشت. Btrfs به عنوان نسل بعدی فایل سیستم ها برای کاربران لینوکس شناخته می شود، دلیل آن هم ساده است؛ اگرچه این فایل سیستم بدون اقدامات اولیه، کارایی یکسانی برای همه ی اپلیکیشن ها ندارد، اما در نهایت انتخاب مناسبی برای دسکتاپ خواهد بود.

ZFS
حدودا 4 یا 5 سال قبل از Btrfs به وجود آمد و این دو از لحاظ مفهومی تشابهات زیادی با هم دارند. ZFS سابقه ی خوبی در زمینه پایداری دارد و گزینه قدرتمندی است. اگرچه به دلیل مشکلات حقوقی، هرگز همراه لینوکس عرضه نمی شود و همین باعث چالشی برای شرکت کانونیکال و اوبونتو شده است. برای اجرای ZFS باید نرم افزارهایی از ریپوزیتوری های دیگر و به اصطلاح Third Party را نصب نمایید. داشتن درایو روت با فایل سیستم ZFS می تواند مشکل ساز باشد و حتی در بعضی توزیع ها غیرممکن است. در حالی که ZFS یکی از قدرتمندترین فایل سیستم ها است، این احتمال وجود دارد که برای همیشه به عنوان گزینه ای نامناسب برای سیستم عامل های لینوکسی باقی بماند.

این ها فقط تعدادی از فایل سیستم های رایج لینوکس بودند. تعداد زیادی فایل سیستم دیگر وجود دارند که لینوکس پشتیبانی می کند، ولی یا عمرشان تمام شده و یا گمنام مانده اند مثل ReiserFS. به طور کلی گفته می شود که تعداد 36 فایل سیستم مختلف وجود دارد که مستقیما در کرنل لینوکس پشتیبانی می شوند از جمله آن هایی که در Windowd و MacOS به علاوه تعدادی که در FUSE وجود دارند. بنابراین، تنها چیزی که از سال ها پیش تغییر نکرده، تعداد انتخاب های ما درباره ی فایل سیستم های لینوکس است!

منبع


مرتضی صمدی