لینوکس سیستمعاملی است که بیشترین پشتیبانی را از انواع 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 میپردازد؛ به عبارت دیگر، نیازی به چند ابزار مجزا برای انجام ذخیرهسازی نخواهید داشت که این مورد حتی برای کسانی که از لحاظ فنی نیز توانایی انجام این کار را دارند، ارزش بالایی خواهد داشت.
Btrfs به عنوان نسل بعدی فایل سیستمها برای کاربران لینوکس شناخته میشود و دلیل آن هم ساده است؛ اگرچه این فایل سیستم بدون اقدامات اولیه کارایی یکسانی برای همهٔ پلتفرمها ندارد، اما در نهایت انتخاب مناسبی برای دسکتاپ خواهد بود.
ZFS
حدودا 4 یا 5 سال قبل از Btrfs به وجود آمد و این دو از لحاظ مفهومی تشابهات زیادی با هم دارند. ZFS سابقهٔ خوبی در زمینهٔ پایداری دارد و گزینهٔ قدرتمندی است اما به دلیل مشکلات حقوقی، هرگز همراه لینوکس عرضه نمیشود و همین باعث چالشی برای شرکت کانونیکال و اوبونتو شده است (همچنین برای اجرای ZFS باید نرمافزارهایی از ریپازیتوریهای دیگر و به اصطلاح Third Party را نصب نمایید).
داشتن درایو روت با فایل سیستم ZFS میتواند مشکلساز باشد و حتی در بعضی توزیعها غیرممکن است. در حالی که ZFS یکی از قدرتمندترین فایل سیستمها است، این احتمال وجود دارد که برای همیشه به عنوان گزینهای نامناسب برای سیستمعاملهای یونیکسی باقی بماند.
اینها فقط تعدادی از فایل سیستمهای رایج لینوکس بودند. تعداد زیادی فایل سیستم دیگر وجود دارند که لینوکس پشتیبانی میکند، ولی یا عمرشان تمام شده و یا گمنام ماندهاند مثل ReiserFS. به طور کلی گفته میشود که تعداد 36 فایل سیستم مختلف وجود دارد که مستقیماً در کِرنِل لینوکس پشتیبانی میشوند از جمله آنهایی که در Windowd و MacOS به علاوه تعدادی که در FUSE وجود دارند.