دسترسی به پارتیشن‌های ext4 و lvm2 از داخل ویندوز

حالا درسته که دیگه سالی یه بارم به ویندوز سرک نمی‌کشیم اما بالاخره کاربرای تازه کار یکی از دغدغه‌هاشون دسترسی به فایلای رو لینوکس از داخل ویندوز بوده و هست:) طبق معمول یه آدم(گروه)  نابغه اینکارو برامون انجام شدنی کرده.

برای اینکار به برنامه Ext2read نسخه ۲.۲ احتیاج داریم. ویژگی‌های جدید این پروژه هم به قرار زیر هست:

یه اینترفیس خوشگل و مامانی که با کیوتی طراحی شده.
خوندن پارتیشنای ext2 و ext3 و ext4
پشتیبانی از LVM2 (خدا پدر مادرشون رو بیامرزه)
پشتیبانی از فایل‌های بزرگ در EXT4 ( که این قابلیت هنوز تست نشده)
کپی یه فولدر با تمام مخلفاتش به صورت بازگشتی
usb خارجی رو هم پشتیبانی می‌کنه (با پارتیشن‌های ذکر شده!)
پشتیبانی از یونیکد

و در صورت داشتن مشکل با برنامه،‌از گذاشتن کامنت در وبلاگ این بابا کوتاهی نفرمایید.
دکمه‌های next و back هم تو نسخه‌های بعدی اضافه می‌شه

برای دانلود برنامه هم به اینجا مراجعه کنید.

ماشین مجازی

آقا اینقدر گفتن سون سون که ما رو هم تب سون گرفت و رفتیم این سیستم رو نصب کردیم! اما این مایکروسافت مگه می‌تونه یه کارو درست و حسابی انجام بده!؟؟؟ شما تصور کنید ما برای این ویندوز سون اومدیم یه پارتیشن ۱۵ گیگی در همسایگی پارتیشن ۳۰۰ گیگی لینوکسمون اختصاص دادیم که خوب مشخصه همه زندگیمون  تو این ۳۰۰ گیگه!‌ حالا در نظر بگیرید قبلشم ما سیستم لئوپارد رو  سیستم داشتیم و طی یه حرکت ژانگولر بازی قصد داشتم با رفتن به لینوکس لایو و از طریق جی‌پارتد ، پرچم  بوت رو از ویندوز سون به لینوکس مینت تغییر بدیم  تا هر دفه سیستم رو روشن می‌کنیم از طریق گراب به همه سیستم عاملا دسترسی داشته باشیم! اما در کمال تعجب با وارد شدن به جی‌پارتد مشاهده شد که ۳۰۰ گیگ از اطلاعات ما به وضعیت سیاهچاله‌ای در اومده که هیچ وضعیتی نداره و به عنوان تکه‌ای از فضای خالی در هارد محسوب می‌شه، که باید اون رو از نو پارتیشن بندی کنیم. خوب من اول کار سکته خفیفی زدم و از اونجا که نمی دونستم مشکل زیر سونه تمام ناله و نفرینا به آپدیت بایوس در ویندوز اکس‌پی روانه شد. که این آپدیت بایوس هم چون معلول بود و علت نصب لئوپارد بود تمام ناله‌های ما روانه این سیستم عامل شد! اما خوب موضوع این بود که این چه مشکلیه که فقط یه پارتیشن لینوکس رو پاک کرده؟ و از همین ظن و البته لینکی که رفیق همیشگمون داد مشخص شد که ویندوز پر آوازه سون، شهرت عام و خاص هستن در پاک کردن پارتیشن کناریشون و کلا هر پارتیشنی! و خوب من هنوزم باور نمیکنم که متخصصین مایکروسافت از وجود این باگ بی اطلاع بوده باشن و به همین دلیل باشه که تو آخرین نسخه سونی که به بازار اومده این مشکل رو حل نکرده باشن!‌ یعنی یه جورایی فک می کنم متخصصین مایکروسافت به صورت کاملا ماهرانه کاری کردن که پارتیشن لینوکس طرف حتما پاک شه. البته این فقط یه حدسه. حالا از این قضیه که بگذریم خدا رو شکر ما تونستیم توسط برنامه آکرونیس ۷۰ مگی در ویندوز در عرض دو سوت پارتیشن پاک شدمون رو بازیابی کنیم. منم بلافاصله بعد بالا اومدن سیستم اول همه سون رو پاک کردم.

اما من چون آدم سریشی هستم و برای تست هم که شده رفتم این سون رو با کمک ویرچال باکس یا همون جعبه مجازی یا ماشین مجازی از توی لینوکس نصب کردم که خوب فقط باید بگم زیبایی داره و دیگه  هیچی نداره! بعد از این رفتیم سراغ آی‌ای ۸ نسخه کاملش رو روی اکس پی نصب کردیم که علارغم تبلیغات مسموم دشمنان متوجه تو خالی بودن تمام ادعاهای اونا هم شدیم! خوب اولین ادعا این بود که برای هر تب در آی‌ای یک پروسه جدید باز می‌شه که خوب واقعا هم می‌شد! اما این معنیش اینه که وقتی یه تب پکید کل سیستم نپکه. ‌اما من نمی‌دونم چرا هر وقت وارد این آدرس می‌شدم آی‌ای من به کل با تمام ملزوماتش هنگ می‌کرد و من باید با زدن dont send به کارش خاتمه می‌دادم!؟ اگه به آدرس دقت کنید متوجه می‌شید که این آدرس مربوط به نحوه نصب لئوپارد بر روی پی‌سی هست و این یعنی ظن و گمان آدم به این سمت باید بره که آیا این کار از روی عمده!؟ یعنی چرا باید هر دفه با رفتن به این آدرس کل مرورگر از کار بیفته!؟‌ بنابراین ما کلا از آلات و تجهیزات مایکروسافت بکلی دلزده شده و کلا به سمت لینوکس مینت ۶۴ بیتی خودمون مهاجرت کردیم. خوب تو اینجا هم من چند تا مشکل دارم که هنوز موفق به حل اونها به روش متعارف نشدم! یکی از اونا مودم هست که خوب به دلیل اینکه ۶۴ بیتیه موفق به نصب نشدیم.  راه جایگزین رو فعلا ای‌دی‌اس‌ال دیدیم. گزینه بعدی پرینتر اچ‌پی بود که به صورت خیلی خنده داری علارغم اینکه همه جا نوشتن در لینوکس پشتیبانی‌ می‌شه و اصلا درایور رسمی هم براش منتشر شده و اصلا اسمش رو هم لینوکس من نشون می‌داد اما هنوز نمی‌تونه پرینت رو بگیره و در اصطلاح چراغش قرمز شه! اما ایرادی نداره. ما به کمک کلک رشتی کارمون رو راه می‌ندازیم! اونم چه کلک رشتیه!

