[مطلوب توضيح]

RAID 0.svg
RAID 1.svg
RAID2 arch.svg
RAID 3.svg
RAID 4.svg
RAID 5.svg
RAID 6.svg

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

أنواع RAID

هناك سبعة أنواع من الـRAID بالإضافة إلى المصفوفة عديمة التعدد Non-Redundant Array. وهي بالترتيب:

  • RAID-0 : وهذه التقنية تحتوي على الخطوط ولكنها لا تسمح بتكرار البيانات. وهي توفر الأداء الأمثل وبدون احتمال وقوع أخطاء.
  • RAID -1 ويطلق عليها أيضا تقنية إيجاد صورة للقرص Disk Mirroring وتتكون من مشغلين على الأقل تقوم بمضاعفة مساحة تخزين البيانات. لا يستخدم في هذا النوع تقنية التخطيط (أي التحويل إلى خطوط أو شرائط Striping). وفي هذا النوع تم تحسين الأداء في عملية القراءة نظرا لأنه يمكن قراءة قرصين على أي من المشغلين في نفس الوقت. أما بالنسبة لعملية الكتابة فهي تتم بنفس الكيفية التي نكتب بها على قرص واحد. هذا النوع يزودنا بأداء أمثل كما أن نسبة حدوث الأخطاء تكون بشكل أقل وخصوصا في الأنظمة التي تسمح بتعدد المستخدمين.
  • RAID-2 : وهذا النوع يستخدم تقنية التخطيط على الأقراص بالإضافة إلى أنها تستخدم بعض الأقراص التي تخزن معلومات عن كيفية اكتشاف الأخطاء وتصحيحها. وهذا النوع له نفس محاسن النوع RAID-3.
  • RAID-3 : وهذا النوع يستخدم أيضا تقنية التخطيط ويحدد مشغل واحد لتخزين بيانات يكشف عن صحتها باستخدام تقنية Parity. ويتم استخدام معلومات اكتشاف الأخطاء الغير مباشرة لاكتشاف وتصحيح الأخطاء. أما استعادة البيانات فتتم عن طريق حساب Exclusive OR XOR للمعلومات التي تم تخزينها على مشغلات أخرى. وحيث أن عملية الإدخال والإخراج تعنون جميع المشغلات في نفس الوقت، فان هذا النوع لا يمكن أن يتوافق مع الإدخال أو الإخراج ذاته. ولهذا فان هذا النوع يكون مناسبا جدا للأنظمة التي تسمح بمستخدم واحد للتطبيقات التي تستخدم السجلات الكبيرة.
  • RAID-4 : وهذا النوع يستخدم الخطوط الكبيرة، مما يعني إمكانية القراءة من أي مشغل، وهذا يسمح بأخذ ميزة توافق الإدخال والإخراج مع عمليات القراءة. وحيث أن جميع عمليات القراءة تعمل على تحديث المشغل ذاته فانه لا يحدث أي تداخل أثناء عملية القراءة مع عمليات الإدخال أو الإخراج. وهذا النوع يوفر نفس مميزات النوع RAID-5.
  • RAID-5 : وهذا النوع يتضمن مصفوفة التدوير المتكافئة Rotating Parity Array أو مصفوفة التدوير التي تستخدم تقنية فحص الـParity Bit ، وتعني عنونة نفس حدود الكتابة الموجودة في النوع RAID-4. وهذا يعني أن جميع عمليات القراءة والكتابة ستكون متداخلة ومتوافقة مع بعضها. النوع RAID-5 يخزن المعلومات التي يتم الكشف عن صحتها باستخدام تقنية Parity، ولكنه لا يعنى بتخزين البيانات، مع ملاحظة أن المعلومات التي يتم تخزينها يمكن أن تتحول إلى بيانات. هذا النوع يحتاج على الأقل إلى ثلاثة أقراص وعادة تستخدم خمس أقراص للمصفوفة المستخدمة في هذا النوع. ويعتبر هذا النوع من أفضل الأنواع في الأنظمة التي تسمح بتعدد المستخدمين والتي لا ينتقد فيها الأداء بشكل كبير أو التي تنجز عمليات كتابة قليلة.
  • RAID-6 : وهذا النوع شبيه بالنوع السابق ولكنه يحتوي على مخطط تقنية Parity الثاني Second Parity Scheme الذي يتوزع على مشغلات محيطية مختلفة مما يجعل القدرة على احتمال وقوع خطأ أو خسارة للمشغل أعلى. حاليا قد لا يوجد أمثلة تجارية على هذا النوع.
  • RAID-7 : وهذا النوع يحتوي على وقت حقيقي يعمل على تضمين نظام التشغيل كمتحكم يتم إخفاؤه عبر ناقل عالي السرعة. كما أن هذا النوع يتضمن العديد من المميزات للحاسوب المستقل. هناك جهة واحدة توفر وتصنع هذا النظام.


Linux MD RAID 10

The software RAID subsystem provided by the Linux kernel, called "md", supports the creation of both classic (nested) RAID 1+0 arrays, and non-standard RAID arrays that use a single-level RAID layout with some additional features.[1][2]

