عيادي طاهر | كيف تحمي بيانات الشركة بتفعيل خاصية RAID ؟

كيف تحمي بيانات الشركة بتفعيل خاصية RAID ؟

تاريخ النشر: 2022-12-10


RAID هي تقنية تُستخدم لزيادة موثوقية و أداء عملية تخزين البيانات. يشير اختصار RAID إلى صفيف متكرر من محركات الأقراص المستقلة ( Redundant Array of Independent Drives ) وتعني استخدام 2 أو أكثر من من محركات الأقراص ( disk drives ) بالتوازي وكأنها كتلة واحدة، لغرض تجنب تخزين البيانات في محرك قرص واحد لما في ذلك من خطر احتمالية خسارة البيانات في حالة حدوث خلل لهذا الأخير .

يتم إدارة محركات الأقراص عن طريق وحدة تحكم ( RAID controller ) وهي جهاز أو برنامج يستخدم للتحكم في مجموعات محركات الأقراص كوحدات منطقية لتحسين الأداء والمساعدة في حماية البيانات في حالة حدوث عطل.

مستويات تقنية RAID

هناك مستويات مختلفة من تقنية RAID اعتمادا على عدد الأقراص المستعملة وكيفية تركيبها معا ،وكل منها مُحسَّن لحالة معينة. يجب التنبيه أيضا أن مستوى التقنية لا يتعلق حصرا بنوع محركات الأقراص المستخدمة سواء كانت محركات أقراص صلبة ميكانيكية ( Hard Disk Drives ) أو محركات أقراص كهربائية ( Solid Sate Drives )، وقد يتم استعمال الإثنين معا.

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

مستوى 0 RAID – التجريد ( striping )

يعني نظام RAID 0 توزيع البيانات عبر إثنين أو أكثر من محركات الأقراص في نفس الوقت، ما يوفر زيادة في سرعة الكتابة (توزيع البيانات عبر عدة أقراص) والقراءة أيضا حيث يقل الحِمل وكذا المدة اللازمة لقراءة مجمل البيانات.

هذا يعني أن نظام RAID0 وبعد بتقسيم البيانات إلى كتل (blocks) ، يقوم بكتابة الكتلة الأولى إلى محرك الأقراص الأول ، والثانية إلى الذي يليه، وهكذا ، حتى يصل إلى جميع محركات الأقراص ، ثم يعود إلى محرك الأقراص الأول حتى يتم كتابة جميع كتل البيانات .

فمثلا في الصورة المقابلة تمت كتابة الكتلة الأولى في محرك الأقراص الأول والكتلة الثانية في محرك الأقراص الثاني ، بينما الكتلة الثالثة في محرك الأقراص الأول لأنه لم يتبق محركات أقراص أخرى، وهكذا حتى يتم كتابة جميع كتل البيانات :

RAID 0 topology and data blocks distribution
توزيع كتل البيانات في نظام RAID 0

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

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

مستوى 1 RAID – انعكاس البيانات ( mirroring )

يرتكز نظام RAID1 على تكرار جميع البيانات المكتوبة على محرك أقراص واحد في محرك أقراص ثاني بالتوازي ( replication with synchronisation ) ، وهذا لضمان أنه في حالة فشل إحدى الأقراص يمكن استرجاعها من الثاني والذي يتوفر على نسخة متطابقة من البيانات، وعليه تشترط هذه التقنية كحد أدنى اثنين من الأقراص.

فمثلا في الصورة المقابلة جميع كتل البيانات المتواجدة في محرك الأقراص الأول تووفر على نسخة مطابقة لها في محرك الأقراص الثاني:

RAID 1 topology and data blocks distribution
توزيع كتل البيانات في نظام RAID 1

بسبب أن البيانات يتم كتابتها مرتين ، فإن سَعَة التخزين الفعلية هي فقط نصف السَّعَة الإجمالية لمحركات الأقراص أي لو افترضنا أنه لديك 2 من الأقراص سَعَة كل منها 3 تيرا، أي باجمالي 6 تيرا ، فان السَّعَة الفعلية هي 3 تيرا فقط لأن البيانات يتم كتابتها مرتين.

يصلح هذا المستوى لعمليات التخزين الخاصة بالخوادم التي لا تتعامل مع بيانات بحجم عالي أو سرعة كتابة متغيرة باستمرار بسبب عمليات التكرار والاسترجاع المتزامنين لما لها من تأثير على صَلاحِيَة البيانات والحد الأدنى لمعايير قَبُول الخدمة.

مستوى RAID 5 - التجريد بالتكافؤ ( Striping with Parity )

مقارنة بالمستويين السابقين، RAID 5 هو الأكثر أمانا والأكثر شيوعا. يتم توزيع البيانات في هذا المستوى على ثلاث محركات أقراص كحد أدنى لستة عشر قرصًا كحد أقصى. ويمكنه تحمل فشل محرك أقراص واحد دون فقدان البيانات.

يرتكز هذا المستوى على مبدأ التكافؤ لتوفير التكرار، إذ و بدلاً من كتابة نسخة مكررة كاملة من البيانات إلى محرك أقراص ثانٍ كم الحال مع RAID 1 ، و على عكس RAID 0 أين يتم توزيع البيانات عبر اثنين أو أكثر من محركات الأقراص ، فإنه في RAID 5 يتم أيضا توزيع كتل البيانات، لكن عبر تشغيل خوارزمية سريعة عبر نفس الكتلة على عدة محركات أقراص ، حيث تقوم رياضيا على مبدأ إضافة بتات تماثل أو تكافؤ (parity bytes) التي تعد نوعًا من بيانات التصحيح في حالة فشل القرص بحيث يتم إنشاء كتلة جديدة بناءً عليها.

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

