هنگامی که میخواهید یک هارد را برای نصب سیستم عامل لینوکس فرمت کنید، با گزینههای بسیاری برای نوع فایل سیستم انتخابی مواجه میشوید. اگر شما نیز با این چالش روبرو شدهاید و نمیدانید که کدام فایل سیستم را انتخاب کنید، در ادامه این مقاله با ما همراه باشید تا پاسخ را بیابید.
اگر مطمین نیستید از Ext4 استفاده کنید
در این مقاله ما به بررسی فایل سیستمهای مختلف سیستم عامل لینوکس و تفاوتهای بین آنها خواهیم پرداخت. ولی اگر نسبت به انتخاب فایل سیستم برای لینوکس اطمینان کافی ندارید، بهترین گزینه Ext4 است.
Ext4 فایل سیستم پیشفرض اکثر نسخههای لینوکس است. Ext4 در واقع نسخه ارتقا یافته فایل سیستم Ext3 است. Ext4 یک فایل سیستم پایدار و مطمین است.
در آینده، نسخههای لینوکس به تدریج به سمت فایل سیستم BtrFS خواهند رفت. BtrFS نسخه بسیار پیشرفته فایل سیستمهای لینوکس است که البته نیاز به بهبود و توسعه بیشتری دارد.
توجه داشته باشید که اگر هر درایوی را با فایل سیستم Ext4 فرمت کنید، این درایو فقط و فقط توسط سیستم عامل لینوکس قابل شناسایی و خوانده شدن است. بنابراین اگر به عنوان مثال قصد فرمت کردن یک درایو اکسترنال را دارید که از آن بین سیستمهای مختلف استفاده میکنید، Ext4 اصلا گزینه مناسبی نیست. زیرا سیستم عاملهای ویندوز و Mac قادر به خواندن فایل سیستم Ext4 نیستند. در این حالت بهتر است از exFAT یا FAT32 استفاده کنید.
اگر قصد دارید درایو اصلی و راهانداز سیستم عامل لینوکس خود را پارتیشن بندی کنید، بهتر است که یک قسمت از فضای هارد دیسک را به عنوان پارتیشن Swap (جانشین) در نظر بگیرید. پارتیشن Swap چیزی شبیه به Page File در سیستم عامل ویندوز است. (نحوه کار Page File به این صورت است که مقداری از فضای هارد دیسک را به عنوان حافظه RAM در نظر میگیرد) هنگامی که حافظه RAM سیستم پر شده باشد، سیستم عامل لینوکس اطلاعات موجود در آن را به پارتیشن Swap منتقل میکند. این پارتیشن باید با فایل سیستم مخصوص خود (Swap area) فرمت شود.
Journaling چیست؟
یکی از نکاتی که در هنگام انتخاب فایل سیستم باید به آن دقت کنید این است که در کنار نام برخی از فایل سیستمها عبارت “Journaling” مشاهده میشود و در مورد برخی دیگر اینطور نیست.
Journaling به گونهای طراحی شده است که از تخریب دیتا که ممکن است ناشی از قطعی ناگهانی برق یا عواملی از این دست باشد، جلوگیری میکند. فرض کنید که سیستم شما در حال نوشتن یک سری اطلاعات بر روی هارد دیسک است که ناگهان برق قطع میشود. بدون استفاده از Journaling، سیستم اطلاع دقیقی ندارد که آیا فایل بصورت کامل بر روی دیسک نوشته شده است یا خیر و ممکن است فایلی که به هارد دیسک منتقل شده است، آسیب دیده باشد.
اگر از ویژگی Journaling استفاده کرده باشید، سیستم عامل عملیات نوشتن فایل را در Journal یادداشت میکند. پس از نوشتن فایل بر روی دیسک نیز این کار را از لیست Journal حذف میکند. حال اگر در زمان نوشتن فایل بر روی دیسک برق قطع شود، هنگامی که سیستم مجددا راهاندازی شده و بالا میآید، Journal توسط سیستم عامل لینوکس بررسی میشود تا عملیاتی که انجام نشدهاند یا بصورت ناقص انجام شدهاند کامل شوند. به این صورت از تخریب فایل و از دست رفتن دیتا جلوگیری میشود.
Journaling سرعت نوشتن فایل بر روی دیسک را کمی کاهش میدهد. ولی استفاده از آن در کامپیوترهای دسکتاپ و لپتاپها میتواند بسیار ارزشمند باشد، چرا که این کاهش سرعت خیلی چشمگیر نیست. کل فایل بر روی Journal نوشته نمیشود، بلکه آدرس محل فایل بر روی دیسک در Journal قرار میگیرد.
تمام فایل سیستمهای جدید از ویژگی Journaling پشتیبانی میکنند. معمولا برای سرورها و سیستمهایی از این قبیل، از ویژگی Journaling استفاده نمیشود، زیرا کارایی و سرعت در این سیستمها نسبت به هر چیز دیگری اولویت دارد.
فایل سیستمهای لینوکس چه تفاوتهایی با هم دارند؟
لینوکس یک سیستم عامل متن باز (Open-source) است. بنابراین هر شخصی در هر جای دنیا میتواند یک فایل سیستم جدید برای این سیستم عامل ایجاد کند. همین امر یکی از دلایل وجود فایل سیستمهای بسیار زیاد برای لینوکس به شمار میآید.
- Ext:
اولین فایل سیستمی است که مشخصا برای لینوکس ایجاد شده است. این فایل سیستم که در سال 1992 معرفی شد، نسخه ارتقا یافته فایل سیستم Minix به حساب میآید. این فایل سیستم فاقد ویژگیهای مهم و اساسی است و به همین دلیل اکثر نسخههای لینوکس در حال حاضر از Ext پشتیبانی نمیکنند.
- Ext2:
این فایل سیستم ویژگی Journaling را ندارد. اولین فایل سیستمی است که از یک سری ویژگیهای اضافی مربوط به فایلها و درایوهایی با حجم 2 ترابایت پشتیبانی میکند. سرعت نوشتن فایل بر روی دیسک در این فایل سیستم به علت عدم وجود Journaling بالا است. پیشنهاد میکنیم تا جایی که میتوانید سمت این فایل سیستم نروید، مگر اینکه مطمین باشید که برای دلیل خاصی حتما نیاز دارید از آن استفاده کنید.
- Ext3:
همان Ext2 است که ویژگی Journaling به آن اضافه شده است. Ext3 به منظور سازگاری با Ext2 و امکان تبدیل پارتیشنهای Ext2 به Ext3 بدون نیاز به فرمت کردن کل پارتیشن، طراحی و ساخته شد.
- Ext4:
این فایل سیستم نیز جهت سازگاری با نسخههای پیشین طراحی شد. ویژگیهای جدیدی به Ext4 افزوده شده است. یکی از قابلیتهای خوب و مفید این فایل سیستم، کاهش تکه تکه شده فایلها (Fragmentation) است. Ext4 جدیدترین نسخه از سری فایل سیستمهای Ext است که در سال 2008 معرفی شد و امروزه در اکثر نسخههای لینوکس بصورت پیشفرض استفاده میشود.
- BtrFS:
برای اولین بار توسط Oracle طراحی و پیادهسازی شد. برگرفته از عبارت “B-Tree File System” است و ویژگیهایی مانند ادغام درایوها، فشردهسازی و یکپارچهسازی (Defragmentation) را دارا است.
- ReiserFS:
این فایل سیستم که در سال 2001 معرفی شد، یک جهش بزرگ رو به جلو برای لینوکس بود. ReiserFS ویژگیهای جدید بسیاری داشت که Ext هرگز قادر به دستیابی به آنها نیست. این فایل سیستم جایگزین Reiser4 شد که البته ویژگیها و قابلیتهای آن نسبت به نسخه پیشین تا حد بسیار زیادی افزایش داشت.
- ZFS:
توسط Sun Microsystems برای سیستم عامل Solaris طراحی شد و اکنون در مالکیت Oracle قرار دارد. ZFS ویژگیهای پیشرفته بسیاری دارد که از آن میان میتوان به ادغام درایوها اشاره کرد. در این فایل سیستم، هر فایل یک کنترل کننده خطا دارد، بنابراین ZFS قابلیت تشخیص خراب شدن فایلها را نیز دارد.
- XFS:
در سال 1994 توسط کمپانی Silicon Graphics برای سیستم عامل SGI IRX طراحی و پیادهسازی شد و در سال 2001 وارد دنیای لینوکس گردید. XFS در هنگام کار با فایلهایی با حجم بالا کارایی بسیار خوبی دارد، ولی در مورد فایلهای کوچک در مقایسه با سایر فایل سیستمها عملکرد چندان مناسبی ندارد. بنابراین برای استفاده در سرورهای خاصی که به طور حتم با فایلهای حجیم سر و کار دارند، میتواند گزینه بسیار مناسبی باشد.
- JFS:
این فایل سیستم که نام آن برگرفته از عبارت “Journaled File System” است، در سال 1990 توسط کمپانی IBM و برای سیستم عامل IBM AIX طراحی شد و چند سال پس از آن به لینوکس راه یافت. JFS در هنگام کار بر روی فایلهای بزرگ و کوچک، حداقل استفاده از CPU را دارد. اندازه پارتیشنهای JFS را میتوان بصورت پویا (Dynamic) تغییر داد.