mdadm
mdadm هي أداة مساعدة لنظام لينكس تُستخدم لإدارة ومراقبة أجهزة RAID البرمجية . تُستخدم في توزيعات لينكس الحديثة بدلاً من أدوات RAID البرمجية القديمة مثل raidtools2 أو raidtools . [ 3 ] [ 4 ] [ 5 ]
mdadm هو برنامج مجاني تم صيانته في الأصل [ 6 ] بواسطة نيل براون من SUSE وحقوق الطبع والنشر الخاصة به ، وهو مرخص بموجب شروط الإصدار 2 أو أحدث من رخصة جنو العمومية العامة .
اسم
يُشتق الاسم من عقد الأجهزة المتعددة ( md ) التي يديرها ، وكان يُعرف سابقًا باسم mdctl . [ 7 ] كان الاسم الأصلي "Mirror Disk"، ولكن تم تغييره مع إضافة المزيد من الوظائف. ويُفهم الاسم الآن على أنه اختصار لـ "Multiple Disk and Device Management" (إدارة الأقراص والأجهزة المتعددة). [ 3 ]
ملخص
يمكن أن تتضمن تكوينات RAID البرمجية في نظام Linux أي شيء يتم تقديمه إلى نواة Linux كجهاز كتلة . ويشمل ذلك محركات الأقراص الصلبة الكاملة (على سبيل المثال، /dev/sda )، وأقسامها ( على سبيل المثال، /dev/sda1 ).
تكوينات RAID
- RAID 0 – تجزئة البيانات على مستوى الكتل . يمكن لـ MD التعامل مع الأجهزة ذات الأطوال المختلفة، وبالتالي لا يتم تجزئة المساحة الإضافية على الجهاز الأكبر.
- RAID 1 – Mirror.
- RAID 4 - مثل RAID 0، ولكن مع جهاز إضافي للتكافؤ .
- RAID 5 – مثل RAID 4، ولكن مع توزيع التكافؤ عبر جميع الأجهزة.
- RAID 6 – مثل RAID 5، ولكن مع وجود جزأين للتكافؤ لكل شريط.
- RAID 10 - خذ عددًا من مجموعات مرايا RAID 1 وقم بتخطيطها على غرار RAID 0.
يختلف RAID 10 عن RAID 0+1، الذي يتكون من نسخة RAID 1 رئيسية تتألف من شرائح RAID 0 عالية الأداء موزعة مباشرة على الأقراص الصلبة الفعلية. في حالة تعطل قرص واحد في RAID 10، يدخل أحد النسخ الفرعية في وضع الأداء المنخفض ، بينما يستمر أداء الشريحة الرئيسية بشكل طبيعي (باستثناء انخفاض الأداء). أما في حالة تعطل قرص واحد في RAID 0+1، فيتعطل أحد الشرائح الفرعية تمامًا، وتدخل النسخة الرئيسية في وضع الأداء المنخفض. يعتمد اختيار النظام الأمثل على تفاصيل التطبيق، مثل توفر أقراص احتياطية وكيفية تشغيلها.
تكوينات غير RAID
- Linear – يقوم بدمج عدد من الأجهزة في جهاز MD واحد كبير – (تم إيقاف استخدامه منذ عام 2021 وإزالته من نواة لينكس منذ عام 2023 [ 8 ] )
- تعدد المسارات – يوفر مسارات متعددة مع إمكانية التحويل التلقائي إلى جهاز واحد في حالة الفشل
- معيب - جهاز واحد يحاكي عددًا من سيناريوهات أعطال القرص لأغراض الاختبار والتطوير
- الحاوية - مجموعة من الأجهزة تُدار كجهاز واحد، ويمكن من خلالها إنشاء أنظمة RAID
سمات
الصيغة الأصلية (القياسية) لتسمية أجهزة md هي /dev/md<n> ، حيث <n> رقم بين 0 و99. تدعم نواة النظام الأحدث أسماءً مثل /dev/md/Home . في نواة 2.4.x وما قبلها، كان هذان الخياران هما الوحيدان. وكلاهما غير قابل للتقسيم.
منذ إصدار نواة 2.6.x، تم تقديم نوع جديد من أجهزة MD، وهو مصفوفة قابلة للتقسيم . تم تعديل أسماء الأجهزة بتغيير md إلى md_d . وتم تحديد الأقسام بإضافة p<n> ، حيث <n> هو رقم القسم؛ على سبيل المثال /dev/md/md_d2p3 . منذ الإصدار 2.6.28 من نواة لينكس الرئيسية ، أصبح بالإمكان تقسيم المصفوفات غير القابلة للتقسيم، ويتم الإشارة إلى الأقسام بنفس طريقة الإشارة إلى أقسام المصفوفات القابلة للتقسيم - على سبيل المثال، /dev/md/md1p2 .
منذ الإصدار 3.7 من نواة لينكس الرئيسية، يدعم md عمليات TRIM لمحركات الأقراص الصلبة الأساسية (SSDs)، للتخطيطات الخطية، وRAID 0، وRAID 1، وRAID 5، وRAID 10. [ 9 ]
بدء التشغيل
بما أن دعم MD موجود في نواة النظام، فإن استخدامه قبل تشغيل النواة يُمثل مشكلة. تحديدًا، لن يكون موجودًا إذا كان مُحمل الإقلاع إما (e)LiLo أو GRUB القديم. على الرغم من وجوده عادةً، إلا أنه قد لا يكون موجودًا في GRUB 2. لتجاوز هذه المشكلة، يجب استخدام نظام ملفات /boot إما بدون دعم md، أو مع RAID1. في الحالة الأخيرة، سيبدأ النظام الإقلاع بمعاملة جهاز RAID1 كنظام ملفات عادي، وبمجرد تشغيل النظام، يمكن إعادة تركيبه كـ md وإضافة القرص الثاني إليه. سيؤدي هذا إلى تحديث النظام، ولكن أنظمة ملفات /boot عادةً ما تكون صغيرة.
البيانات الوصفية الخارجية
إلى جانب تنسيقاتها الخاصة ببيانات تعريف وحدات تخزين RAID، يدعم نظام RAID البرمجي في لينكس أيضًا تنسيقات بيانات تعريف خارجية، وذلك منذ الإصدار 2.6.27 من نواة لينكس والإصدار 3.0 من أداة mdadm في مساحة المستخدم. وهذا يسمح لنظام لينكس باستخدام وحدات تخزين RAID مختلفة تعتمد على البرامج الثابتة أو برامج التشغيل، والمعروفة أيضًا باسم " RAID الوهمي ". [ 10 ]
اعتبارًا من أكتوبر 2013 يوجد نوعان من تنسيقات البيانات الوصفية الخارجية المدعومة:
- DDF ( تنسيق بيانات القرص )، وهو معيار صناعي حددته جمعية صناعة شبكات التخزين لزيادة قابلية التشغيل البيني. [ 11 ]
- تنسيق بيانات تعريف وحدة التخزين المستخدم بواسطة تقنية التخزين السريع من إنتل (RST)، وهي تقنية RAID المصفوفية من إنتل سابقًا، والمطبقة على العديد من اللوحات الأم المخصصة للمستهلكين. [ 10 ]
mdmpd
كان mdmpd [ 12 ] برنامجًا يعمل في الخلفية لمراقبة أجهزة MD متعددة المسارات حتى نواة لينكس 2.6.10-rc1، وقد طورته شركة Red Hat كجزء من حزمة mdadm. [ 13 ] كان البرنامج يُستخدم لمراقبة أجهزة RAID متعددة المسارات ، وعادةً ما يتم تشغيله كخدمة عند بدء التشغيل، ثم يعمل كبرنامج يعمل في الخلفية بعد ذلك.
غالبًا ما تتضمن متطلبات تخزين المؤسسات الرغبة في وجود أكثر من طريقة للتواصل مع قرص تخزين واحد، بحيث في حال تعطل الاتصال بأحد الأقراص عبر وحدة تحكم، يمكن للنظام التبديل تلقائيًا إلى وحدة تحكم أخرى ومواصلة العمل. يُعرف هذا باسم الوصول متعدد المسارات للقرص. تُنفذ نواة لينكس الوصول متعدد المسارات للقرص عبر حزمة برامج RAID المعروفة باسم برنامج تشغيل md (أجهزة متعددة). يقتصر دور جزء النواة من برنامج تشغيل md متعدد المسارات على توجيه طلبات الإدخال/الإخراج إلى الجهاز المناسب ومعالجة حالات الفشل على المسار النشط. لا يحاول هذا الجزء التحقق مما إذا كان المسار الذي تعطل سابقًا قد عاد للعمل. هذا ما يفعله هذا البرنامج الخفي. عند بدء التشغيل، يقرأ الحالة الحالية لمصفوفات md RAID، ويحفظها، ثم ينتظر إشارة من النواة تفيد بحدوث أمر مهم. بعد ذلك، يستيقظ البرنامج، ويتحقق من تعطل أي مسارات على جهاز متعدد المسارات، وإذا تعطلت، يبدأ في فحص المسار المتعطل مرة كل 15 ثانية حتى يعود للعمل. بمجرد أن يبدأ العمل مرة أخرى، سيضيف البرنامج الخفي المسار مرة أخرى إلى جهاز md متعدد المسارات الذي كان جزءًا منه في الأصل كمسار احتياطي جديد.
إذا كان المستخدم يستخدم نظام الملفات / proc ، فإن /proc/mdstat يعرض قائمة بجميع أجهزة md النشطة مع معلومات عنها. يحتاج Mdmpd إلى هذا للعثور على المصفوفات لمراقبة المسارات عليها، وللحصول على إشعارات بالأحداث المهمة، ولمراقبة إعادة بناء المصفوفة في وضع المراقبة. [ 7 ]
التفاصيل الفنية RAID 1
البيانات الموجودة على وحدة تخزين RAID 1 هي نفسها الموجودة على قسم عادي. تُخزَّن معلومات RAID في آخر 128 كيلوبايت من القسم. هذا يعني أنه لتحويل وحدة تخزين RAID 1 إلى قسم بيانات عادي، يُمكن تقليل حجم القسم بمقدار 128 كيلوبايت وتغيير مُعرِّف القسم من fd إلى 83 (في نظام Linux).
انظر أيضاً
- bioctl على OpenBSD/NetBSD
مراجع
- ↑ "إعلان: تحديث لمشرفي mdadm" . marc.info. 2023-12-14 . تم الاطلاع عليه بتاريخ 2024-05-17 .
- ^ "اطلاق سراح mdadm-4.4" . 2024-12-03.
- 1 2 بريسناهان، كريستين؛ بلوم، ريتشارد (2016). LPIC-2: دليل دراسة شهادة معهد لينكس الاحترافي . جون وايلي وأولاده . الصفحات 206-221 . ISBN 9781119150817.
- ↑ فادالا ، ديريك (2003). إدارة RAID على لينكس . دار نشر أورايلي ميديا، ص 140. ISBN 9781565927308.
mdadm linux.
- ↑ نيميث، إيفي (2011). دليل إدارة أنظمة يونكس ولينكس . بيرسون للتعليم. الصفحات 242-245 . ISBN 9780131480056.
- ↑ "Mdadm" . مؤرشف من الأصل بتاريخ 2013-05-03 . تم الاطلاع عليه بتاريخ 2007-08-25 .
- 1 2 "Mdadm(8): إدارة أجهزة MD المعروفة أيضًا باسم Software RAID - صفحة دليل Linux" .
- ↑ "md: إزالة CONFIG_MD_LINEAR المهملة" . GitHub . 19-12-2023 . تم الاطلاع عليه بتاريخ 30-04-2024 .
- ↑ "نواة لينكس 3.7، القسم 5. الكتلة" . kernelnewbies.org . 10-12-2012 . تم الاطلاع عليه بتاريخ 21-09-2014 .
- 1 2 "البيانات الوصفية الخارجية" . إعداد RAID . kernel.org. 2013-10-05 . تم الاسترجاع في 2014-01-01 .
- ↑ "DDF Fake RAID" . إعداد RAID . kernel.org. 2013-09-12 . تم الاسترجاع في 2014-01-01 .
- ↑ "117498 – واجهة حدث مفقودة في رمز md" .
- ↑ "تتضمن حزمة mdadm المحدثة تحسينات على الأجهزة متعددة المسارات" . RHEA-2003:397-06 . ريد هات . 16-01-2004.
روابط خارجية
- إصدارات شفرة المصدر mdadm
- "التثبيت/برنامج RAID" . وثائق مجتمع أوبونتو . 2012-03-01.
- لونيزور (13 نوفمبر 2011). "إعداد وحدة تخزين RAID في لينكس بأقراص تزيد سعتها عن 2 تيرابايت" . مؤرشف من الأصل بتاريخ 19 نوفمبر 2011.
- برنامج مجاني مكتوب بلغة C
- برامج نظام مجانية
- البرامج المتعلقة بنظام ملفات لينكس
- غارة
- برنامج يستخدم رخصة جنو العمومية العامة
