سیستم فایل لینوکس یک لایه داخلی از سیستم عامل لینوکس Linux را تشکیل می دهد. سیستم فایل ها وظیفه اصلی مدیریت داده های ذخیره سازی را دارند. با کمک فایل سیستم لینوکس، فایل های ذخیره شده در دیسک، سازمان دهی می شوند. علاوه بر این برای مدیریت موارد زیر کاربرد دارد:
- نام فایل
- اندازه فایل
- تاریخ ایجاد
- اطلاعات بیشتر در مورد فایل
فایل سیستم لینوکس شامل چه بخش هایی است؟
- دایرکتوری ریشه یا root directory (/)
- چند فرمت خاص ذخیره سازی داده: EXT3، EXT4، BTRFS، XFS
- دسترسی به یک پارتیشن یا حجم منطقی که سیستم فایل خاص بر روی آن است.
در این مقاله از امداد سیستم به صورت کامل با سیستم فایل لینوکس و انواع آنها، آشنا خواهیم شد.
انواع سیستم فایل لینوکس linux
بعد از نصب سیستم عامل linux انواع فایل سیستم لینوکس بر روی آن نصب می شوند. مواردی مانند:
سیستم فایل EXT,EXT2,EXT3,EXT4
فایل سیستم توسعه یافته یا ext در آوریل 1992 به عنوان اولین فایل سیستم به طور خاص برای هسته لینوکس ایجاد شد.
دارای ساختار ابرداده ای است که از اصول سیستم فایل سنتی یونیکس الهام گرفته شده است و توسط Rémy Card برای غلبه بر محدودیت های خاص سیستم فایل MINIX طراحی شده است.
EXT
EXT اولین پیادهسازی بود که از سیستم فایل مجازی (VFS) استفاده کرد؛ که پشتیبانی برای آن در هسته لینوکس در نسخه 0.96c اضافه شد و میتوانست سیستم های فایل تا 2 گیگابایت (گیگابایت) را مدیریت کند. اولین مورد از سری فایل سیستم های توسعه یافته بود.
در سال 1993، هر دو ext2 و Xiafs جایگزین آن شدند؛ که برای مدتی با هم رقابت کردند.
در نهایت ext2 به دلیل ماندگاری طولانی مدت؛ برنده شد.
ext2
ext2 مشکلات ext، مانند تغییرناپذیری inodes و تکه تکه شدن را مرتفع کرد. ext2 یا سیستم فایل توسعه یافته دوم، یک سیستم فایل برای هسته لینوکس است.
در ابتدا توسط توسعه دهنده نرم افزار فرانسوی Rémy Card به عنوان جایگزینی برای سیستم فایل توسعه یافته (ext) طراحی شد.
با توجه به همان اصولی که سیستم فایل سریع برکلی از BSD طراحی شده بود؛ اولین فایل سیستم تجاری برای لینوکس بود.
ext3
ext3 یا سیستم فایل توسعه یافته سوم، یک سیستم فایل ژورنال شده است که معمولاً توسط هسته لینوکس استفاده می شود.
این سیستم فایل پیشفرض برای بسیاری از توزیع های محبوب لینوکس بود.
استفن تویدی ابتدا فاش کرد که در مقاله ای در سال 1998 بر روی گسترش ext2 در Journaling the Linux ext2fs Filesystem کار می کرد و بعداً در فوریه 1999 در یک پست لیست پستی هسته هسته کار می کرد.
این فایل سیستم در نوامبر 2001 از 2.4.15 به بعد با هسته اصلی لینوکس ادغام شد.
مزیت اصلی آن نسبت به ext2، ژورنال است؛ که قابلیت اطمینان را بهبود می بخشد و نیازی به بررسی سیستم فایل، پس از خاموش شدن ناپاک، را از بین می برد. جانشین آن ext 4 است.
ext 4
ext4 (چهارمین فایل سیستم توسعه یافته) یک سیستم فایل ژورنالینگ لینوکس است.
به عنوان جانشین ext3 توسعه یافته است.
ext4 در ابتدا مجموعه ای از پسوندهای سازگار با عقب برای ext3 بود؛ که بسیاری از آنها در ابتدا توسط Cluster File Systems برای سیستم فایل Luster بین سالهای 2003 و 2006 توسعه یافتند.
نسخه توسعه اولیه ext4 در نسخه 2.6.19 هسته لینوکس گنجانده شد.
در 11 اکتبر 2008، وصله هایی که ext4 را بهعنوان کد پایدار علامت گذاری می کردند، در مخازن کد منبع لینوکس 2.6.28 ادغام شدند؛ که نشان دهنده پایان مرحله توسعه است و پذیرش ext4 را توصیه می کند.
هسته 2.6.28، حاوی سیستم فایل ext4، سرانجام در 25 دسامبر 2008 منتشر شد.
در 15 ژانویه 2010، گوگل اعلام کرد که زیرساخت ذخیره سازی خود را از ext2 به ext4 ارتقا خواهد داد. در 14 دسامبر 2010، گوگل همچنین اعلام کرد که از ext4 به جای YAFFS در اندروید 2.3 استفاده خواهد کرد.
سیستم فایل XFS
XFS یک سیستم فایل ژورنالینگ 64 بیتی با کارایی بالا است. توسط Silicon Graphics, Inc (SGI) در سال 1993 ایجاد شد.
xfs سیستم فایل پیش فرض، در سیستم عامل IRIX SGI بود که با نسخه 5.3 آن شروع شد. XFS در سال 2001 به هسته لینوکس منتقل شد. از ژوئن 2014، XFS توسط اکثر توزیع های لینوکس پشتیبانی شد.
Red Hat Enterprise Linux از آن به عنوان سیستم فایل پیش فرض خود استفاده می کند.
XFS با استفاده از ژورنالینگ ابرداده و پشتیبانی از موانع نوشتن؛ سازگاری داده ها را تضمین می کند.
تخصیص فضا از طریق وسعت با ساختارهای داده ذخیره شده در درختان B+ انجام می شود و همچنین عملکرد کلی سیستم فایل را بهبود می بخشد. (به خصوص در هنگام مدیریت فایل های بزرگ.)
فایل سیستم SGI XFS
با ایجاد درخواست های کاربردی جدید، محدودیت های انواع سیستم فایل سنتی لینوکس آشکار شد. SGI فایل سیستم XFS را برای رفع این محدودیت ها به سیستم عامل لینوکس منتقل کرده است.
Linux GFS
GFS یک سیستم فایل کلاستر است. این اجازه را می دهد تا خوشه ای از رایانه ها به طور همزمان از یک دستگاه بلوکی مشترک استفاده کنند. (با FC، iSCSI، NBD و غیره)
GFS مانند یک سیستم فایل محلی روی دستگاه بلوک، می خواند و می نویسد؛ اما برای حفظ ثبات سیستم فایل ها، از یک ماژول قفل استفاده می کند.
با استفاده از این ماژول قفل، رایانه ها ورودی/خروجی خود را هماهنگ می کنند.
یکی از ویژگی های بسیار خوب GFS سازگاری کامل است. تغییراتی که در سیستم فایل یک ماشین اعمال می شود؛ بلافاصله در همه ماشین های دیگر همان خوشه؛ نشان داده می شود.
BTRFS file system
سیستم فایل BTRFS مخفف b-tree (سیستم فایل درختی B) است. یک فرمت ذخیره سازی رایانه ای است که یک سیستم فایل را بر اساس کپی ترکیب می کند.
btrfs توسط کریس میسون در سال 2007 برای استفاده در لینوکس اعلام شد و از نوامبر 2013، فرمت فایل سیستم روی دیسک در هسته لینوکس ثابت اعلام شد.
کاربرد BTRFS بر طرف کردن کمبود ادغام، عکس های فوری، چک سام ها، و پوشش چند دستگاه یکپارچه در سیستم های فایل لینوکس است.
کریس میسون، نویسنده اصلی Btrfs، بیان کرد که هدف آن: “اجازه دادن به [لینوکس] مقیاس برای فضای ذخیره سازی در دسترس است. مقیاس بندی فقط به معنای پرداختن به فضای ذخیره سازی نیست، بلکه به معنای توانایی مدیریت و مدیریت آن با یک فضای تمیز است. رابطی که به مردم اجازه می دهد ببینند چه چیزی استفاده می شود و آن را قابل اعتمادتر می کند».
سیستم فایل ISO9660
iso9660 با عنوان ECMA-119 نیز شناخته می شود. یک سیستم فایل برای رسانه دیسک نوری است.
سیستم فایل iso 9660 یک استاندارد بین المللی است که توسط سازمان بین المللی استاندارد (ISO) در دسترس است.
چندین افزونه برای ISO 9660 وجود دارد که برخی از محدودیت های آن را کاهش می دهد.
نمونههای قابل توجه عبارتند از:
- Rock Ridge: مجوزهای سبک یونیکس و نام های طولانی تر.
- Joliet: یونیکد، اجازه استفاده از اسکریپت های غیر لاتین را می دهد.
- El Torito: سی دی ها را قادر می سازد تا بوت شوند.
- افزونه های ISO 9660 Apple: ویژگی های فایل خاص Mac OS و macOS کلاسیک، مانند فورک منابع، تاریخ پشتیبان گیری فایل و موارد دیگر.
بیشتر بخوانید: نحوه اتصال هارد اکسترنال به گوشی
بیشتر بخوانید: ریکاوری هارد اکسترنال با گوشی