فبراير 26، 2009

أنواع أنظمة تسيير الملفات على جنو/لينكس و تجربتي الأخيرة مع Ext4 و LVM2

سأتحدث اليوم عن تجربتي الأخيرة مع LVM, EXT4 و القرارات التي يتم إتخادها لإدراج البرمجيات في توزيعات لينوكس.

أولا جنو/لينوكس مبني على حرية الإختيار فبإمكانك كمستخدم أن تتدخل في كل مستويات النظام و كل البرمجيات التي تريد أن تستخدمها. كما أستطيع أن أكد لكم أنه رغم أربعة سنوات من إستخدامي لهذا النظام لم أستطع حتى ضبط الأساسيات، و ذلك ليس لأنه صعب بل لأنه بحر من المعلومات التقنية و الإختيارات.

و لا تنظر إلى هذه الإختيارات على أنها عائق بل هي حلول لمختلف أنواع المتطلبات / الأعمال. فمثلا نفس النظام يمكن أن يستخدم من طرف مُشرف الشبكة، أو أن يُستخدم في مستقبالات القنوات الفضائية أو في طابعات الورق الحديثة، أو في أجهزة الهاتف النقال أو على حاسوبك الشخصي. هذه الأمثلة حقيقية اليوم و هنالك أكثر من هذا.

ثنيا، حتى لو كنت تستخدم فقط أجهزة الحسوب العادية فيمكن أن تختار البرامج و الإعدادات التي تناسب قدرات و مواصفات هذه الأجهزة. فمثلا يمكن أن تقوم بإعداد نواة النظام و باقي البرامج التي تسخدمها لتستفيد من أخر نقطة أداء في معالج حاسوبك (على أساس أن يكون المعالج في هذه الحالة من فئة Multi Cores مثل Intel Core 2 Duo/Quad/I7) أو تستخدم إعدادات تسمح لك بالوصول إلى الحد الأقصى في الأداء في القراص الصلبة. القائمة الطويلة لكن لا أحد يفرض عليك أن تقوم بتعديل كل شيء، يمكنك أن تستخدم الإعدادات الإفتراضية. فقط أردت أن أشير أنه إن كان لك شغف بمعرفة التفاصيل فستجد في منصة جنو/لينوكس كل المساحة الكافية لذلك.

من بين الإختيارات التي يجب عليك أن تقوم بها هي أي نظام تسيير الملفات تريد أن تستخدم. كما لا يشترط أن تستخدم واحد فقط، يمكن أن تمزج بينهم. من أهم أنظمة تسيير الملفات ستجد Ext2، Ext3، و Ext4 ثم JFS, XFS أو Reiserfs3 و قريبا سنرى BtrFs و Tux3. و يمكن إعتبار Ext3 هي الإختيار الإفتراضي في أغلب توزيعات جنو/لينوكس.

سأقوم بشرح مبسط للفرق بينها. أولا Ext3 هي تطور لـ Ext2 بحيث أن أهم خاصية تميزها على هذه الأخيرة هي إستخدام سجل لتسجيل التغييرات (Journaling file system) التي تقع على الملفات الشيء الذي يزيد من درجة الأمان من الأعطال التي قد تصب الملفات في حالة فشل أو إنقطاء الكهرباء. كما أن هذا النظام لا يسبب تجزء الملفات بشكل كبير كما هو معروف في ويندوز (File Fragmentation)

XFS و JFS يتميزين بالسرعة ينصح بهما على أجهزة الحاسوب النقال و الأجهزة القديمة. يتوفرين على مزايا تقنية مهمة خصوصا XFS. كما ينصح بهذه الأخيرة في حالة أردت إستخدام مساحات عملاقة لكنها أكثر عرضة للتجزئة مقارنة مع Ext3.

بالنسبة لReiserFs3 يمكن إعتبارها أنها كانت تحتوي على مجموعة من التقنيات و المزايا التي كانت تجعل منها الإختيار الأنسب إن أردت السرعة، الأداء و الأمان في نفس الوقت، لكن تقلص الفرق. كان سيكون هناك إصدار 4 منها لولا وقوع بعض النزاعات بين مطوره و مطوري نواة لينوكس من جهة و لولا إرتكاب مطوره لجريمة قتل. مازال مشروع Reiser4FS قائما و لكن لا يحضى بتطوير نشيط.

Ext4 تم تفعيله في الإصدار الأخير لنواة لينوكس 2.6.28 و هو تطور لـ Ext3. و من أهم الميزات هذا النظام تحسين الأداء بصفة عامة، مزايا أمان جديدة، قدرة إستعاب كبيرة تصل إلى 1ُExaByte أو مليار جيجابيت.

BtrFS نظام الملفات المستقبلي لمنافسة نظام تسيير الملفات الشهير و المتطور ZFS. سيصدر هذه السنة. سيظم هذا النظام كل الخصائص التي حلم بها المطورون يوما :)

Tux3 يشبه BtrFS في التطور لكن يعطي الأولوية للتقنيات الأكثر إستخداما. يمكن إعتباره BtrFS من الوزن الخفيف.