The standard "near" layout, in which each chunk is repeated n times in a k-way stripe array, is equivalent to the standard RAID 10 arrangement, but it does not require that n evenly divides k. For example, an n2 layout on two, three, and four drives would look like:[3][4]

2 drives         3 drives          4 drives
--------         ----------        --------------
A1  A1           A1  A1  A2        A1  A1  A2  A2
A2  A2           A2  A3  A3        A3  A3  A4  A4
A3  A3           A4  A4  A5        A5  A5  A6  A6
A4  A4           A5  A6  A6        A7  A7  A8  A8
..  ..           ..  ..  ..        ..  ..  ..  ..

The four-drive example is identical to a standard RAID 1+0 array, while the three-drive example is a software implementation of RAID 1E. The two-drive example is equivalent to RAID 1.[4]

The driver also supports a "far" layout, in which all the drives are divided into f sections. All the chunks are repeated in each section but are switched in groups (for example, in pairs). For example, f2 layouts on two-, three-, and four-drive arrays would look like this:[3][4]

2 drives             3 drives             4 drives
--------             ------------         ------------------
A1  A2               A1   A2   A3         A1   A2   A3   A4
A3  A4               A4   A5   A6         A5   A6   A7   A8
A5  A6               A7   A8   A9         A9   A10  A11  A12
..  ..               ..   ..   ..         ..   ..   ..   ..
A2  A1               A3   A1   A2         A2   A1   A4   A3
A4  A3               A6   A4   A5         A6   A5   A8   A7
A6  A5               A9   A7   A8         A10  A9   A12  A11
..  ..               ..   ..   ..         ..   ..   ..   ..

"Far" layout is designed for offering striping performance on a mirrored array; sequential reads can be striped, similar to as in RAID 0 configurations.[5] Random reads are somewhat faster, while sequential and random writes offer about equal speed to other mirrored RAID configurations. "Far" layout performs well for systems in which reads are more frequent than writes, which is a common case. For a comparison, regular RAID 1 as provided by Linux software RAID, does not stripe reads, but can perform reads in parallel.[6]

The "near" and "far" options can be used together; in that case chunks in each section are offset by n (near) devices. For example, an n2 f2 layout stores 2×2 = 4 copies of each sector, thus requiring at least four drives:[4]

4 drives              5 drives
--------------        -------------------
A1  A1  A2  A2        A1  A1  A2  A2  A3
A3  A3  A4  A4        A3  A4  A4  A5  A5
A5  A5  A6  A6        A6  A6  A7  A7  A8
A7  A7  A8  A8        A8  A9  A9  A10 A10
..  ..  ..  ..        ..  ..  ..  ..  ..
A2  A2  A1  A1        A2  A3  A1  A1  A2
A4  A4  A3  A3        A5  A5  A3  A4  A4
A6  A6  A5  A5        A7  A8  A6  A6  A7
A8  A8  A7  A7        A10 A10 A8  A9  A9
..  ..  ..  ..        ..  ..  ..  ..  ..

The md driver also supports an "offset" layout, in which each stripe is repeated o times and offset by f (far) devices. For example, o2 layouts on two-, three-, and four-drive arrays are laid out as:[3][4]

2 drives       3 drives           4 drives
--------       ----------         ---------------
A1  A2         A1  A2  A3         A1  A2  A3  A4
A2  A1         A3  A1  A2         A4  A1  A2  A3
A3  A4         A4  A5  A6         A5  A6  A7  A8
A4  A3         A6  A4  A5         A8  A5  A6  A7
A5  A6         A7  A8  A9         A9  A10 A11 A12
A6  A5         A9  A7  A8         A12 A9  A10 A11
..  ..         ..  ..  ..         ..  ..  ..  ..

It is also possible to combine "near" and "offset" layouts (but not "far" and "offset").[4]

In the examples above, k is the number of drives, while n#, f#, and o# are parameters to the mdadm's --layout option. Linux software RAID (Linux kernel's md driver) also supports creation of standard RAID 0, 1, 4, 5, and 6 configurations.[7][8]

انظر أيضاً

مصادر

  1. ^ "Creating Software RAID 10 Devices". SUSE. Retrieved 11 May 2016.
  2. ^ "Nested RAID Levels". Arch Linux. Retrieved 11 May 2016.
  3. ^ أ ب ت "Creating a Complex RAID 10". SUSE. Retrieved 11 May 2016.
  4. ^ أ ب ت ث ج ح "Linux Software RAID 10 Layouts Performance: Near, Far, and Offset Benchmark Analysis". Ilsistemista.net. 2012-08-28. Retrieved 2014-03-08.
  5. ^ Jon Nelson (2008-07-10). "RAID5,6 and 10 Benchmarks on 2.6.25.5". Jamponi.net. Retrieved 2014-01-01.
  6. ^ "Performance, Tools & General Bone-Headed Questions". TLDP.org. Retrieved 2014-01-01.
  7. ^ "mdadm(8): manage MD devices aka Software RAID - Linux man page". Die.net. Retrieved 2014-03-08.
  8. ^ "md(4): Multiple Device driver aka Software RAID - Linux man page". Die.net. Retrieved 2014-03-08.

قالب:RAID