فمثلا في الصورة المقابلة يتم توزيع كتل البيانات مع تلك المخصصة لبيانات التماثل عبر مختلف محركات الأقراص الأربعة، ثلاث منها كتل بيانات فعلية والجزء الأخير بيانات التصحيح :

RAID 5 topology and data blocks distribution
توزيع كتل البيانات في نظام RAID 5

سرعة قراءة البيانات في هذا المستوى جيدة، لكن الكتابة بطيئة نوعا ما بسبب عمل خوارزمية التماثل، ولتحسين أداء الكتابة مع RAID 5 يوصى باستخدام وحدة تحكم ( hardware controller ) مع ذاكرة تخزين مؤقتة ( cache memory ) إضافية على وحدات التحكم هذه.

يعتبر RAID 5 مثالي لخوادم الملفات ( مثل مشاركة الملفات ووحدات التخزين الشبكية NAS ) والتطبيقات التي تحتوي على عدد محدود من محركات البيانات.

مستوى RAID 6 - التجريد بتكافؤ مزدوج ( Striping with dual Parity )

نظام RAID 6 تقريبا مماثل RAID 5 ، بحيث يتم توزيع البيانات عبر مختلف محركات الأقراص إلا أنّ بيانات التماثل الخاصة بكتل البيانات يتم كتابتها على اثنين من محركات الأقراص بدل واحد . هذا يعني أنه يتطلب 4 محركات على الأقل لتشغيل هذا النظام ( اثنين لكتل البيانات واثنين لبيانات التماثل ) وبإمكانه تحمل فشل محركين في وقت واحد، ما يعني أن هذا النظام يعتبر أكثر منطقية في حالة توفر الكثير من محركات الأقراص بحيث تكون قراءة معاملات البيانات سريعة جدًا.

يمكن اعتبار فرص تعطل محركين في نفس اللحظة بالضبط أمرا ضئيلا للغاية. ومع ذلك يظل واردا ،فإذا فشل محرك أقراص في أنظمة RAID 5 وتم استبداله بمحرك أقراص جديد ، فسيستغرق الأمر ساعات أو حتى أكثر من يوم لإعادة إنشاء محرك الأقراص الذي تم تبديله. وعليه إذا فشل محرك أقراص آخر خلال ذلك الوقت ، فسيتم فقدان جميع البيانات . لكن مع RAID 6 ، سوف تنجو مصفوفة RAID من هذا الفشل الثاني.

في الصورة المقابلة بيانات التماثل أو التكافؤ الخاصة بكتل البيانات موزعة عبر مختلف محركات الأقراص وهي اثنين بدل واحد لكل فئة:

RAID 6 topology and data blocks distribution
توزيع كتل البيانات في نظام RAID 6

الإشكال في نظام RAID6 يكمن في كتابة معاملات البيانات، فهو أبطأ من RAID 5 بسبب بيانات التكافؤ الإضافية التي يجب حسابها. ثم إن أعطال محرك الأقراص تؤثر على سرعة النقل ( throughput ) ، مع أنّ أن هذا لا يزال مقبولاً، إلّا أن إعادة بناء مصفوفة البيانات عند فشل محرك أقراص واحد فيها يمكن أن يستغرق وقتًا طويلاً (عدة ساعات وقد تصل إلى أيام حسب نوع وحجم محرك الأقراص ) .

رغم أن تقنية RAID 6 هي تقنية معقدة، إلاّ أنها نظام جيد شامل يجمع بين التخزين الفعال والأداء اللائق، وتفضل على RAID 5 في خوادم الملفات والتطبيقات التي تستخدم العديد من محركات الأقراص الكبيرة لتخزين البيانات.

مستوى RAID 10 - التجريد + انعكاس ( RAID 1 + RAID 0 )

يتميز نظام RAID 10 بكونه متداخل أو مختلط ويجمع بين مزايا (وعيوب) كل من RAID 0 و RAID 1 ، إذ يتميز بسرعة عمليات نقل البيانات كتابة وقراءة عبر توزيع كتل البيانات عبر كامل مجموع محركات الأقراص،كما يوفر الأمان من خلال عكس (نسخ متطابق mirroring ) جميع البيانات الموجودة على محركات الأقراص الثانوية .

نلاحظ في الصورة التالية كيفية توزيع كتل البيانات وعكسها عبر مختلف أقراص المحركات:

RAID 10 topology and data blocks distribution
توزيع كتل البيانات في نظام RAID 10

إذا حدث خطأ ما في أحد الأقراص في تكوين RAID 10 ، فإن وقت إعادة البناء يكون سريعًا جدًا لأن كل ما هو مطلوب هو نسخ جميع البيانات من النسخة المتطابقة الباقية إلى محرك أقراص جديد. قد يستغرق هذا أقل من 30 دقيقة (حسب نوع المحرك) لمحركات الأقراص التي تبلغ سعتها 1 تيرابايت.

يذهب نصف سعة التخزين إلى النسخ المتطابق ، لذا مقارنة بمصفوفات RAID 5 أو RAID 6 الكبيرة ، فهذه طريقة مكلفة للحصول على التكرار أو نسخة متطابقة للبيانات.

خاتمة

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

RAID ليس بديلاً عن النسخ الاحتياطي، وكما هو الحال مع أي شيء في الهندسة ، هناك عدة طرق للقيام بشيء ما ، ولكل منها مجموعة من المقايضات الخاصة بها.

قائمة بعض المراجع