جيد حتى الآن. فما قصة LVM؟
LVM أو Logical Volume Manager أو مدير الأقراص المنطقي هو عبارة عن خاصية يتم تفعيلها للتعامل مع الأقراص و تجزيئات الأقراص بشكل منطقي. فعلى سبيل المثال إن كان لك قرصين صلبين الأول سعته 80GB و الثاني 160GB و أردت التعامل معهما على شكل قرص صلب واحد بحيث تصبح سعته مشتركة (في هذه الحالة ستظهر المساحة بسعة 240GB) يمكن فعل ذالك من خلال تفعيل LVM.
كما تسهل خاصية LVM التعامل مع الأجزاء Partitions و يصبح من السهل تضخيم و تقليص الأجزاء بكل سهولة و كذلك إضافة أو إزالة الأجزاء بكل سهولة.

شخصيا لا أنصح بها إلا إدا كنت تستخدم RAID و تعي ما تفعله جيدا. كما أنصح بالتأني بعض الوقت قبل المرور إلى Ext4 على الأقل حتى إصدار النواة الجديدة.

حاليا أستخدم Ext4 على القرص الأول و أحتفض بـ Ext3 على القرص الثاني. لم أرى أية مشاكل بل تحسن في أداء القرص الذي يستعمل Ext4. كما ألغيت خاصية LVM2 بعدما رأيت أنها لم تقدم لي أي إمتياز، بل يمكن أن تتسبب في تعقيدات أنا في غنا عنها.

و أخيرا من خلال هذه التجربة الأخيرة أدركت لماذا يختار بعض مطوري توزيعات جنو/لينوكس الإحتفاض ببعض الأجزاء من البرمجيات في الإصدارات السابقة (خصوصا توزعتي Red Hat و CentOS). رغم أنه قليل من هم يدركون هذا و الأغلب يفضل إدراج الإصدارات الجديدة.

أما إن كنت تتساءل عن التوزيعة التي أستخدم و كيف قمت بحل المشكل؟ الجواب هو توزيعة ArchLinux التي تحضى بإدراج دائم لآخر الإصدارات و هو ما أوقعني في ذلك العطل (و الخطأ خطأي). و الحل كان كذلك بإستخدام تقنية عجيبة في هذه التوزيعة و هي الرجوع بمرآة التحديثات إلى الوراء ثم تثبيت الإصدار السابق الذي كان يعمل، ثم تجميده على ذالك الإصدار ثم الرجوع إلى الأمام و تحديث كل شيء. و النتيجة كانت نظام لينوكس بنواة kernel 2.6.28.7 و KDE 4.2 و Xorg 7.3 بدلا من Xorg 7.4

سأكتب عن الطريقة التي يمكن لكم أن تثبتوا بها هذه التوزيعة قريبا.

تحديث 1: عثرت على مقالة تقنية بخصوص Ext4 (بالإنجليزية) يمكن الإطلاع عليها لمن أراد ذلك.
Anatomy of ext4

تحديث 2 (20/03/2009): من الأفضل أن بتم تفادي إستخدام Ext4 للجزء المخصص لـ Home حتى يتم إصدار النواة 2.6.30 و ما فوق.

هناك 5 تعليقات:

  1. غير معرف26/2/09 11:40 م

    لا فض فوك

    مقال في غاية الفائدة والروعة مع السلاسة والسهولة في توصيل المعلومة

    فشكرا لك

    ردحذف
  2. محمد عبدالعزيز27/2/09 1:49 ص

    شكراً لك على المقال، والتوضيح للفروق بين أنظمة الملفات.

    عندي إستفسار هل تنصح بإستخدام Archlinux من قبل المستخدم المبتدئ (النووب) في عالم اللينكس؟

    وكذاك عندي تبيه بسيط، وهو وجود بعض الأخطاء الإمالائية.

    شكراٌ لك على المقال أستاذ محمد.

    ردحذف
  3. محمد عبدالعزيز:
    إن كنت تريد أن تصبح مستخدم متقدم لما لا!
    كذلك من خلال تقنيات الألات الإفتراضية يمكن تجربة كل ما تريد دون خوف.

    و بالنسبة للأخطاء اللغوية و الإملائية سأكون ممتنا إذا أعنتموني على ذلك.

    ردحذف
  4. السلام عليكم
    متابعاتي للمدونة كانت عبر الخلاصات واستغربت فعلا هذا... لذلك نحن دوما في انتظار جديدك و ممقالاتك الثرية وفي انتظار طريقة تثبيت التوزيعة
    دمت بخير أخي

    وبالنسبة للأخطاء الإملائية
    لعلك تستخدم متصفح الفايرفوكس
    https://addons.mozilla.org/ar/firefox/browse/type:3
    وتثبيت قاموس العربية
    http://ayaspell.sourceforge.net/images/ff_maxi.png

    ردحذف
  5. الذي استغربته التوقف وليس شيئا آخر
    أتمنى لك التوفيق كتبت التعليق وأنا أقرأ التدوينة السابقة..

    ردحذف