خوب خیلی راحت شما می‌رید و از روی ماشین مجازی، سیستم عامل اکس‌پی رو نصب می‌کنید. اما نکته اینجاست که ماشین مجازی شما باید حتما یو‌اس‌بی رو ساپورت کنه! و این بدین معنیه که ویرچال باکس اپن‌سورس به درد کار ما نمی‌خوره:( بنابراین یه راست می‌ریم سراغ گزینه اصلی که چیزی نیست جز vmware workstation 6.5.1 که نسخه کاملش رو از سایت اصلی بعد از یک رجیستر ساده برای لینوکس ۶۴ بیتی می‌تونید دانلود کنید که البته فکر می‌کنم محدودیت ۳۰ روز داره که خوب با دادن یه سریال نامبر ساده مشکل برای همیشه حل می‌شه. خوب بعد نصب اکس‌پی هم می‌رید درایور پرینتری که برای ویندوز هست رو می‌گذارید و چون پرینتر از طریق یو‌اس‌بی به سیستم وصله خیلی راحت کار می‌کنه. و این یعنی زنده شدن پرینتر و البته هر شی دیگه‌ای که یو‌اس‌بی داشته باشه. مثلا اگر شما مودمی دارید که تو لینوکس نصب نمی‌شه اما از نوع یو‌اس‌بی هست با این روش به راحتی می‌تونید راهش بندازید! و بعد از توی ویندوز به اینترنت وصل می‌شید (نمی‌دونم مبدل pci به usb هم هست یا نه).  خوب این تازه اول راهه و وقتی متوجه شید که ماشین مجازی شما دایرکت ایکس ۹ داره و شما به شرط اینکه کارت گرافیکیتون در لینوکس نصب باشه، به راحتی می‌تونید از این قابلیت استفاده کنید! و این یعنی بازی در ماشین مجازی تحت لینوکس! تجربه‌ای بسیار شیرین و دلچسب و تازه وسطای بازی ممکنه شما متوجه بشین که صدا ندارین! که خوب این یه مشکل کوچیکه و به راحتی حل می‌شه! موضوع از این قراره که شما دو تا راه دارید! اگه از این راه برید شما داری صدا می شید! اما همزمان نمی‌تونید هم در لینوکس و یا در  ویندوز صدا دار باشید (یا این یا اون)! اما راه دوم خوب به شما کمک می‌کنه همزمان در دو سیستم صدا داشته باشید. از هر راهی هم که برید کافیه طبق دستور خیلی ریلکس جلو برید! به صورت خارق العاده‌ای همه چیز کار می‌کنه! و جای هیچ نگرانی نیست 🙂 فقط تو روش دوم صدایی که از وی ام ویر برای من در می‌یومد یه مقداری کیفیتش پایین بود.

اما قابلیت جالب دیگه‌ای که شما دارین اینه که شما از داخل ویندوز می‌تونید به تمام فایلای توی لینوکس دسترسی پیدا کنید و این یعنی عالی. شما قبلا بایستی یه پارتیشن به ویندوز اکس‌پی اختصاص می‌دادید و یک پارتیشن به لینوکس و این یعنی چند تیکه شدن والبته خطر هک شدن در اکس‌پی! اما شما با ماشین مجازی این محدودیت‌ها رو نخواهید داشت. شما حتی می‌توانید  فایل‌ها رو پاک کنید و یا به راحتی فیلم‌های روی پارتیشن لینوکس رو با مدیا پلیر نگاه کنید! و یا اینکه اگر در لینوکس اینترنت ای‌دی‌اس‌ال داشته باشید به راحتی‌ می‌توانید از طریق کروم و یا سافاری به مرور بپردازید. و یا برعکس اگر مودم ADSL با پورت یواس‌بی دارید و اون رو نمی‌تونید تو لینوکس نصب کنید! به راحتی با این روش می‌تویند اون رو تو ویندوز نصب و اون رو با لینوکس شیر کنید! جالبه بدونید که دوست من با این تکنیک موفق شد در زمانی که برق کل شهر هر روز می‌رفت با لب‌تاب نازنین مکش و نصب همین ماشین مجازی و بعد نصب ویندوز، مودم usb که شرکت آفریقاتک بهش انداخته رو دوباره راه بندازه و بعد در زمانایی که برق می‌ره بازم به اینترنت متصل باشه 🙂

کارای دیگه‌ای که خیلی راحت می‌شه انجام داد نصب برنامه‌های معروف همچون فتوشاب و کلا برنامه‌های گرافیکی و یا نصب برنامه مطلب رو ویندوز و استفاده از اونا در لینوکسه که تجربه خیلی جالبیه.تنها عیب این روش اینه که شما باید به پردازشگر حداقل دو هسته‌ای داشته باشید و البته پیشنهاد من یه ۴ هسته‌ای و یا حتی بیشتره! و هر چی رم بیشتر زندگی بهتره. پیشنهاد من ۱۶ گیگ رمه که متاسفانه بیشتر از اون رو مین بورد احتمالا ساپورت نمی‌کنه.

http://www.letslearnlinux.com/suseblog/2008-05-21/linux_versus_windows_tshirt.jpg

مقایسه‌ی فایل ‌سیستم‌های لینوکس (ext3 ,reiser,xfs,jfs)

من خودم یه پی‌سی درب و داغون دارم که قدرت محاسباتیش با اورکلاک الان شده ۹۰۰ مگاهرتز و بچه‌ها بهش می‌گن پنتیوم تری!!‌ الانم روش پارسیکس نصبه!. یکی از برنامه‌های معروف پارسیکس هم دیکشنری اون هستش(xFarDic) که توسط آقای آلن باغومیان نوشته نوشته شده و مناسب برای محیط گنوم لینوکس هست. من از اونجایی که همیشه به یک رسم تبدیل شده و داخل همه کتابهای  مربوط به لینوکس هم نوشته شده سیستم فایل رو ext3 انتخاب می‌کنم. نتیجه این می‌شد که دیکشنری آقای آلن باغومیان نتیجه بسیار بدی رو به همراه داشت!‌ یعنی وقتی یک لغت رو وارد می‌کردم و می‌خواستم دنبالش بگردم یه نیم‌ساعتی هارد ما درگیر می‌شد تا لغت مورد نظر رو بتونه پیدا کنه ! چند وقت بعد از روی کنجکاوی اومدیم و فایل سیستم لینوکس رو به  JFS تغییر دادیم و  بعد اولین تغییر محسوس رو در دیکشنری آقای آلن شاهد بودیم! ‌نتیجه خیره کننده بود!!‌ به محض وارد کردن هر لغتی معنی اون رو جلوی چشمانم می‌دیدم!‌ اصلا باورم نمی‌شد !‌ تا اینکه چند روز پیش به آزمایشی علمی در یکی از سایت‌های معتبر برخورد کردم که که این برتری  سیستم فایل JFS رو نشون می‌داد. بد ندیدم  ترجمه‌ی این آزمایش رو اینجا بگذارم تا شاید بتونم نگرش افراد رو در مورد سیستم‌ فایل‌های لینوکس تغییر بدم. از قبل هم بگم که این مقاله بر روی سخت‌افزارهای قدیمی (پنیتوم ۳ و ۲ و همچنین هاردهای آی‌دی‌ای تست شده).

سیستم دقیق این تست به قرار زیر هستش.

    Hardware

  • Processor : Intel Celeron 533
  • RAM : 512MB RAM PC100
  • Motherboard : ASUS P2B
  • Hard drive : WD Caviar SE 160GB (EIDE 100, 7200 RPM, 8MB Cache)
  • Controller : ATA/133 PCI (Silicon Image)
    OS

  • Debian Etch (kernel 2.6.15), distribution upgraded on April 18, 2006
  • All optional daemons killed (cron,ssh,saMBa,etc.)
    Filesystems

  • Ext3 (e2fsprogs 1.38)
  • ReiserFS (reiserfsprogs 1.3.6.19)
  • JFS (jfsutils 1.1.8)
  • XFS (xfsprogs 2.7.14)

توضیح کارهای انجام شده

کارهای انجام شده بر روی یک فایل بزرگ به حجم ۷۰۰ مگابایت و از نوع ایزو ایمیج (ISO Image)

  • کپی این فایل ایزو از یک هارد ثانی به هارد مورد تست
  • کپی مجدد فایل ایزو به یک مکانی دیگر در هارد مورد تست
  • پاک‌ سازی هر دو فایل ایزو از روی هارد مورد تست

کارهای انجام شده بر روی درختی از فایل(شامل ۷۵۰۰ فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگابایت)

  • کپی درخت فایل از یک هارد ثانی به هارد مورد تست
  • کپی مجدد درخت فایل در مکانی دیگر بر روی هارد مورد تست
  • پاکسازی هر دو درخت فایل بر از روی هارد مورد تست

کارهای انجام شده داخل درخت قایل

  • گرفتن لیست بازگشتی از تمام محتوای درخت فایل و دخیره‌ی آن بر روی هارد آزمایش شده
  • جستجوی فایل‌های مورد نظر از داخل درخت فایل با کمک کاراکترهای جستجو(؟ و *)

کارهای انجام شده بر روی فایل سیستم

  • ایجاد فایل سیستم به کمک دستور mkfs (همه‌ی فایل سیستم‌ها با مقادیر پیشفرض ایجاد شده‌اند)
  • مانت کردن فایل سیستم
  • آن‌مانت کردن فایل سیستم

نتایج

ظرفیت پارتیشن

ظرفیت پارتیشن ابتدایی (پارتیشن بلافاصله بعد از ایجاد فایل سیستم) و ظرفیت پارتیشن مانده (پارتیشن بعد از پاک سازی همه فایل‌ها)‌ توسط نسبت عددی محاسبه می‌شود که معرف بلاک‌های در دسترس از تمام بلاک‌های موجود بر روی پارتیشن می‌باشد که Ext3 بدترین نتیجه رو در ظرفیت ابتدایی کسب می‌کنه (۹۲٫۷۷%) در حالی که باقی فایل سیستم‌ها تقریبا از تمامی ظرفیت پارتیشن استفاده می‌کنن (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%) . نکته جالب در ظرفیت مانده هست که در فایل سیستم Ext3 و ReiserFS ظرفیت مانده با ظرفیت ابتدایی هیچ فرقی نداره در حالی که ظرفیت مانده فایل سیستم‌های JFS و XFS مفداری از ظرفیت پارتیشن رو از دست می‌دن (۰٫۰۲%) که البته مقدار کمیه. و بعد هم مقداری دوباره به ظرفیت ابتدایی نزدیک می‌شوند ولی به صورت کامل نمی‌توانند به آن برسند.
نتیجه: برای استفاده‌ی حداکثری از ظرفیت پارتیشن خودتون یکی از فایل سیستم‌های ReiserFS، JFS، XFS را انتخاب نمایید.

ایجاد فایل سیستم، مانت کردن و آنت‌مانت کردن آن

ایجاد فایل سیستم بر روی ۲۰ گیگابایت از هارد مورد تست برای نوع Ext3 ، زمان ۱۴.۷ ثانیه را لازم دارد که با زمان ۲ ثانیه‌ای و یا کمتر برای ایجاد دیگر فایل سیستم‌ها قابل مقایسه هست. (ReiserFS = 2.2, JFS = 1.3, XFS = 0.7) با این وجود مانت کردن ReiserFS پنج تا ۱۵ بار زمان بیشتری(۲.۳ ثانیه) را نسبت به دیگر فایل سیستم‌ها نیاز دارد (Ext3 = 0.2, JFS = 0.2, XFS = 0.5) و برای عمل آن‌مانت کردن آن (۰.۴ ثانیه)‌ ۲ برابر دیگر فایل ‌سیستم‌ها نیاز به زمان می‌باشد. در مورد مقایسه میزان مصرف پردازشگر در مورد ایجاد فایل سیستم‌ها بین ۵۹٪ در مورد ReiserFS تا ۷۴٪ برای JFS متغیر می‌باشد. و مانت کردن فایل‌ سیستم‌ها بین ۶ تا ۹ درصد می‌باشد با این وجود عمل آن‌مانت کردن Ext3 و XFS دو برابر دیگر فایل سیستم‌ها مصرف پردازشگر دارند (۳۷ تا ۴۵ درصد) که با مصرف ۱۴ درصدی ReiserFS و ۲۷ درصدی JFS قابل مقایسه می‌باشند.
نتیجه:‌برای ایجاد سریع فایل سیستم و همچنین سرعت در عمل مانت و آن‌مانت کردن فایل ‌سیستم JFS و یا XFS را استفاده کنید.

کار با فایل‌های بزرگ (ISO Image با حجم ۷۰۰ مگابایت)

زمان لازم برای کپی ابتدایی این فایل بزرگ بر روی فایل ‌سیستم‌ها برای  Ext3 با زمان ۳۸.۲ و ReiserFS با زمان ۴۱.۸ ثانیه بود که با زمان ۳۵.۱ ثانیه‌ای JFS و ۳۴.۸ ثانیه‌ای XFS قابل مقایسه می‌باشد. کپی مجددی را از همین فایل و بر روی همان هارد در مکانی دیگر انجام دادیم. برتری با XFS با زمان ۳۳.۱ ثانیه‌ای بود که در مقایسه با فایل ‌سیستم‌های دیگر (Ext3 = 37.3, JFS = 39.4, ReiserFS = 43.9) با معنی بود. پاکسازی این فایل ایزو بر فایل‌‌سیستم‌های JFS و XFS با زمان ۰.۰۲ ثانیه برای هر دو صد برابر سریعتر از دیگر فایل‌ سیستم‌ها بود (۱.۵ ثانیه برای ReiserFS و ۲.۵ ثانیه برای Ext3)!!‌ همه‌ی فایل‌ سیستم‌ها در مورد میزان مصرف پردازشگر در هنگام کپی ابتدایی فایل ایزو مقادیری بین ۴۶ تا ۵۱ درصد بود و میزان مصرفشان در هنگام کپی مجدد نیز بین ۳۸٪ تا ۵۰٪ بود . برای پاک کردن فایل ایزو هم ReiserFS نیاز به ۴۹ درصد از پردازشگر داشت در حالی که این مقدار برای دیگر فایل سیستم‌ها حدودا ۱۰ درصد بود. تمایل JFS به کمتر مصرف کردن از پردازشگر مشخص بود. (پنج تا ۱۰ درصد کمتر ). تعداد صفحات خطای کمتر (The number of minor page faults) بین فایل‌ سیستم‌ها مشابه بود(از ۶۰۰ خطا در XFS بگیرین تا ۶۶۱ خطا در ReiserFS)
نتیجه: ‌برای کار بر روی فایل‌های بزرگ JFS و XFS را انتخاب نمایید و اگر به  میزان مصرف کمتر پردازشگر از سوی فایل سیستم علاقه دارید، ‌JFS اصلح می‌باشد.

کار بر روی درخت فایل یا همون انبوهی از فایل‌ها و دابرکتوری‌های تو در تو (۷۵۰۰  فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگ)

کپی ابتدایی از این درخت بر روی هارد در سیستم‌فایل Ext3  با سرعت بیشتری انجام شد (۱۵۸.۳ ثانیه) و برای XFS این زمان به ۱۶۶.۱ ثانیه رسید که با ReiserFS با زمان ۱۷۲.۱ ثانیه و JFS با زمان ۱۸۰.۱ قابل مقایسه می‌باشند. نتایج مشابهی نیز برای کپی مجدد بر روی همین دیسک سخت برای این فایل سیستم‌ها بدست می‌آید. در کپی مجدد برتری همچنان با Ext3 با زمان ۱۲۰ ثانیه می‌باشد که قابل مقایسه با دیگر فایل سیستم‌ها می‌باشد (XFS = 135.2, ReiserFS = 136.9 and JFS = 151). با این وجود پاکسازی درخت فایل در Ext3 دو برابر (۲۲ ثانیه) در مقایسه با  ReiserFS با زمان ۸.۲ ثانیه و XFS با زمان ۱۰.۵ ثانیه و JFS با زمان ۱۲.۵ ثانیه، وفت برد!! همه‌ی فایل سیستم‌ها برای عمل کپی بین ۲۷ تا ۳۶ درصد از پردازشگر را به خود اختصاص دادند و برای کپی مجدد این مقدار بین ۲۹٪‌ از JFS تا ۴۵٪‌ از ReiserFS رسید.جای شگفت هست که ReiserFs و XFS برای پاک کردن درخت فایل به شدت پردازشگر رو اشغال می‌کردند (۸۶ درصد و ۶۵ درصد)‌ در حالی که در دیگر فایل سیستم‌ها این مقدار به ۱۵ درصد می‌رسید(Ext3 و JFS). در اینجا باز هم JFS تمایل کمتری به استفاده از پردازشگر رو نسبت به دیگر فایل ‌سیستم‌ها از خود نشون داد. تعداد صفحات خطا به صورت با معنی در ReiserFS بالا بود (۵۸۴۳) در حالی که برای دیگر فایل‌ سیستم‌ها این آمار بین ۱۴۰۰ تا ۱۴۹۰ بود. این تفاوت حتی به مقادیری بالاتری از صفخات خطا نیز (۵ تا ۲۰ برابر) در کپی مجدد و پاکسازی درخت فایل برای ReiserFS نسبت به دیگر فایل ‌سیستم‌ها می‌رسید!
نتیجه: برای انجام کارهای سریع بر روی فایل‌های انبوه و تو در تو موسوم به درخت فایل استفاده از Ext3 و یا XFS سفارش می‌شود.

لیست گرفتن از دایرکتوری‌ها و جستجوی فایل‌ها از داخل درخت فایل قبلی

لیست گرفتن از تمام دایرکتوری‌های این درخت فایل در ReiserFS با زمان ۱.۴ ثانیه و XFS با زمان ۱.۸ قابل مقایسه با Ext3 با زمان ۲.۵ و JFS با زمان ۳.۱ ثانیه می‌باشد. نتایج مشابهی نیز برای جستجوی فایل بدست آمد بدین ترتیب که زمان ۰.۸ ثانیه برای ReiserFS و زمان ۲.۸ ثانیه برای XFS بود که قابل مقایسه با زمان‌های ۴.۶ ثانیه‌ای Ext3 و ۵ ثانیه‌ای JFS بود. Ext3 و JFS به صورت مشابه در هنگام لیست کردن دایرکتوری‌ها ۳۵ درصد و در هنگام جستجوی فایل‌ها ۶ درصد از پردازشگر را اشغال می‌کردند. XFS مقدار بیشتری از پردازشگر را در هنگام لیست کردن فایل اشغال می‌کرد (۷۰ درصد)‌ والبته به همین ترتیب در مورد جستوجوی فایل عمل می‌کرد (۱۰ درصد). ReiserFS نیز استفاده‌ی افراطی را از پردازشگر برای خود به ثبت رساند  و به ترتیب ۷۱ و ۳۶ درصد از پردازشگر را برای لیست کردن دایرکتوری و جستجوی فایل به خود اختصاص ‌داد. و دوباره درباره تعداد کمتر صفحات خطا این تعداد در مورد ReiserFS سه برابر دیگر فایل‌ سیستم‌ها می‌باشد (۱۹۹۱ در برابر ۷۰۴ تا ۷۱۲ خطا).
نتیجه:انجام این آزمایش نشان داد که سرعت بیشتر ، در جستجو و لیست کردن دایرکتوری به همراه خود مصرف بیشتر پردازشگر را نیز دارد (ReiserFS و XFS)‌ و بالعکس (Ext3 و JFS)‌

نتیجه‌گیری کلی

نتیجه اینکه گرچه همه فایل سیستم‌ها خوب هستن اما در نهایت شما باید یکی رو انتخاب کنید. براساس نتایج بدست آمده XFS مناسب‌ترین گزینه برای کامپیوترهای خانگی و همینطور برای مقاصد تجاری اما در سطحی کوچک می‌باشد.
خلاصه‌ی دلایل برتری XFS

  • استفاده‌ی حداکثری از هارددیسک
  • سریع‌ترین فایل‌ سیستم برای ایجاد و مانت و آنت‌مانت کردن
  • سریعترین فایل‌ سیستم برای کار با فایل‌های حجیم (بیشتر از ۵۰۰ مگابایت)
  • این فایل سیستم مکان خوبی برای نگهداری بک‌آب فایل‌ها می‌باشد
  • استفاده از زمان و پردازشگر به صورت میانه برای لیست کردن و جستجوی فایل‌ها
  • اگرچه کمترین میزان مصرف رم به این فایل سیستم تعلق داره اما میزان کاملا قابل قبولی رو داره

منبع

Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch

نتایج آزمایش‌های مشابه دیگر

Benoit, M. (2003). Linux File System Benchmarks.

Piszcz, J. (2006). Benchmarking Filesystems Part II. Linux Gazette, 122 (January 2006).

یک نکته‌:‌من متوجه منظور مقاله از تعداد صفحات خطا نشدم! اگر کسی منظورش رو متوجه شد به ما هم بگه ممنون می‌شیم.
نکته بعدی: توجه به کامنت‌های این مقاله در سایت اصلی  هم بسیار می‌تونه جالب باشه! البته به نظر من تجربه هم می‌تونه مهم باشه! البته به شرطی که شما اطلاعات مهمی روی کامپیوترتون نداشته باشین!‌ اینطور که از شواهد پیداست(کامنت‌ها) وقتی شما XFS رو انتخاب می‌کنید احتمال اینکه به یکباره نصف طلاعات بپره وجود داره !!‌ برای فهم این موضوع شما باید با یک سری از اصطلاحات آشنا بشین. سعی می‌کنم توی یک پست دیگری جداگانه با ریز فایل سیستم‌ها شما رو آشنا کنم البته این به شرطی هست که خودم از اون چیزی سر دربیارم!!

مقایسه‌ی فایل ‌سیستم‌های لینوکس (ext3 ,reiser,xfs,jfs)

من خودم یه پی‌سی درب و داغون دارم که قدرت محاسباتیش با اورکلاک الان شده ۹۰۰ مگاهرتز و بچه‌ها بهش می‌گن پنتیوم تری!!‌ الانم روش پارسیکس نصبه!. یکی از برنامه‌های معروف پارسیکس هم دیکشنری اون هستش(xFarDic) که توسط آقای آلن باغومیان نوشته نوشته شده و مناسب برای محیط گنوم لینوکس هست. من از اونجایی که همیشه به یک رسم تبدیل شده و داخل همه کتابهای  مربوط به لینوکس هم نوشته شده سیستم فایل رو ext3 انتخاب می‌کنم. نتیجه این می‌شد که دیکشنری آقای آلن باغومیان نتیجه بسیار بدی رو به همراه داشت!‌ یعنی وقتی یک لغت رو وارد می‌کردم و می‌خواستم دنبالش بگردم یه نیم‌ساعتی هارد ما درگیر می‌شد تا لغت مورد نظر رو بتونه پیدا کنه ! چند وقت بعد از روی کنجکاوی اومدیم و فایل سیستم لینوکس رو به  JFS تغییر دادیم و  بعد اولین تغییر محسوس رو در دیکشنری آقای آلن شاهد بودیم! ‌نتیجه خیره کننده بود!!‌ به محض وارد کردن هر لغتی معنی اون رو جلوی چشمانم می‌دیدم!‌ اصلا باورم نمی‌شد !‌ تا اینکه چند روز پیش به آزمایشی علمی در یکی از سایت‌های معتبر برخورد کردم که که این برتری  سیستم فایل JFS رو نشون می‌داد. بد ندیدم  ترجمه‌ی این آزمایش رو اینجا بگذارم تا شاید بتونم نگرش افراد رو در مورد سیستم‌ فایل‌های لینوکس تغییر بدم. از قبل هم بگم که این مقاله بر روی سخت‌افزارهای قدیمی (پنیتوم ۳ و ۲ و همچنین هاردهای آی‌دی‌ای تست شده).

سیستم دقیق این تست به قرار زیر هستش.

    Hardware

  • Processor : Intel Celeron 533
  • RAM : 512MB RAM PC100
  • Motherboard : ASUS P2B
  • Hard drive : WD Caviar SE 160GB (EIDE 100, 7200 RPM, 8MB Cache)
  • Controller : ATA/133 PCI (Silicon Image)
    OS

  • Debian Etch (kernel 2.6.15), distribution upgraded on April 18, 2006
  • All optional daemons killed (cron,ssh,saMBa,etc.)
    Filesystems

  • Ext3 (e2fsprogs 1.38)
  • ReiserFS (reiserfsprogs 1.3.6.19)
  • JFS (jfsutils 1.1.8)
  • XFS (xfsprogs 2.7.14)

توضیح کارهای انجام شده

کارهای انجام شده بر روی یک فایل بزرگ به حجم ۷۰۰ مگابایت و از نوع ایزو ایمیج (ISO Image)

  • کپی این فایل ایزو از یک هارد ثانی به هارد مورد تست
  • کپی مجدد فایل ایزو به یک مکانی دیگر در هارد مورد تست
  • پاک‌ سازی هر دو فایل ایزو از روی هارد مورد تست

کارهای انجام شده بر روی درختی از فایل(شامل ۷۵۰۰ فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگابایت)

  • کپی درخت فایل از یک هارد ثانی به هارد مورد تست
  • کپی مجدد درخت فایل در مکانی دیگر بر روی هارد مورد تست
  • پاکسازی هر دو درخت فایل بر از روی هارد مورد تست

کارهای انجام شده داخل درخت قایل

  • گرفتن لیست بازگشتی از تمام محتوای درخت فایل و دخیره‌ی آن بر روی هارد آزمایش شده
  • جستجوی فایل‌های مورد نظر از داخل درخت فایل با کمک کاراکترهای جستجو(؟ و *)

کارهای انجام شده بر روی فایل سیستم

  • ایجاد فایل سیستم به کمک دستور mkfs (همه‌ی فایل سیستم‌ها با مقادیر پیشفرض ایجاد شده‌اند)
  • مانت کردن فایل سیستم
  • آن‌مانت کردن فایل سیستم

نتایج

ظرفیت پارتیشن

ظرفیت پارتیشن ابتدایی (پارتیشن بلافاصله بعد از ایجاد فایل سیستم) و ظرفیت پارتیشن مانده (پارتیشن بعد از پاک سازی همه فایل‌ها)‌ توسط نسبت عددی محاسبه می‌شود که معرف بلاک‌های در دسترس از تمام بلاک‌های موجود بر روی پارتیشن می‌باشد که Ext3 بدترین نتیجه رو در ظرفیت ابتدایی کسب می‌کنه (۹۲٫۷۷%) در حالی که باقی فایل سیستم‌ها تقریبا از تمامی ظرفیت پارتیشن استفاده می‌کنن (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%) . نکته جالب در ظرفیت مانده هست که در فایل سیستم Ext3 و ReiserFS ظرفیت مانده با ظرفیت ابتدایی هیچ فرقی نداره در حالی که ظرفیت مانده فایل سیستم‌های JFS و XFS مفداری از ظرفیت پارتیشن رو از دست می‌دن (۰٫۰۲%) که البته مقدار کمیه. و بعد هم مقداری دوباره به ظرفیت ابتدایی نزدیک می‌شوند ولی به صورت کامل نمی‌توانند به آن برسند.
نتیجه: برای استفاده‌ی حداکثری از ظرفیت پارتیشن خودتون یکی از فایل سیستم‌های ReiserFS، JFS، XFS را انتخاب نمایید.

ایجاد فایل سیستم، مانت کردن و آنت‌مانت کردن آن

ایجاد فایل سیستم بر روی ۲۰ گیگابایت از هارد مورد تست برای نوع Ext3 ، زمان ۱۴.۷ ثانیه را لازم دارد که با زمان ۲ ثانیه‌ای و یا کمتر برای ایجاد دیگر فایل سیستم‌ها قابل مقایسه هست. (ReiserFS = 2.2, JFS = 1.3, XFS = 0.7) با این وجود مانت کردن ReiserFS پنج تا ۱۵ بار زمان بیشتری(۲.۳ ثانیه) را نسبت به دیگر فایل سیستم‌ها نیاز دارد (Ext3 = 0.2, JFS = 0.2, XFS = 0.5) و برای عمل آن‌مانت کردن آن (۰.۴ ثانیه)‌ ۲ برابر دیگر فایل ‌سیستم‌ها نیاز به زمان می‌باشد. در مورد مقایسه میزان مصرف پردازشگر در مورد ایجاد فایل سیستم‌ها بین ۵۹٪ در مورد ReiserFS تا ۷۴٪ برای JFS متغیر می‌باشد. و مانت کردن فایل‌ سیستم‌ها بین ۶ تا ۹ درصد می‌باشد با این وجود عمل آن‌مانت کردن Ext3 و XFS دو برابر دیگر فایل سیستم‌ها مصرف پردازشگر دارند (۳۷ تا ۴۵ درصد) که با مصرف ۱۴ درصدی ReiserFS و ۲۷ درصدی JFS قابل مقایسه می‌باشند.
نتیجه:‌برای ایجاد سریع فایل سیستم و همچنین سرعت در عمل مانت و آن‌مانت کردن فایل ‌سیستم JFS و یا XFS را استفاده کنید.

کار با فایل‌های بزرگ (ISO Image با حجم ۷۰۰ مگابایت)

زمان لازم برای کپی ابتدایی این فایل بزرگ بر روی فایل ‌سیستم‌ها برای  Ext3 با زمان ۳۸.۲ و ReiserFS با زمان ۴۱.۸ ثانیه بود که با زمان ۳۵.۱ ثانیه‌ای JFS و ۳۴.۸ ثانیه‌ای XFS قابل مقایسه می‌باشد. کپی مجددی را از همین فایل و بر روی همان هارد در مکانی دیگر انجام دادیم. برتری با XFS با زمان ۳۳.۱ ثانیه‌ای بود که در مقایسه با فایل ‌سیستم‌های دیگر (Ext3 = 37.3, JFS = 39.4, ReiserFS = 43.9) با معنی بود. پاکسازی این فایل ایزو بر فایل‌‌سیستم‌های JFS و XFS با زمان ۰.۰۲ ثانیه برای هر دو صد برابر سریعتر از دیگر فایل‌ سیستم‌ها بود (۱.۵ ثانیه برای ReiserFS و ۲.۵ ثانیه برای Ext3)!!‌ همه‌ی فایل‌ سیستم‌ها در مورد میزان مصرف پردازشگر در هنگام کپی ابتدایی فایل ایزو مقادیری بین ۴۶ تا ۵۱ درصد بود و میزان مصرفشان در هنگام کپی مجدد نیز بین ۳۸٪ تا ۵۰٪ بود . برای پاک کردن فایل ایزو هم ReiserFS نیاز به ۴۹ درصد از پردازشگر داشت در حالی که این مقدار برای دیگر فایل سیستم‌ها حدودا ۱۰ درصد بود. تمایل JFS به کمتر مصرف کردن از پردازشگر مشخص بود. (پنج تا ۱۰ درصد کمتر ). تعداد صفحات خطای کمتر (The number of minor page faults) بین فایل‌ سیستم‌ها مشابه بود(از ۶۰۰ خطا در XFS بگیرین تا ۶۶۱ خطا در ReiserFS)
نتیجه: ‌برای کار بر روی فایل‌های بزرگ JFS و XFS را انتخاب نمایید و اگر به  میزان مصرف کمتر پردازشگر از سوی فایل سیستم علاقه دارید، ‌JFS اصلح می‌باشد.

کار بر روی درخت فایل یا همون انبوهی از فایل‌ها و دابرکتوری‌های تو در تو (۷۵۰۰  فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگ)

کپی ابتدایی از این درخت بر روی هارد در سیستم‌فایل Ext3  با سرعت بیشتری انجام شد (۱۵۸.۳ ثانیه) و برای XFS این زمان به ۱۶۶.۱ ثانیه رسید که با ReiserFS با زمان ۱۷۲.۱ ثانیه و JFS با زمان ۱۸۰.۱ قابل مقایسه می‌باشند. نتایج مشابهی نیز برای کپی مجدد بر روی همین دیسک سخت برای این فایل سیستم‌ها بدست می‌آید. در کپی مجدد برتری همچنان با Ext3 با زمان ۱۲۰ ثانیه می‌باشد که قابل مقایسه با دیگر فایل سیستم‌ها می‌باشد (XFS = 135.2, ReiserFS = 136.9 and JFS = 151). با این وجود پاکسازی درخت فایل در Ext3 دو برابر (۲۲ ثانیه) در مقایسه با  ReiserFS با زمان ۸.۲ ثانیه و XFS با زمان ۱۰.۵ ثانیه و JFS با زمان ۱۲.۵ ثانیه، وفت برد!! همه‌ی فایل سیستم‌ها برای عمل کپی بین ۲۷ تا ۳۶ درصد از پردازشگر را به خود اختصاص دادند و برای کپی مجدد این مقدار بین ۲۹٪‌ از JFS تا ۴۵٪‌ از ReiserFS رسید.جای شگفت هست که ReiserFs و XFS برای پاک کردن درخت فایل به شدت پردازشگر رو اشغال می‌کردند (۸۶ درصد و ۶۵ درصد)‌ در حالی که در دیگر فایل سیستم‌ها این مقدار به ۱۵ درصد می‌رسید(Ext3 و JFS). در اینجا باز هم JFS تمایل کمتری به استفاده از پردازشگر رو نسبت به دیگر فایل ‌سیستم‌ها از خود نشون داد. تعداد صفحات خطا به صورت با معنی در ReiserFS بالا بود (۵۸۴۳) در حالی که برای دیگر فایل‌ سیستم‌ها این آمار بین ۱۴۰۰ تا ۱۴۹۰ بود. این تفاوت حتی به مقادیری بالاتری از صفخات خطا نیز (۵ تا ۲۰ برابر) در کپی مجدد و پاکسازی درخت فایل برای ReiserFS نسبت به دیگر فایل ‌سیستم‌ها می‌رسید!
نتیجه: برای انجام کارهای سریع بر روی فایل‌های انبوه و تو در تو موسوم به درخت فایل استفاده از Ext3 و یا XFS سفارش می‌شود.

لیست گرفتن از دایرکتوری‌ها و جستجوی فایل‌ها از داخل درخت فایل قبلی

لیست گرفتن از تمام دایرکتوری‌های این درخت فایل در ReiserFS با زمان ۱.۴ ثانیه و XFS با زمان ۱.۸ قابل مقایسه با Ext3 با زمان ۲.۵ و JFS با زمان ۳.۱ ثانیه می‌باشد. نتایج مشابهی نیز برای جستجوی فایل بدست آمد بدین ترتیب که زمان ۰.۸ ثانیه برای ReiserFS و زمان ۲.۸ ثانیه برای XFS بود که قابل مقایسه با زمان‌های ۴.۶ ثانیه‌ای Ext3 و ۵ ثانیه‌ای JFS بود. Ext3 و JFS به صورت مشابه در هنگام لیست کردن دایرکتوری‌ها ۳۵ درصد و در هنگام جستجوی فایل‌ها ۶ درصد از پردازشگر را اشغال می‌کردند. XFS مقدار بیشتری از پردازشگر را در هنگام لیست کردن فایل اشغال می‌کرد (۷۰ درصد)‌ والبته به همین ترتیب در مورد جستوجوی فایل عمل می‌کرد (۱۰ درصد). ReiserFS نیز استفاده‌ی افراطی را از پردازشگر برای خود به ثبت رساند  و به ترتیب ۷۱ و ۳۶ درصد از پردازشگر را برای لیست کردن دایرکتوری و جستجوی فایل به خود اختصاص ‌داد. و دوباره درباره تعداد کمتر صفحات خطا این تعداد در مورد ReiserFS سه برابر دیگر فایل‌ سیستم‌ها می‌باشد (۱۹۹۱ در برابر ۷۰۴ تا ۷۱۲ خطا).
نتیجه:انجام این آزمایش نشان داد که سرعت بیشتر ، در جستجو و لیست کردن دایرکتوری به همراه خود مصرف بیشتر پردازشگر را نیز دارد (ReiserFS و XFS)‌ و بالعکس (Ext3 و JFS)‌

نتیجه‌گیری کلی

نتیجه اینکه گرچه همه فایل سیستم‌ها خوب هستن اما در نهایت شما باید یکی رو انتخاب کنید. براساس نتایج بدست آمده XFS مناسب‌ترین گزینه برای کامپیوترهای خانگی و همینطور برای مقاصد تجاری اما در سطحی کوچک می‌باشد.
خلاصه‌ی دلایل برتری XFS

  • استفاده‌ی حداکثری از هارددیسک
  • سریع‌ترین فایل‌ سیستم برای ایجاد و مانت و آنت‌مانت کردن
  • سریعترین فایل‌ سیستم برای کار با فایل‌های حجیم (بیشتر از ۵۰۰ مگابایت)
  • این فایل سیستم مکان خوبی برای نگهداری بک‌آب فایل‌ها می‌باشد
  • استفاده از زمان و پردازشگر به صورت میانه برای لیست کردن و جستجوی فایل‌ها
  • اگرچه کمترین میزان مصرف رم به این فایل سیستم تعلق داره اما میزان کاملا قابل قبولی رو داره

منبع

Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch

نتایج آزمایش‌های مشابه دیگر

Benoit, M. (2003). Linux File System Benchmarks.

Piszcz, J. (2006). Benchmarking Filesystems Part II. Linux Gazette, 122 (January 2006).

یک نکته‌:‌من متوجه منظور مقاله از تعداد صفحات خطا نشدم! اگر کسی منظورش رو متوجه شد به ما هم بگه ممنون می‌شیم.
نکته بعدی: توجه به کامنت‌های این مقاله در سایت اصلی  هم بسیار می‌تونه جالب باشه! البته به نظر من تجربه هم می‌تونه مهم باشه! البته به شرطی که شما اطلاعات مهمی روی کامپیوترتون نداشته باشین!‌ اینطور که از شواهد پیداست(کامنت‌ها) وقتی شما XFS رو انتخاب می‌کنید احتمال اینکه به یکباره نصف طلاعات بپره وجود داره !!‌ برای فهم این موضوع شما باید با یک سری از اصطلاحات آشنا بشین. سعی می‌کنم توی یک پست دیگری جداگانه با ریز فایل سیستم‌ها شما رو آشنا کنم البته این به شرطی هست که خودم از اون چیزی سر دربیارم!!

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

امروز که برق رفت و کامپیوتر هم روشن بود به خیال خود گفتم مثل دفعه‌های پیش هیچ اتفاقی نمی‌یوفته !! اما اینبار وقتی کامپیوتر رو روشن کردم, دیدم پارتیشن home کلا پردیده !! نتیجه اینکه به صورت root وارد سیستم شدم و مشکل رو بررسی کردم. وقتی پارتیشن مذکور رو می‌خواستم mount کنم با دستور زیر روبه‌رو می‌شدم.

mount: wrong fs type, bad option, bad superblock on /dev/sdb5,
missing codepage or helper program, or other error
In some cases useful info is found in syslog – try
dmesg | tail  or so

اگه دقت کنید می‌بینید پارتیشن مشکل دار من الان sdb5 هست که نمی‌تونم اون رو mount کنم . یعنی دقیقا همون پارتیشنی که موقع رفتن برق، من داخلش بودم و از بد روزگار همون موقع در حال به روزکردن بسته‌های لینوکس بودم!‌ برای پیدا کردن راه‌حل از گوگل کمک گرفتم و پیغام خطا رو عیننا در اون سرچ کردم و خوشبختانه راه‌ حل این مشکل رو خیلی ساده پیدا کردم .

برای برطرف شدن این مشکل خیلی در ترمینال دستور زیر رو وارد می‌کنید .

fsck /dev/deviceYouAreHavingProblemsWith

که در اینجا شما باید در دستور نام اون پارتیشنی رو ذکر کنید که براتون مشکل ایجاد شده که در اینجا برای من می‌شه

fsck /dev/sdb5

بعد از چند لحظه نوشت که این پارتیشن هیچ مشکلی نداره !! و بعد به راحتی عمل mount شدن انجام شد. بعد از درست شدن پارتیشن هم هم اومدم ببینم این دستور fsck کارش دقیقا چیه ؟!

fsck – check and repair a Linux file system

پی نوشت :‌ راه حل مشکل رو از اینجا پیدا کردم . به تشکراتی هم که از فرشته‌ی نجات در آخرش شده توجه بفرمایید!