المحتوى عن 'raid'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • السلوك التنظيمي
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
    • React
  • HTML
    • HTML5
  • CSS
  • SQL
  • لغة C#‎
  • لغة C++‎
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ‎.NET
    • ASP.NET
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
    • منصة Xamarin
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 4 نتائج

  1. تُحدِّد خصائص مصفوفات RAID بطريقة الضبط والعلاقة بين الأقراص، وهذا يُسمى «مستوى RAID» ‏(RAID level). أكثر مستويات RAID شيوعًا هي: RAID 0 يدمج مستوى RAID 0 بين جهازين أو أكثر عبر توزيع البيانات عليها، وكما ذكرنا في الدرس السابق (مقدمة إلى اصطلاحات ومفاهيم RAID ) ، التوزيع (striping) هو الآلية التي تُقسِّم البيانات إلى أجزاء (chunks) ثم تكتب تلك الأجزاء بشكلٍ تناوبي على كل قرص في المصفوفة. الفائدة من اتباع هذه الطريقة هي أنَّ البيانات موزَّعة، ويمكن الاستفادة من كل قرص لإجراء عمليات القراءة والكتابة؛ وبالتالي سيكون الأداء النظري لمصفوفة RAID 0 هو حاصل ضرب أداء أحد الأقراص بالعدد الكلي لها (الأداء العملي والحقيقي سيكون أقل من ذلك). ميزة أخرى هي أنَّ المساحة القابلة للاستخدام من المصفوفة هي مجموع مساحات الأقراص المُشكِّلة لها. صحيحٌ أنَّ هذا المستوى يوفِّر أداءً رائعًا، إلا أنَّه يعاني من سلبيات ذات أهمية كبيرة. فلمّا كانت البيانات ستُقسَّم بين عدد من الأقراص في المصفوفة، فإن فشل أحد الأجهزة سيؤدي إلى توقف كامل المصفوفة عن العمل وستفقد جميع البيانات. وعلى النقيض من معظم مستويات RAID الأخرى، لا نستطيع إعادة بناء مصفوفات RAID 0، إذ لا توجد مجموعة من الأقراص التي تحتوي معلومات كافية عن محتوى المصفوفة للمساعدة في إعادة بنائها. إذا كنتَ ستستخدم مصفوفات RAID 0، فسيصبح أخذ نسخ احتياطية أمرًا شديد الأهمية، حيث ستفشل المصفوفة في حال فشل أحد الأقراص المكوِّنة لها. RAID 1 مستوى RAID 1 هو المستوى الذي يُنشِئ نسخةً انعكاسيةً بين جهازَين أو أكثر. أي أنَّ كل المعلومات التي تُكتَب على المصفوفة ستُكتَب بدورها مرتين في كلا القرصين المشكلَين للمجموعة. وهذا يعني أنَّ كل قرص سيحتوي على كامل البيانات الموجودة في المصفوفة، وهذا يوفِّر قدرةً تعويضيةً (redundancy) في حال فشل أحد الأقراص. ستتمكن من الوصول إلى بياناتك في مصفوفات RAID 1 في حال بقي قرصٌ وحيدٌ في المصفوفة سليمًا ويعمل دون مشاكل، ويمكن إعادة بناء المصفوفة باستبدال الأقراص التالفة، ومن ثم ستُستخدَم بقية الأقراص السليمة لنسخ البيانات إلى القرص الجديد. هنالك بعض المساوئ لهذا الضبط، فسرعة القراءة النظرية –كما في مستوى RAID 0– يمكن أن تُحسَب بضرب سرعة القراءة لأحد الأقراص بعددها. لكن سرعة الكتابة النظرية القصوى هي سرعة أبطأ قرص في المصفوفة، وذلك لأنَّ كل البيانات يجب أن تُكتَب على كل قرص في المصفوفة. إضافةً إلى ما سبق، المساحة التخزينية الكلية للمصفوفة ستكون مساويةً لمساحة أصغر قرص، لذا إذا كانت لدينا مصفوفة RAID 1 فيها قرصين لهما نفس القدرة التخزينية، فستكون القدرة التخزينية الإجمالية للمصفوفة مساوية لمساحة أحدهما. وإضافة أقراص أخرى سيزيد من عدد النسخ التعويضية للبيانات، ولن يزيد في المساحة المتوافرة. RAID 5 يملك RAID 5 بعض ميزات مستويي RAID السابقَين، لكن له أداءٌ مختلفٌ وسلبياتٌ مختلفة. ففي مستوى RAID 5، ستوزَّع البيانات على الأقراص بنفس الطريقة التي يتبعها المستوى RAID 0، لكن لكل جزء من البيانات التي تُكتَب على المصفوفة فستُكتَب معلومات parity على أحد الأقراص، والتي هي قيمةٌ محسوبةٌ رياضيًا التي تُستخدَم لتصحيح الأخطاء وإعادة بناء معلومات المصفوفة. سيتم تغيير القرص الذي سيستلم معلومات parity المحسوبة (بدلًا من البيانات الحقيقية) بعد كتابة كل جزء من البيانات. لهذا المستوى بعض المزيات المهمة. فمثل بقية المستويات التي توزِّع البيانات على أكثر من قرص، فإن أداء القراءة سيزداد نتيجةً للقدرة على القراءة من عدِّة أقراص معًا. ويمكن لمصفوفات RAID 5 أن تعمل حتى لو فشل أحد الأقراص في المصفوفة. حيث ستسمح معلومات parity بإكمال إعادة بناء البيانات إن حدث ذلك؛ وذلك لأنَّ معلومات parity موزعة (بعض مستويات RAID الأقل شيوعًا تستخدم قرصًا مخصصًا لمعلومات parity)، حيث يملك كل قرصٍ قدرًا متساويًا من معلومات parity. وصحيحٌ أنَّ المساحة التخزينية القابلة للاستخدام في مصفوفات RAID 1 مساوية لمساحة أحد الأقراص (وذلك لأنَّ جميع الأقراص فيها نسخ متماثلة من البيانات)، لكن في RAID 5، يمكن تحقيق القدرة التعويضية بالاستغناء عن المساحة التخزينية لقرصٍ وحيد، فمثلًا إذا كان لدينا أربعة أقراص 100G في مصفوفة RAID 5 فسينتج عنها مساحة تخزينية تساوي 300G (أما 100G الضائعة فستُستَخدم لتخزين معلومات parity). وكما في المستويات الأخرى، هنالك سلبياتٌ لمصفوفات RAID 5 التي يجب أخذها بعين الاعتبار. فقد تؤدي إلى تقليل أداء النظام نتيجةً لحساب معلومات parity ديناميكيًا طوال الوقت، وهذا قد يؤثر على الأداء عند كل عملية كتابة على المصفوفة. وإذا فشل أحد الأقراص في المصفوفة وأصبحت المصفوفة ذات حالة منخفضة، فسيؤدي ذلك أيضًا إلى بطئ شديد عند القراءة منها (لأنَّ البيانات الناقصة ستُحسَب من بقية الأقراص). بالإضافة إلى ذلك، عند محاولة إصلاح المصفوفة بعد استبدال القرص التالف، فيجب قراءة كل قرص بأكمله واستخدام المعالج لحساب البيانات الناقصة لإعادة بناء المصفوفة. وهذا قد يُجهِد بقية الأقراص، مما يؤدي أحيانًا إلى فشلٍ إضافيٍ في أحد الأقراص، مما يؤدي في النهاية إلى فقدان البيانات. RAID 6 يَستخدم مستوى RAID 6 بنيةً قريبةً من مستوى RAID 5، لكن مع مضاعفة كمية معلومات parity. هذا يعني أنَّ المصفوفة ستصمد حتى لو حدث عطب بقرصين. وهذه ميزة مهمة جدًا لزيادة احتمال حدوث عطب آخر أثناء عملية إعادة بناء المصفوفة عند حدوث خطأ. وفي هذا المستوى –كغيره من المستويات التي تستخدم التوزيع– سيكون أداء القراءة جيد إجمالًا. وجميع ميزات RAID 5 تنطبق أيضًا على RAID 6. أما مساوئ هذا المستوى، فهي استخدام مساحة تخزينية أكبر لمعلومات parity، وهذا يعني أنَّ المساحة الإجمالية للمصفوفة هي مجموع مساحات جميع الأقراص المكوِّنة لها منقوصًا منها مساحة قرصين. إضافةً إلى أنَّ العمليات الحسابية اللازمة لإنشاء معلومات parity لمستوى RAID 6 أكثر تعقيدًا من RAID 5، مما يعني أداءً أسوأ للكتابة مقارنةً مع RAID 5. يعاني مستوى RAID 6 من نفس المشاكل التي تحدث في RAID 5 عندما تصبح المصفوفة بحالة منخفضة، لكن وجود قرص إضافي للتعويض سيقل احتمال حدوث مشاكل إضافية تؤدي إلى حذف جميع البيانات عند عمليات إعادة البناء. RAID 10 يمكن تطبيق مستوى RAID 10 بعدِّة طرائق، والتي ستؤثِّر على خصائصه: مستويا 1 و 0 متشعبان تقليديًا، يُشير مستوى RAID 10 إلى مستوى متشعب، والذي يُنشَأ بضبط مصفوفتَي RAID 1 أو أكثر أولًا، ثم استخدام تلك المصفوفات كمكونات لإنشاء مصفوفة RAID 0 موزّعة. ويدعى هذا المستوى حاليًا أحيانًا باسم RAID 1+0 للإشارة إلى هذه العلاقة. وبسبب تصميم هذا المستوى، فإن العدد الأدنى للأقراص هو أربعة وذلك لإنشاء مصفوفة RAID 1+0 (أي مستوى RAID 0 يستعمل مصفوفتَي RAID 1 تتألف كلٌ منهما على قرصين). تملك مصفوفات RAID 1+0 أداءً عاليًا شبيهًا بمصفوفات RAID 0، لكن بدلًا من الاعتماد على أقراص مفردة لتوزيع البيانات، فسيتم استخدام مصفوفة منسوخة نسخًا انعكاسيًا (mirrored array)، مما يعني توفير قدرة تعويضية. يمكن أن يتحمل هذا النوع من الضبط أيّة أخطاء ومشاكل في الأقراص لطالما بقي قرصٌ وحيدٌ يعمل في كل مصفوفة RAID 1 مُشكِّلة للمصفوفة النهائية. يمكن أن يتحمل هذا المستوى عددًا مختلفًا من المشاكل اعتمادًا على مكان وقوعها. ولأنَّ مصفوفات RAID 1+0 توفِّر أداءً عاليًا وقدرةً تعويضيةً، فهي خيارٌ ممتازٌ إن لم تكن مقيدًا بعددٍ معيّنٍ من الأقراص. RAID 10 عبر mdadm لدى برمجية mdadm في لينكس نسخةٌ خاصةٌ بها من RAID 10، والتي تحمل نفس فوائد RAID 1+0 لكن تُغيّر في طريقة تنفيذها لكي تكون مرنةً أكثر وتوفِّر ميزاتٍ إضافيةٍ. وكما في مستوى RAID 1+0، مستوى RAID 10 في mdadm يسمح بتوزيع البيانات ونسخها أكثر من مرة. لكن الأقراص لن تُرتَّب كمجموعتَين منسوختين نسخًا انعكاسيًا، وإنما سيقرِّر مدير النظام عدد النسخ التي ستُكتَب على المصفوفة. ستُجزَّأ البيانات وتُكتَب على المصفوفة بأكثر من نسخة، مع الحرص على أن تُكتَب كل نسخة من البيانات على قرصٍ فيزيائيٍ منفصل. والنتيجة النهائية هو وجود نفس العدد من النسخ، لكن طريقة بناء المصفوفة تختلف (أي لن يكون فيها «تشعب»). هذا الضبط لمستوى RAID 10 له ميزات تجعله متفوقًا عن RAID 1+0، فلأنه لا يعتمد على تشعّب المصفوفات فذلك يعني أننا نستطيع استخدام رقم فردي من الأقراص ويمكن أيضًا تقليل عدد الأقراص الأدنى (ليصبح 3 فقط). يمكن أيضًا ضبط عدد النسخ. وستصبح الإدارة أبسط لأنك ستحتاج إلى إدارة مصفوفة وحيدة، ويمكنك استخدام أقراص بديلة (كقطع غيار) لكامل المصفوفة، بدلًا من إمكانية استخدامها لمصفوفة متشعبة وحيدة. الخلاصة أكثر مستوى من مستويات RAID يناسب خادومك يعتمد تمامًا على حالات استخدامك له وعلى هدفك من المصفوفة. التكلفة والقيود التي يضعها العتاد سيؤثران أيضًا على عملية تقرير مستوى RAID المناسب. ترجمة -وبتصرّف- للمقال An Introduction to RAID Terminology and Concepts لصاحبه Justin Ellingwood
  2. تمهيد من المهم أن تأخذ طريقة التخزين بعين الاعتبار عندما تضبط خادومًا، إذ أنَّ أغلبية المعلومات المهمة التي تهتمُ أنت ومستخدموك بها ستُكتَب في مرحلةً ما إلى وسيط تخزين للحصول عليها لاحقًا. ستستفيد من الأقراص المستقلة إذا كانت احتياجاتك بسيطة، لكن إن أردتَ الحصول على أداءٍ عالٍ أو ضمانٍ لعدم فقدان بياناتك، فعندئذٍ ستستفيد من تقنيات مثل RAID. سنتحدث في هذا الدرس عن اصطلاحات RAID ومفاهيمها الشائعة، وسنناقش بعض ميزات (ومساوئ) استخدام مصفوفات RAID، وسنتحدث عن الاختلافات بين طرائق تنفيذ تقنية RAID. ما هي مصفوفة RAID؟ ترمز الكلمة RAID إلى «Redundant Arrays of Independent Disks» وهي تعني «مصفوفة الأقراص التعويضية المستقلة»، أي استخدام عدِّة أقراص بأنماط مختلفة مما يمنح مدراء الأنظمة أداءً أفضل أو قدرةً تعويضيةً (ضد فشل الأقراص) مقارنةً بمجموعةٍ من الأقراص التي تعمل بمفردها. يمكن تطبيق RAID على الأقراص الخام أو على الأقسام الموجودة في قرصٍ ما. متى يُفضَّل استخدام RAID؟ الفائدة الأساسية من مصفوفات RAID هي القدرة على تعويض فقدان البيانات والزيادة في الأداء. القدرة التعويضية تعني زيادةً في إتاحية (availability) البيانات المخزنة، وهذا يعني أننا سنتمكن من الوصول إلى المعلومات المخزنة عند حدوث بعض الحالات مثل فشل أحد أقراص التخزين، وسيتمكن النظام من إكمال عمله إلى أن يُستبَدل القرص المعطوب. لكن هذا لا يعني أنَّ هذه هي آلية نسخ احتياطي (يجب أخذ نسخ احتياطية لمصفوفات RAID كغيرها من أنواع التخزين)، وإنما الغرض من هذه الآلية هو تقليل الانقطاعات عند حدوث مشكلة. فائدةٌ أخرى رئيسيةٌ توفرها مصفوفات RAID في بعض الحالات هي الزيادة في الأداء، فعادةً ستكون سرعة الكتابة أو القراءة على وسائط التخزين محدودة (ومرتبطة) بسرعة الكتابة على قرصٍ وحيد، أما البيانات في مصفوفات RAID فهي إما موجودة نفسها في أكثر من قرص (redundant) أو موزعة على أكثر من قرص (distributed)، وهذا يعني أننا نستطيع استخدام عدِّة أقراص لكل عملية قراءة مما يزيد من كمية البيانات التي يمكن قراءتها في الثانية؛ ويمكن أيضًا تحسين سرعة عمليات الكتابة في بعض حالات الضبط التي يمكن فيها كتابة قسم من البيانات على كل قرص. بعض الجوانب السلبية في مصفوفات RAID تتضمن زيادةً في تعقيد عملية الإدارة وعادةً تؤدي إلى إنقاص المساحة التخزينية المتوافرة. وهذا يعني تكاليف إضافية يجب دفعها للحصول على نفس مقدار المساحة التخزينية القابلة للاستخدام. هنالك مصاريف أخرى تتضمن استخدام قطع عتاديّة خاصة عندما لا تريد إدارة المصفوفة عبر أدواتٍ برمجيةٍ فقط. إحدى السلبيات الأخرى للمصفوفات المضبوطة للحصول على أداءٍ عالٍ دون قدرة تعويضية هي الزيادة في احتمال فقدات البيانات، حيث تعتمد البيانات المخزنة على الأقراص في تلك الحالات على أكثر من وسيط تخزين وحيد، مما يزيد من احتمال فقدان البيانات نتيجة عطب في أحد الأقراص. مصفوفات RAID التي تعتمد على العتاد، والتي تعتمد على البرمجيات، والتي تعتمد على البرمجيات بمساعدة العتاد يمكن إنشاء وإدارة مصفوفات RAID بمختلف التقنيات. وهي: مصفوفات RAID التي تعتمد على العتاد هنالك قطعٌ عتاديةٌ مخصصة تسمى «متحكمات RAID» ‏(RAID controllers) أو «بطاقات RAID» ‏(RAID cards) يمكن أن تستعمل لإعداد وإدارة مصفوفات RAID بمعزل عن نظام التشغيل، وهذا معروفٌ بالمصطلح «hardware RAID». تملك متحكمات RAID العتادية معالجًا منفصلًا لإدارة أجهزة RAID. لمصفوفات RAID التي تعتمد على العتاد عدِّة ميزات، نذكر منها: الأداء: متحكمات RAID العتادية (الحقيقة) لا تأخذ من وقت المعالج لإدارة الأقراص الموجودة ضمن المصفوفة. وهذا يعني أنَّك لن تُسبِّب تقليل أداء الخادوم لإدارة أجهزة التخزين. توفِّر المتحكمات ذات الجودة العالية تخزينًا مؤقتًا كبيرًا وله أثرٌ كبيرٌ على الأداء. إخفاء تعقيدات المصفوفة: ميزة أخرى لاستخدام متحكمات RAID هي أنَّها تخفي طريقة ترتيب الأقراص وإدارتها عن نظام التشغيل، حيث ستُمثِّل متحكماتُ RAID المصفوفةَ على أنها وحدة تخزينٍ منطقيةٍ وحيدةٍ. وليس من الضروري أن يفهم نظام التشغيل طريقة ترتيب مصفوفة RAID؛ إذ أنَّه سيتعامل مع كامل المصفوفة على أنها قرصٌ وحيدٌ. سيُتاح استخدام المصفوفة عند الإقلاع: بسبب أنَّ المصفوفة مدارة بشكلٍ كامل عتاديًا دون تدخل البرمجيات، فهذا يعني أنها متاحة الاستخدام عند الإقلاع، مما يسمح بإنشاء نظام الملفات الرئيسي (الذي سيُثبَّت داخله نظام التشغيل) داخل مصفوفة RAID. لكن هنالك بعض السلبيات لمصفوفات RAID التي تعتمد على العتاد: احتكار الشركات: لأن مصفوفات RAID العتادية مدارةٌ من برمجيات تجارية موجودة داخل العتاد، فهذا يعني أنَّنا يجب أن نستعمل المصفوفة مع نوع العتاد الذي أنشأها فقط؛ فلو تعطل متحكم RAID، ففي أغلب الحالات يجب أن نضع شريحة مماثلة أو شريحة متوافقة مع الشريحة القديمة بدلًا عنه. يَنصح بعض مدراء الأنظمة بشراء أكثر من متحكم RAID من نفس النوع كاحتياطٍ في حال حدثت مشكلة. الكلفة العالية: متحكمات RAID ذات الجودة العالية تكون ذات سعر مرتفع عادةً. مصفوفات RAID التي تعتمد على البرمجيات يمكن أيضًا ضبط RAID داخل نظام التشغيل نفسه. ولأنَّ العلاقة بين الأقراص ستُعرَّف وتُضبَط داخل نظام التشغيل عوضًا عن استخدام جهاز عتادية منفصل، فستسمى تلك المصفوفات بمصفوفات «software RAID». بعض ميزات مصفوفات RAID البرمجية: المرونة: لمّا كانت مصفوفات RAID التي تعتمد على البرمجيات تُدار داخل نظام التشغيل، فيمكن بسهولة ضبط أجهزة التخزين المتاحة دون تغيير شيء في ضبط العتاد. عملية إنشاء مصفوفات RAID في لينكس هي عملية مرنة للغاية، حيث يُسمَح بضبط مختلف أنواع ومستويات RAID. مفتوحة المصدر: البرمجيات التي نستعملها لضبط مصفوفات RAID في الأنظمة مفتوحة المصدر مثل لينكس و FreeBSD هي برمجيات مفتوحة المصدر أيضًا، وضبط المصفوفات متاحٌ لك وغير مخفي، ويمكن بكل سهولة قراءته وتطبيقه على أنظمة أخرى. فمثلًا، إذا كانت لدينا مصفوفة RAID أنشأناها على نظام أوبنتو، فسنتمكن ببساطة من نقلها إلى خادوم CentOS لاحقًا. هنالك احتمالٌ ضئيلٌ في أنَّك ستفقد الوصول إلى بياناتك بسبب بعض الاختلافات بين البرمجيات. لا توجد تكلفة إضافية: لا يتطلب إنشاء مصفوفات RAID برمجية أيّة قطع عتادية خاصة، لذا لن تكون هنالك تكلفة إضافية على خادومك عند استخدامها. بعض سلبيات استخدام مصفوفات RAID البرمجية: التبعية للبرمجيات: صحيحٌ أنَّ مصفوفات RAID البرمجية غير مرتبطة بعتاد معيّن، لكن عادةً سترتبط ببرمجية معيّنة التي أنشأتها فيها. فمثلًا يستخدم لينُكس mdadm بينما FreeBSD يستعمل مصفوفات RAID مبنية على GEOM، ولنظام ويندوز له نسخةٌ خاصةٌ به من البرمجيات التي تُتيح إنشاء مصفوفات RAID برمجية. وعلى الرغم من أنَّ مختلف نسخ البرمجيات المفتوحة المصدر يمكن أن تُصدِّر ضبطها فيما بينهما، إلا أنَّه لا يحتمل أن تتوافق الصيغة نفسها مع بقية برمجيات RAID. مشاكل في الأداء: قديمًا كانوا ينتقدون مصفوفات RAID البرمجية لأنها تُسبِّب بحملٍ إضافيٍ على النظام. فسيُستعمَل المعالج المركزي والذاكرة لإدارة المصفوفة، والتي كانت يمكن أن تُستعمَل لأمورٍ أخرى. لكن البرمجيات مثل mdadm التي تعمل على عتادٍ حديث قد أطاحت بهذا المخاوف، أي أنَّ استعمال المعالج يكون أصغريًا في أغلبية الحالات ولا نأخذه بعين الاعتبار. مصفوفات RAID التي تعتمد على البرمجيات بمساعدة العتاد النوع الثالث من مصفوفات RAID يدعى «hardware-assisted software RAID» أو «firmware RAID» أو «fake RAID». عمومًا يوفر هذا النوع ميزات RAID بتضمينه داخل اللوحة الأم أو عبر بطاقات RAID رخيصة الثمن. يتم تطبيق هذا النوع من المصفوفات عبر استخدام برمجيات على المتحكم أو البطاقة لإدارة مصفوفة RAID، لكنه يستخدم وحدة المعالجة المركزية لتشغيل تلك البرمجيات. ميزات هذا النوع من المصفوفات: دعم إقلاع أكثر من نظام تشغيل: وذلك لأنَّ مصفوفة RAID ستعمل عند الإقلاع، لذا يمكن استخدام أكثر من نظام تشغيل للمصفوفة، وهذا غير ممكن إذا استعملنا مصفوفات RAID برمجية. من سلبياتها: دعم محدود لمستويات RAID: عادةً تدعم RAID 0 أو RAID 1 فقط. تتطلب عتادًا خاصًا: مثل مصفوفات RAID العتادية، هذا النوع مقيدٌ بالعتاد الذي أنشأه ويديره، وهذه مشكلة كبيرة في حال كان موجودًا ضمن اللوحة الأم، فلو فشل متحكم RAID أو تعطل، فهذا يعني أنَّ عليك استبدال اللوحة الأم كلها لكي تستطيع الوصول مرةً أخرى إلى بياناتك. مشاكل في الأداء: مثل مصفوفات RAID العتادية، لا يوجد هنا معالج خاص بإدارة RAID، ويجب أن يتشارك المتحكم مع نظام التشغيل باستخدام المعالج المركزي. أغلبية مدراء الأنظمة يبقون بعيدين عن هذا النوع من مصفوفات RAID، لأنها تعاني من اجتماع مشاكل النوعَين الآخرَين. الاصطلاحات المستخدمة عند الحديث عن مصفوفات RAID سيساعدك التعرف على بعض هذه الاصطلاحات على فهم RAID بشكل أفضل. هذه بعض المصطلحات الشائعة التي قد تصادفك: مستوى RAID ‏(RAID level): يشير «مستوى RAID» إلى العلاقة التي تجمع أجهزة التخزين. يمكن ضبط الأقراص بعدِّة طرائق، مما يؤدي إلى خصائص مختلفة للتعويض وللأداء. التوزيع (Striping): «التوزيع» هو عملية تقسيم البيانات المكتوبة على المصفوفة إلى أكثر من قرص. تُستخدَم هذه التقنية من مختلف مستويات RAID. عندما توزَّع البيانات على المصفوفة، فستُقسَّم إلى أجزاء صغيرة، ثم يكُتَب كل جزء إلى قرص واحد أو أكثر من الأقراص المُشكِّلة للمصفوفة. حجم الجزء (Chunk Size): عند توزيع البيانات، سيُحدِّد «حجم الجزء» مقدار البيانات التي سيحتوي كل جزء عليها. وتعديل حجم الجزء ليُطابِق خصائص الدخل والخرج التي تتوقعها قد يساعد في زيادة أداء المصفوفة. آلية تعادل القيمة (Parity): هذه آلية يتم إنجازها عبر حساب المعلومات من كتل البيانات (data blocks) المكتوبة إلى المصفوفة. وقد تستخدم معلومات parity لإعادة بناء البيانات إذا فشل أحد الأقراص. قد توضع معلومات parity في قرص منفصل عن الأقراص التي تحتوي البيانات التي تُحسَب بيانات parity منها، وتوزَّع في أغلبية حالات الضبط على عدِّة أجهزة للمقدرة على تعويض فشل أحد الأقراص ولزيادة الأداء. مصفوفات ذات الحالة المخفَّضة (Degraded Arrays): يمكن أن تعاني المصفوفات التي لها قدرة تعويضية (redundancy) أنواعًا مختلفةً من فشل الأقراص دون خسارة البيانات. فعندما تخسر المصفوفة قرصًا لكنها تستطيع إكمال عملها، فيُقال أنَّها أصبحت «بحالة مُخفَّضة» (degraded mode). يمكن إعادة بناء المصفوفات ذات الحالة المخفَّضة لترجع كما كانت بعد استبدال القرص المعطوب، لكنها قد تعاني من أداءٍ منخفض أثناء تلك الفترة. إعادة المزامنة (Resilvering أو Resyncing): «إعادة المزامنة» هو المصطلح المستخدم لإعادة بناء مصفوفة ذات الحالة المخفَّضة. واعتمادًا على ضبط RAID ونوع الفشل، سنتمكن من إجراء عملية إعادة المزامنة إما بنسخ البيانات من الملفات الموجودة في المصفوفة، أو عبر حساب البيانات باستخدام معلومات parity‏ (parity information). المصفوفات المتشعبة (Nested Arrays): يمكن دمج مجموعات من مصفوفات RAID في مصفوفات أكبر. ونفعل ذلك عادةً للاستفادة من ميزات مستويي RAID أو أكثر. عادةً تُستخدَم المصفوفات ذات القدرة التعويضية (مثل RAID 1 أو RAID 5) كمكونات لإنشاء مصفوفة RAID 0 لزيادة الأداء. الامتداد (Span): للأسف، مصطلح «الامتداد» له معانٍ مختلفة عندما نتحدث عن المصفوفات. ..- في سياقات معيّنة، «الامتداد» يعني وصل قرصين أو أكثر مع بعضهما لتمثيلهما كجهاز منطقي وحيد، بدون تحسين في الأداء أو القدرة التعويضية. وهذا يُعرَف أيضًا بالترتيب الخطي (linear arrangement) عند التعامل مع برمجية mdadm في لينكس. ..- يمكن أن يشير «الامتداد» إلى المصفوفات التي تُجمَّع مع بعضها لإنشاء مستوى جديد من مستويات RAID وذلك في المصفوفات المتشعبة، مثل المصفوفات من المستوى RAID 10 (أي RAID 1+0). التحقق (Scrubbing أو Checking): هي عملية قراءة كل كتلة في المصفوفة للتأكد من عدم وجود أخطاء. وهذا يساعد في التأكد من أنَّ البيانات متماثلة في أكثر من وسيط تخزين، وسيمنع ذلك من حدوث أخطاء قد تؤدي إلى تلف في البيانات، وخصوصًا خلال العمليات الحساسة مثل إعادة بناء المصفوفة. ترجمة -وبتصرّف- للمقال An Introduction to RAID Terminology and Concepts لصاحبه Justin Ellingwood
  3. بعد أن تطرّقنا في الدّرس السّابق إلى كيفية تنصيب نسخة الخواديم من نظام أوبنتو إضافة إلى كيفية إعداد مُختلف تطبيقاته، سنستعرض في هذا المقال بعض الخصائص المُتقدّمة التي قد تحتاج إليها لدى تنصيبك للنّظام. RAID برمجيمصفوفة التعدد للأقراص المستقلة (Redundant Array of Independent Disks أو اختصارًا RAID) هي طريقة لاستخدام عدِّة أقراص صلبة لتوفير توازن بين زيادة مرونة ووثوقيّة تخزين البيانات، و/أو زيادة أداء القراءة والكتابة، وذلك بالاعتماد على مستوى RAID المطبَّق؛ ويمكن تطبيق RAID إما بطريقة برمجية (حيث يَعلم نظام التشغيل عن القرصين المستخدمين، ويصون العلاقة بينهما)، أو عن طريق العتاد (حيث يضاف متحكم خاص يجعل نظام التشغيل يعتقد أنه يتعامل مع قرص واحد، ويتحكم بالأقراص تحكمًا «خفيًا»). النسخة البرمجية من RAID الموجودة في الإصدارات الحالية من لينُكس (وأوبنتو) هي مبنية على محرك «mdadm» الذي يعمل عملًا ممتازًا، وحتى أنه أفضل من متحكمات RAID «الفيزيائية»؛ سيدلُّك هذا القسم على طريقة تثبيت نسخة الخادوم من أوبنتو باستخدام قسمَي RAID1 على قرصين صلبين منفصلين، واحد من أجل نظام ملفات الجذر (/)، والآخر لذاكرة التبديل (swap). التقسيماتَّبِع تعليمات التثبيت إلى أن تصل إلى خطوة تقسيم الأقراص، عندها: اختر طريقة التقسيم اليدوية.اختر القرص الصلب الأول، ووافق على «هل تريد إنشاء جدول تجزئة جديد وفارغ على هذا الجهاز؟» ، أعد هذه الخطوة لجميع الأجهزة التي تريدها أن تصبح جزءًا من مصفوفة RAID.اختر «المساحة المتاحة» في أول قرص، ثم حدد «إنشاء جزء [قسم] جديد».اختر بعدها المساحة التخزينية لهذا القسم، سيكون هذا القسم هو القسم الخاص بذاكرة التبديل، والقاعدة العامة لحجم ذاكرة التبديل هي أن تكون ضعف حجم ذاكرة الوصول العشوائي (RAM)، اختر المساحة التخزينية للقسم، ثم اختر «أولي»، ثم «في البداية» (مكان بدء القطاعات).ملاحظة: لا يُستحسَن دومًا أن يكون حجم ذاكرة التخزين ضعف حجم الذاكرة، وخصوصًا في الأنظمة التي تملك مقدارًا كبيرًا من الذاكرة، يتوقف حساب الحجم التخزيني لقسم ذاكرة التبديل على طريقة استخدام النظام.اختر سطر «طريقة الاستخدام» من الأعلى، الذي يكون افتراضيًا «نظام ملفات Ext4»، وغيرّه إلى «حجم فيزيائي لمصفوفة RAID» (أو «الكتلة الجسمية لـ RAID») ، ثم اختر «انتهى إعداد الجزء [القسم]».ولتهيئة قسم الجذر (/) فاختر «المساحة المتاحة» مرةً أخرى على القرص الصلب الأول، ثم اختر «إنشاء جزء [قسم] جديد».اختر ما تبقى من مساحة القرص التخزينية، ثم اضغط على متابعة، ثم «أولي».وكما في قرص ذاكرة التبديل، اختر «طريقة الاستخدام» ثم «حجم فيزيائي لمصفوفة RAID»، ثم اختر سطر «وسم إمكانية الإقلاع»، وغيرها إلى «ممكَّن»، ثم اختر «انتهى إعداد الجزء [القسم]».أعد تنفيذ الخطوات من ثلاثة إلى ثمانية للأقراص والأقسام الأخرى.إعداد RAIDبعد أن أُعِّدَت الأقسام، يمكن الآن ضبط المصفوفة: عد إلى صفحة «تقسيم الأقراص» الرئيسية، ثم اختر «تهيئة مصفوفة RAID البرمجية» في الأعلى.اختر «نعم» لكتابة التغيرات إلى القرص.اختر «إنشاء جهاز MD».لهذا المثال، اختر «RAID1»، لكن إن كنت تستخدم ضبطًا مختلفًا، فاختر النوع الملائم (RAID0، أو RAID1‎، أو‏ RAID5). ملاحظة: ستحتاج إلى ثلاثة أقراص على الأقل لاستخدام RAID5، أما استخدام RAID0 أو RAID1، فيلزمك قرصان فقط.أدخِل رقم الأجهزة الفعالة (2)، أو مقدار الأقراص الصلبة التي عندك والتي ترغب باستخدامها في المصفوفة، ثم اختر «متابعة».أدخل رقم الأقراص البديلة (في حالة حدوث عطب في أحد الأقراص)، الذي هو «0» افتراضيًا، ثم اختر «متابعة».اختر الأقسام التي تريد استخدامها، عمومًا، ستكون sda1, sdb1, sdc1 ...إلخ. ستتطابق الأرقام غالبًا، وستختلف الأحرف للدلالة على اختلاف الأقراص الصلبة.لقسم ذاكرة التبديل، اختر sda1، و sdb1، ثم اختر «متابعة» للذهاب للخطوة الآتية.أعد الخطوات من ثلاثة إلى سبعة لقسم الجذر (/) باختيار sda2، و sdb2.بعد انتهائك من الضبط، اختر «إنهاء».التهيئةيجب أن تحصل الآن على قائمة بالأقراص الصلبة وأجهزة RAID، الخطوة الآتية هي التهيئة وإعداد نقاط الوصل لأجهزة RAID؛ عامل جهاز RAID كقرص صلب، هيِّئه وصِلْه كالمعتاد. اختر «‎#1» تحت قسم «RAID1 برمجي الجهاز ‎#0».اختر «استخدام كـ»، ثم اختر «ذاكرة التبديل»، ثم «انتهى إعداد الجزء [القسم]».ثم اختر «‎#1» تحت قسم «RAID1 برمجي الجهاز ‎#1».اختر «طريقة الاستخدام»، ثم اختر «نظام ملفات Ext4 سجلي».اختر «نقطة الوصل»، واضبطها على «/ - جذر نظام الملفات»، عدِّل الخيارات الأخرى كما تريد، ثم اختر «انتهى إعداد الجزء [القسم]».في النهاية، اختر «إنهاء التجزئة، وكتابة التغيرات إلى القرص».إذا اخترت وضع قسم الجذر في مصفوفة RAID، فسيسألك المثبت إذا كنت تريد الإقلاع بحالة «منخفضة» (degraded)، راجع القسم «مصفوفة RAID ذات الحالة المتدهورة (degraded state)» للمزيد من التفاصيل. يجب أن تُكمَل عملية التثبيت بشكلٍ اعتيادي. مصفوفة RAID ذات الحالة المتدهورة (degraded state)قد يحصل خلل في القرص في نقطة ما من حياة الحاسوب؛ وعندما يحصل ذلك وقت استخدام مصفوفة RAID برمجية، فسيضع نظام التشغيل المصفوفة في ما يدعى «الحالة المتدهورة» (degraded state). إذا أصبحت المصفوفة في الحالة المتدهورة -ربما لحدوث تلف في البيانات- فعندها تحاول نسخة الخادوم من أوبنتو افتراضيًا الإقلاع إلى initramfs بعد ثلاثين ثانية، وعندما يكتمل إقلاع initramfs، فسيظهر مِحَث لمدة خمس عشرة ثانية يسمح لك بالاختيار بين إقلاع النظام أو محاولة استرداده يدويًا؛ ربما لا يكون الإقلاع إلى محث initramfs هو السلوك المطلوب، وخصوصًا إن كان الحاسوب في مكان بعيد عنك. يمكن إعداد الإقلاع إلى مصفوفة متدهورة بعدة طرق: الأداة dpkg-reconfigure التي تستخدم لضبط السلوك الافتراضي؛ وستُسأل خلال العملية عن الخيارات الإضافية المتعلقة بالمصفوفة، كالمراقبة، وتنبيهات البريد ...إلخ. أدخِل الأمر الآتي لإعداد mdadm: sudo dpkg-reconfigure mdadmستغير عملية dpkg-reconfigure mdadm ملف الإعدادات ‎/etc/initramfs-tools ‎/conf.d/mdadm، لدى هذا الملف ميزة القدرة على الإعداد المسبق لسلوك النظام، ويمكن تعديله يدويًا: BOOT_DEGRADED=tureملاحظة: يمكن تجاوز ملف الإعدادات باستخدام وسيط يمرر للنواة. يَسمح استخدام وسيط يمرر للنواة لك أيضًا بإقلاع النظام من مصفوفة ذات الحالة المتدهورة كما يلي: عندما يقلع الخادوم، اضغط على Shift لفتح قائمة جروب (Grub).اضغط e لتعديل خيارات النواة.اضغط على زر السم السفلي لتعليم سطر النواة.أضف «bootdegraded=true» (دون علامات الاقتباس) إلى نهاية السطر.اضغط على Ctrl+x لإقلاع النظام.بعد أن يُقلِع النظام، تستطيع إما إصلاح المصفوفة (انظر قسم «صيانة مصفوفات RAID» للتفاصيل) أو نسخ المعلومات المهمة إلى جهاز آخر بسبب عطب في العتاد. صيانة مصفوفات RAIDيمكن أن تَعرِض الأداة mdadm حالة المصفوفة، أو تستطيع إضافة أو إزالة أقراص في المصفوفة ...إلخ. لإظهار حالة مصفوفة أقراص، فأدخِل الأمر الآتي إلى الطرفية: sudo mdadm -D /dev/md0الخيار ‎-D يخبر mdadm أن يُظهِر معلوماتٍ تفصيلية حول الجهاز ‎/dev/md0، استبدل مسار جهاز RAID المناسب بالمسار ‎/dev/md0. لعرض حالة قرص في مصفوفة: sudo mdadm -E /dev/sda1ستُشابِه مخرجات الأمر السابق مخرجات الأمر mdadm -D؛ عدِّل ‎/dev/sda1 لكل قرص من أقراص المصفوفة. إذا عُطِبَ قرصٌ ما، فيجب أن يُزال من المصفوفة: sudo mdadm --remove /dev/mo0 /dev/sda1بدِّل كلًّا من ‎/dev/md0 و ‎/dev/sda1 إلى جهاز RAID والقرص الملائمَين بالتوالي وبالترتيب. وبطريقة مشابهة، لإضافة قرص جديد: sudo mdadm --add /dev/md0 /dev/sda1يمكن أن تُبَدَّل حالة القرص في بعض الأحيان إلى «مُعَاب» (faulty)، حتى وإن لم يكن فيه خلل فيزيائي؛ من المفيد في كثير من الأحيان إزالة القرص من المصفوفة، ثم إعادة إضافته؛ وهذا ما يجعل القرص يُزامَن مرةً أخرى مع المصفوفة؛ وإذا لم يزامن القرص مع المصفوفة، فهذا دليلٌ قويٌ على وجود مشكلة فيزيائية فيه. يحتوي الملف ‎/proc/mdstat على معلومات مفيدة حول حالة أجهزة RAID في النظام: cat /proc/mdstatPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sda1[0] sdb1[1] 10016384 blocks [2/2] [UU] unused devices: <none>الأمر الآتي رائع لمشاهدة حالة مزامنة قرص: watch -n1 cat /proc/mdstatاضغط على Ctrl+c لإيقاف الأمر watch. إذا احتجت لاستبدال قرص معطوب، فيجب أن يعاد تثبيت محمل الإقلاع «جروب» (grub) مرةً أخرى بعد استبدال القرص المعطوب بالجديد ومزامنته؛ أدخِل الأمر الآتي لتثبيت «جروب» على القرص الجديد: sudo grub-install /dev/md0ضع اسم جهاز المصفوفة الملائم بدلًا من ‎/dev/md0. مصادرإن موضوع مصفوفات RAID هو موضوع معقد نتيجةً لوفرة الطرق التي يمكن ضبط RAID فيها، رجاءً راجع الروابط الآتية لمزيدٍ من المعلومات: المقالات التي تتحدث عن RAID في ويكي أوبنتو. مقالة بعنوان «Software RAID HOWTO».كتاب «Managing RAID on Linux».مدير الحجوم المنطقية (LVM)يسمح مدير الحجوم المنطقية (Logical Volume Manager) لمدراء الأنظمة بإنشاء حجوم تخزينية على قرصٍ واحد أو أقراصٍ صلبة متعددة؛ ويمكن إنشاء حجوم LVM على أقسام في مصفوفة RAID أو على الأقسام الموجودة في قرص واحد، ويمكن أيضًا توسيع تلك الحجوم، مما يضيف مرونةً كبيرةً للنظام عندما تتغير المتطلبات التشغيلية. لمحة عامةتأثيرٌ جانبي لقوة ومرونة LVM هو درجة كبيرةٌ من التعقيد؛ ويجدر بنا التعرف على بعض المصطلحات قبل الخوض في عملية تثبيت LVM: الحجم الفيزيائي (PV): القرص الصلب الفيزيائي، أو قسم في قرص، أو قسم مصفوفة RAID برمجية؛ مهيئين للعمل كحجم LVM.مجموعة الحجوم (VG): التي تُصنَع من حجم فيزيائي واحد أو أكثر؛ ويمكن أن تُوسَّع مجموعة الحجوم بإضافة المزيد من الحجوم الفيزيائية، حيث تكون مجموعة الحجوم كقرص صلب وهمي (virtual disk drive)، الذي يُنشَأ منه المزيد من الحجوم المنطقية.حجم منطقي (LV): الذي يشبه القسم في الأنظمة الأخرى (التي ليست LVM)، حيث يُهيَّأ الحجم المنطقي بنظام الملفات المطلوب (‎Ext3، أو‏ XFS‎، أو‎‏ JFS ...إلخ.)، ويكون متوفرًا للوصل وتخزين البيانات.التثبيتسيشرح المثال في هذا القسم طريقة تثبيت نسخة الخادوم من أوبنتو مع وصل مجلد ‎/srv على حجم LVM، إذ سيُضاف حجمٌ فيزيائيٌ (PV) واحدٌ فقط أثناء عملية التثبيت، والذي يمثِّل جزءًا من مجموعة الحجوم؛ وسيضاف حجم فيزيائي آخر بعد التثبيت لشرح كيف يمكن أن تُوسَّع مجموعة الحجوم. هنالك خياراتُ تثبيتٍ عدِّة لاستخدام LVM، الخيار الأول «موجّه - استخدام القرص بأكمله وإعداد LVM» الذي يسمح بإعطاء جزء من المساحة التخزينية المتوفرة لاستخدامها في LVM، والخيار الآخر «موجّه - استخدام القرص بأكمله وإعداد LVM مشفّر»، أو إعداد الأقسام وضبط LVM يدويًا؛ والطريقة الوحيدة لهذه اللحظة لإعداد النظام لاستخدام LVM والأقسام الاعتيادية أثناء التثبيت هو استخدام الطريقة اليدوية. اتَّبِع خطوات التثبيت إلى أن تصل إلى خطوة «تقسيم الأقراص»، عندها: في صفحة «تقسيم الأقراص»، اختر «يدويًا».اختر القرص الصلب، ثم في الشاشة التالية اختر «نعم» للرد على الرسالة «هل تريد إنشاء جدول تجزئة جديد وفارغ على هذا الجهاز؟».ثم أنشئ أقسام ‎/boot، و swap، و ‎/‎ بأي نظام ملفات تريد.ولإنشاء ‎/srv باستخدام LVM، فأنشئ قسمًا منطقيًا جديدًا، ثم غير «طريقة الاستخدام» إلى «حجم فيزيائي لتخزين LVM»، ثم اختر «انتهى إعداد الجزء [القسم]».اختر الآن «إعداد مدير الحجوم المنطقية» في الأعلى، ثم اختر «نعم» لكتابة التعديلات إلى القرص.والآن اختر «إنشاء مجموعة حجوم» في «إعدادات LVM» في الشاشة التالية، ثم اختر اسمًا لمجموعة الحجوم، وليكن vg01، أو أي شيء يصفها أكثر من ذلك؛ وبعد اختيار الاسم، اختر القسم المُعَدّ لاستخدام LVM عليه، ثم «متابعة».وبالعودة لصفحة «إعدادات LVM»، اختر «إنشاء حجم منطقي»، واختر مجموعة الحجوم المُنشَأة منذ قليل، وأدخل اسمًا للحجم المنطقي الجديد (على سبيل المثالsrv ﻷنه اسم نقطة الوصل المخطط لها) ثم اختر المساحة التخزينية، التي ستكون القسم بأكمله، لا تنسَ أنه يمكنك دائمًا زيادتها لاحقًا، ثم اختر «إنهاء» ويجب أن تعود لشاشة «تقسيم الأقراص».لإضافة نظام ملفات إلى LVM الجديد، اختر القسم تحت «LVM VG vg01, LV srv»، أو أي اسم قد اخترته في الخطوة السابقة، ثم اختر «طريقة الاستخدام»، واضبط نظام الملفات كالمعتاد باختيار ‎/srv نقطةً للوصل، ثم اضغط على «انتهى إعداد الجزء [القسم]» عند الفراغ منه.في النهاية، اختر «إنهاء التجزئة وكتابة التغيرات إلى القرص»، ثم وافق على إجراء التغيرات، وأكمل عملية التثبيت.هذه بعض الأدوات المفيدة لعرض المعلومات حول LVM: الأمر pvdisplay: عرض معلومات حول الحجوم الفيزيائية.الأمر vgdisplay: عرض معلومات حول مجموعات الحجوم.الأمر lvdisplay: عرض معلومات حول الحجوم المنطقية.توسيع مجموعات الحجومبإكمال مثالنا المتعلق بحجم LVM واستخدامه كنقطة وصل لمجلد ‎/srv‎‎، فسيناقش هذا القسم إضافة قرص صلب آخر، وإنشاء حجم فيزيائي (PV)، وإضافته إلى مجموعة الحجوم (VG)، وتوسيع الحجم المنطقي srv، ثم في النهاية توسيع نظام الملفات؛ يفترض هذا المثال أنَّ قرصًا صلبًا ثانيًا قد أُضيف إلى النظام، وفي هذا المثال، سيكون اسمه ‎ /dev/sdbوسنستخدم القرص بأكمله كحجمٍ فيزيائي (بإمكانك إنشاء أقسام واستخدامها كحجوم فيزيائية مختلفة). تحذير: تأكد أنه ليس لديك قرص صلب باسم ‎ /dev/sdbقبل تنفيذ الأوامر الآتية، قد تخسر بعض البيانات إذا نفَّذت هذه الأوامر على قرص غير فارغ. أولًا، أنشِئ الحجم الفيزيائي بتنفيذ الأمر الآتي في الطرفية: sudo pvcreate /dev/sdbوسِّع الآن مجموعة الحجوم (VG): sudo vgextend vg01 /dev/sdbاستخدم vgdisplay لمعرفة الامتدادات الفيزيائية أو PE‏ (physical extents)، التي هي الامتدادات الفيزيائية الحرة / الحجم (الحجم التخزيني الذي حددته)، سنعتبر أن المساحة الفارغة هي ‏511 ‏PE‏ (مما يساوي2 غيغابايت إذا كان حجم PE هو 4 ميغابايت)، وسنستخدم كل المساحة الفارغة المتاحة، لا تنسَ استخدام رقم PE -أو الحجم التخزيني الحر- المتوفر عندك. يمكن توسيع الحجم المنطقي بعدِّة طرق، وسنشرح كيف يمكن استخدام PE لتوسعة حجم منطقي: sudo lvextend /dev/vg01/srv -l +511إن الخيار ‎-l يسمح بتوسعة الحجم المنطقي باستخدام PE، يسمح الخيار ‎-L للحجم المنطقي بأن يُوسَّع باستخدام الميغا، أو الغيغا، أو التيرابايت ...إلخ. حتى وإن كان من المفترض أنه باستطاعتك توسيع نظام ملفات ext3 أو ext4 دون فصله أولًا، لكن من العادات الجيدة فصله على أيّة حال وتفحص نظام الملفات؛ وبهذا لن تخرِّب شيئًا في اليوم الذي تريد فيه تقليل الحجم المنطقي (إذ يكون فصل نظام الملفات في هذه الحالة إلزاميًا). الأوامر الآتية ﻷنظمة الملفات EXT3 أو EXT4، إذا كنت تستخدم أنظمة ملفات أخرى، فتتوفر أدوات مختلفة: sudo umount /srv sudo e2fsck -f /dev/vg01/srvالخيار ‎-f يجبر الأداة e2fsck على تفحص نظام الملفات وإن كان يبدو «نظيفًا». في النهاية، غيِّر حجم نظام الملفات: sudo resize2fs /dev/vg01/srvثم صِل نظام الملفات وتأكد من حجمه التخزيني: mount /dev/vg01/srv /srv && df -h /srvمصادرراجع المقالات حول LVM في ويكي أوبنتو.انظر مقالة LVM HOWTO للمزيد من المعلومات.مقالة أخرى جيدة هي «Managing Disk Space with LVM» في موقع O'Reilly المدعو linuxdevcenter.com.للمزيد من المعلومات حول fdisk، انظر صفحة الدليل الخاصة به.رجمة -وبتصرّف- للمقال Ubuntu Server Guide: Advanced Installation.
  4. سنشرح اليوم فكرة التوفّر أو تكرار البيانات (redundancy). البيانات المُكررة ليست نسخةً احتياطية، بل هي بيانات يمكن أن تساعدك على تجاوز عمليات فشل الأقراص (disks fail) في حال ما إذا تعذّر عليك الوصول إلى بيانات الأقراص الصلبة عبر الطريقة الأساسية التي تستعملها. تعتمد طريقة تشغيل النسخ المتماثل (replication) على نظامك على كيفية استعمالك لبياناتك، الأخطاء التي تريد تجنّبها وكيفيّة تفاعل زوّارك مع خادومك. الوفرة العالية عبر RAIDربّما يكون أشهر أنواع النسخ المتماثل (replication) هو تقنية RAID. ترمز RAID إلى "مصفوفة تكرار الأقراص المستقلة - Redundant Array of Independent Disks". يعني هذا أنّه وفي غالب الأحيان، تعمل الأقراص كمرايا (mirrors) لبعضها البعض. التطبيق الأكثر شيوعًا لتقنية RAID هو مصفوفة RAID 1. يقوم هذا النوع من المصفوفات بتمرير (mirror) قرصٍ صلب ما على قرصٍ صلبٍ آخر. يعني أنّه وفي حال فشل القرص الصلب الأوّل، فسيبقى القرص الصلب الثاني موجودًا للخدمة وكتابة البيانات. يسرّع هذا النوع من المصفوفات عملية القراءة من الأقراص بسبب توفّر البيانات في أكثر من مكان وبالتالي يستطيع النظام قراءتها من أيّ موقعٍ يريد من الموقعين المتوفّرين. هذا المثال أيضًا هو مثالٌ جيّد لتوضيح السبب الذي من أجله تكون تقنية مثل RAID، أو عملية تكرار البيانات (redundancy) عمومًا مختلفة عن عملية النسخ الاحتياطي (backup). إذا قمتَ بحذف ملفّ ما فقد تمّ حذفه بالفعل ولن تتمكن من استرجاعه. يتم تطبيق التغييرات على جميع الأقراص مباشرةً بالوقت نفسه لضمان المزامنة بينها. يتم تطبيق تقنية RAID في المستوى المنخفض (low-level)، هذا يعني أنّك لن تستطيع التحكّم بتقنية RAID وخصائصها أو تضمينها على خادومك الافتراضي الخاصّ على شركة DigitalOcean مثلا، إن كان خادومك على مزود آخر، فراجع دليل المساعدة الخاص بالمزود. تكرار البيانات على مستوى الكتل Block-Levelمن الطرق الأخرى للقيام بعملية تكرار البيانات (Redundancy) هي عبر تمرير هيكلة الكُتَل (Blocks) بالكامل. DRBD أو "جهاز الكُتَل المكررة الموزّع - Distributed Replicated Block Device"، هو عبارة عن طريقة يمكن تطبيقها للقيام بعملية تكرار البيانات على امتداد أجهزة الكُتَل (Block Devices). قد يبدو هذا مشابهًا لمصفوفة RAID التي تستعمل المرايا، وفي بعض الأحيان، هي كذلك بالفعل. لكنّ الفرق هو في المكان الذي تتم فيه عملية النسخ المتماثل. في RAID، تتم عمليّة تكرار البيانات على مستوى أقل من مستوى تطبيقات النظام. تدير بطاقة RAID أو برمجيّة RAID الأقراص الصلبة الفيزيائية بنفسها وتقوم في النهاية بتقديم قرصٍ واحد ليتم قراءة البيانات منه. DRBD على الجانب الآخر، مُعدّة بطريقة مختلفة تماًمًا. في DRBD، يتم تمرير محتويات كلّ خادوم بالكامل إلى خادومٍ آخر. يتم تمرير واجهة التطبيقات كذلك. هذا يعني أنّه يمكن التعامل مع فشل التطبيقات بسهولة بسبب وجود آلة أخرى منفصلة تمامًا عن الخادوم الرئيسي تحوي على نفس محتويات الخادوم الرئيسي. إذا فشل خادومك الأوّل مثلًا بسبب مشاكل بالطاقة، فسيتم تشغيل خادومك الثاني ليقوم بنفس المهام. النسخ المتماثل في SQLإذا كانت بياناتك المهمّة مخزّنة في قاعدة بيانات SQL (مثل MySQL ،MariaDB ،PostgreSQL، ..)، فيمكنك الاستفادة من بعض مزايا النسخ التكراري أو النسخ المتماثل المضمّنة بالفعل. يمكن لهذه المزايا أن توفّر لك نظام استرجاع في حال تعطّل نظامك الرئيسي. النسخ المتماثل بـ Master-Slaveالنوع الأساسي للنسخ التكراري أو المتماثل (replication) الخاصّ بـSQL هو إعداد Master-Slave. في هذا السيناريو، تمتلك خادوم قاعدة بيانات رئيسي، والذي يتم الإشارة إليه باسم السيّد أو "Master". هذا الخادوم هو المسؤول عن تنفيذ جميع مهام الكتابة والتحديثات. يتم نسخ البيانات من هذا الخادوم بشكلٍ مستمر إلى الخادوم الفرعي أو "slave". يمكن أيضًا القراءة من هذا الخادوم، ولكن لا يمكن الكتابة عليه. يسمح لك هذا التثبيت بتوزيع البيانات على امتداد أجهزة متعددة، والذي يمكنه تحسين أداء تطبيقك بشكل ملحوظ. في حين أنّ تحسين الأداء هذا يعتبر ميّزة مهمّة، واحدٌ من الأسباب الرئيسية التي قد تودّ من أجلها إعداد نسخٍ تكراري باستخدام Master-Slave هو لمعالجة الأعطاب ومشاكل الفشل. إذا أصبح خادومك الرئيسي غير متوفّر، فيمكنك القراءة من خادومك الفرعي. أيضًا من الممكن أن تقوم بتحويل الخادوم الفرعي إلى خادوم رئيسي في حال ما إذا كان خادومك الرئيسي معطّلًا لفترة معيّنة من الوقت. نسخ Master-Slave المتماثل في الواقع هو مكان من الأماكن التي يمكننا أن نلاحظ فيها تكامل عمليتيّ النسخ الاحتياطي والنسخ المتماثل. في إعداد master-slave، يمكنك نسخ البيانات بشكلٍ متماثل من الخادوم السيّد أو الرئيسي إلى الخادوم الفرعي. يمكنك بعدها تعطيل النسخ المتماثل بشكلٍ مؤقّت لمعرفة حالة المعلومات وصيانتها على الخادوم الفرعي. من هنا، يمكنك عمل نسخة احتياطية من قاعدة البيانات باستخدام أيّ أداة نسخ احتياطي تريدها. يمكنك قراءة المزيد عن: إعداد النسخ المتماثل بـMaster-Slave لـMySQL أو إعداد النسخ المتماثل بـMaster-Slave لـPostgreSQL. النسخ المتماثل بـMaster-Masterالنوع الثاني من النسخ المتماثل يدعى "Master-Master" أو من خادومٍ رئيسي إلى خادومٍ رئيسي آخر. يسمح هذا الإعداد لكلا الخادومين بامتلاك الميّزات "الرئيسية". يعني هذا أنّه يمكن لكلا الخادومين أن يقبلا الكتابة والتحديثات ونقل التغييرات إلى الخادوم الآخر. يرث هذا الإعداد مزايا إعداد master-slave، ولكنّه يستفيد أيضًا من التحسّن بأداء الكتابة على الأقراص إذا كانت طريقة الكتابة موزّعة بشكلٍ جيّدة عبر آلية موازنة حملٍ جيّدة. هذا يعني أيضًا أنّه في حال تعطّل خادومٍ ما، سيبقى الآخر عامِلًا وقادرًا على استقبال الطلبات وخدمة الزوّار. صحيحٌ أنّ عملية الإعداد ستكون أكثر تعقيدًا هنا، ولكنّ عملية الاسترجاع في هذه الحالة هي أقل تعقيدًا من حالة الاسترجاع من الفشل في إعداد master-slave، لأنّه لا حاجة إلى نقل قاعدة البيانات من الخادوم الفرعي إلى الخادوم الرئيسي. يمكن أيضًا دمج هذا الإعداد مع آلية نسخٍ احتياطي إذا قمت بتعطيل واحدٍ من الخواديم الرئيسية. يجب أن تقوم بإعداد قاعدة بيانات ثابتة للنسخ الاحتياطي لتعمل بشكلٍ صحيح، لذا يجب عليك أن تتأكّد من أنّه لا يتم كتابة أو تعديل أيّ بيانات إلى حين انتهاء عملية النسخ الاحتياطي. يمكنك قراءة المزيد عن: النسح المتماثل كـmaster-master. التوزيع كبديل للنسخ لتكرار البياناتتعرض الأنظمة الموزّعة العديد من المزايا مقارنةً بتضبيطات تكرار البيانات التقليدية. شرحنا مراحل RAID الممررة عبر المرايا أعلاه (RAID 1). هناك مرحلة أخرى شائعة الاستخدام في RAID وهي RAID 5. تقوم هذه المرحلة بتوزيع البيانات على امتداد عددٍ من الأجهزة وتقوم أيضًا بكتابة بياناتٍ مساوية على امتداد كلّ جهاز. يعني هذا أنّه يمكن إعادة بناء أيّ نوع من الإجراءات (Transactions) عبر جمع المعلومات الموزّعة بشكلٍ متساوٍ من الأجهزة الأخرى في حال تعطّل جهازٍ ما. يوفّر هذا طريقةً مختلفة لتوزيع البيانات عبر مختلف الأقراص، ويمكنه معالجة فشل واحدٍ من الأقراص كذلك. لا يجب أن تتم الأنظمة الموزّعة على صعيد العتاد (hardware) فقط. هناك أيضًا عدّة قواعد بيانات وحلول برمجية أخرى مصممة للتعامل مع البيانات الموزّعة كميّزة أساسية لها. من الأمثلة على هذا هو Riak، Riak هو عبارة عن قاعدة بيانات موزّعة. عُقَد Riak متطابقة جميعًا. لا يوجد أيّ علاقة master-slave بين الأجزاء المختلفة. تتم عملية النسخ المتماثل على الكائنات المخزّنة في قاعدة البيانات تلقائيًا، لذا فهناك عملية نسخ متماثل تلقيدية في هذا الجانب. على كلّ حال، لا تقوم كلّ عقدة بتخزين قاعدة البيانات بأكملها داخلها، بل يتم توزيع البيانات على جميع العقد بطريقة مشابهة. يتم وضع الكائنات التي تمّ نسخها بشكلٍ متماثل على عقدٍ مختلفة للسماح بالتوفّر العالي في حال حصول أعطاب على مستوى العتاد. مثالٌ آخر قائم على هذا المبدأ المُضمّن في قاعدة بيانات هو Cassandra. وهو مبني على نفس المبادئ الموجود في Riak، ولكنّها مضمّنة بطريقة مختلفة. خاتمةكما يمكنك أن ترى، هناك العديد من الخيارات المتوفّرة للنسخ المتماثل أو النسخ التكراري، كلّ واحدٍ منه يمتلك إيجابياتٍ وسلبيات. يعتمد الأمر بشكلٍ أساسي على المشاكل التي تحاول تجنّبها وماهيّة أجزاء النظام التي لا تريد أن تكون خارج الخدمة بتاتًا. خليطٌ من هذه التقنيات سيكون دومًا خيارًا أأمن وأكثر شمولية. يجب أيضًا أن تكون قادرًا على أن ترى الآن أن إعداد النسخ المتماثل ليس بديلًا عن النسخ الاحتياطي. للتطبيقات التي يكون فيها توافق البيانات والوصول أمرًا أساسيًا، سيكون النسخ الاحتياطي والنسخ المتماثل تقنيتين لا تقدرّان بثمن. تضمينٌ صحيح لهاتين التقنيتين سيضمن لك أنّ منتجك سيكون دومًا متوفرًا للمستخدمين وأنّ البيانات لن تضيع منك. ترجمة -وبتصرف- للمقال: How To Choose a Redundancy Plan To Ensure High Availability لصاحبه: Justin Ellingwood. حقوق الصورة البارزة: Designed by Freepik.