RAID 1 و5 و10 على الخادم المخصص: ما الذي يحميه كل مستوى وما الذي لا يحميه

يجمع RAID عدة أقراص بحيث يستمر الخادم في العمل عندما يتعطل أحدها. هذا هو وعده كله، وهو وعد مفيد. لكن كثيرين يتعاملون مع RAID وكأنه يحمي البيانات أيضًا من الأخطاء والهجمات والتلف، وهذا غير صحيح. يشرح هذا الدليل مستويات RAID 1 و5 و10، والخطر الحقيقي أثناء إعادة البناء، وكيف يعمل RAID البرمجي باستخدام mdadm على Linux، وأين تتوقف فائدة RAID.
ما الغرض من RAID؟
يوزّع RAID (مصفوفة الأقراص المستقلة المتكررة) البيانات على الأقراص باستخدام النسخ المتطابق (mirroring) أو التوزيع (striping) أو التكافؤ (parity) أو مزيج منها. ووظيفته الأساسية على الخادم هي الإتاحة: يتعطل قرص فتستمر المصفوفة في تقديم البيانات، وتستبدل القرص دون الاستعادة من نسخة احتياطية. وبعض المستويات تحسّن أيضًا سرعة القراءة أو الكتابة.
تذكّر هذه الكلمة: الإتاحة. يُبقي RAID الخادم يعمل أثناء عطل في العتاد، لكنه لا يحتفظ بتاريخ لبياناتك.
RAID 1: النسخ المتطابق
يكتب RAID 1 البيانات نفسها على قرصين (أو أكثر). مع قرصين تحصل على سعة قرص واحد.
يتحمل: تعطل قرص واحد في مرآة من قرصين.
الأداء: يمكن توزيع القراءة على القرصين، أما الكتابة فسرعتها تقارب سرعة قرص واحد.
إعادة البناء: نسخ مباشر من القرص السليم إلى القرص الجديد، وهي عملية بسيطة ويمكن توقعها.
يُعد RAID 1 الخيار المعتاد للخادم ذي القرصين: نظام التشغيل، وبيئة الويب، وقاعدة بيانات صغيرة. فهمه سهل واستعادته سهلة.
RAID 5: التوزيع مع التكافؤ
يحتاج RAID 5 إلى ثلاثة أقراص على الأقل. توزَّع البيانات على جميعها مع معلومات تكافؤ تسمح للمصفوفة بإعادة بناء أي قرص واحد مفقود. السعة القابلة للاستخدام هي المجموع ناقص قرص واحد: ثلاثة أقراص بسعة 2 TB تعطي نحو 4 TB.
يتحمل: تعطل قرص واحد. وإذا تعطل قرص ثانٍ قبل انتهاء إعادة البناء تضيع المصفوفة.
الأداء: قراءة تسلسلية جيدة، لكن الكتابات العشوائية الصغيرة أبطأ، لأن كل كتابة تتطلب تحديث التكافؤ أيضًا (قراءة البيانات القديمة، وقراءة التكافؤ القديم، وكتابة البيانات الجديدة، وكتابة التكافؤ الجديد).
إعادة البناء: يجب على المصفوفة قراءة كل الأقراص المتبقية بالكامل لحساب القرص المفقود.
يمنح RAID 5 أكبر مساحة قابلة للاستخدام مقابل التكرار، والثمن هو أداء الكتابة وخطر إعادة البناء الذي نشرحه لاحقًا.
RAID 10: مرايا ثم توزيع
يحتاج RAID 10 إلى أربعة أقراص على الأقل. تُقسَّم الأقراص إلى أزواج متطابقة، ثم توزَّع البيانات على هذه الأزواج. تحصل على نصف السعة الكلية.
يتحمل: تعطل قرص واحد من كل زوج. أما فقدان قرصي الزوج نفسه فيعني ضياع المصفوفة.
الأداء: قراءة وكتابة قويتان دون حسابات تكافؤ، ولهذا ينتشر استخدامه مع قواعد البيانات المزدحمة.
إعادة البناء: يُقرأ القرص الشريك في الزوج المتأثر فقط، فتكون إعادة البناء أسرع وأقل إجهادًا لبقية المصفوفة.
مقارنة سريعة
| المستوى | أقل عدد أقراص | السعة القابلة للاستخدام | الأعطال المحتملة | مناسب لـ |
|---|---|---|---|---|
| RAID 1 | 2 | قرص واحد | 1 (في مرآة من قرصين) | نظام التشغيل وخوادم الويب وقواعد البيانات الصغيرة |
| RAID 5 | 3 | المجموع ناقص قرص | 1 | التخزين الذي تغلب عليه القراءة والأرشيف |
| RAID 10 | 4 | 50% | 1 من كل زوج | قواعد البيانات والأحمال كثيفة الكتابة |
إعادة البناء هي الجزء الخطر
عندما يتعطل قرص تعمل المصفوفة في حالة متدهورة (degraded). وفي RAID 1 وRAID 5 لا يبقى أي تكرار حتى تنتهي إعادة البناء. وهناك عدة أمور تجعل هذه الفترة أخطر مما تبدو:
إعادة البناء عمل ثقيل. يقرأ RAID 5 كل قطاع في كل قرص متبقٍ، وأقراص كانت سليمة تحت الحمل العادي قد تتعطل تحت هذا الضغط.
الأقراص غالبًا من الدفعة نفسها. العمر نفسه وساعات التشغيل نفسها وتآكل متشابه، فعندما يتعطل أحدها قد لا تكون البقية بعيدة عنه.
أخطاء القراءة في الأقراص الكبيرة. قطاع لا يمكن قراءته أثناء إعادة بناء RAID 5 قد يجعل جزءًا من البيانات غير قابل للاستعادة، لأنه لا توجد نسخة ثانية يُرجع إليها.
إعادة البناء تستغرق وقتًا. على الأقراص الصلبة الكبيرة قد تستمر لساعات طويلة، وينخفض الأداء خلالها.
كقاعدة تقريبية: RAID 5 على أقراص دوّارة كبيرة خيار ضعيف للبيانات المهمة. ويُعد RAID 10 أو RAID 6 (الذي يتحمل عطلين) أكثر أمانًا للمصفوفات الكبيرة. أما على أقراص NVMe وSSD فإعادة البناء أسرع بكثير، مما يقلص فترة الخطر لكنه لا يلغيها.
ما الذي لا يحميك منه RAID
هذا أهم قسم في المقال. ينسخ RAID كل تغيير إلى كل الأقراص فورًا، بما في ذلك التغييرات السيئة. ولا يحميك من:
حذف الملفات أو حذف جدول. يُنسخ الحذف فورًا على كل الأقراص.
برامج الفدية أو اختراق الخادم. تُكتب الملفات المشفرة على كل الأقراص.
أخطاء البرمجيات وعمليات النشر الخاطئة التي تُفسد البيانات.
تلف نظام الملفات بعد انهيار أو خلل في النواة.
فقدان الخادم بالكامل: عطل في المتحكم، أو فشل إعادة البناء، أو مشكلة تصيب كل الأقراص معًا.
RAID ليس نسخة احتياطية. النسخة الاحتياطية نسخة منفصلة، ويُفضل أن تكون على جهاز أو موقع آخر، يمكنك الاستعادة منها إلى نقطة زمنية محددة. والقاعدة الشائعة هي 3-2-1: ثلاث نسخ من بياناتك، على نوعين مختلفين من التخزين، وواحدة منها خارج الموقع. واختبر الاستعادة بانتظام، فالنسخة التي لم تجرّب استعادتها مجرد أمل وليست خطة.
أساسيات RAID البرمجي باستخدام mdadm
على Linux يدير mdadm مصفوفات RAID البرمجية. وهو شائع على الخوادم المخصصة، خاصة مع أقراص NVMe، ولا يربطك بمتحكم معين. وتكلفته على المعالجات الحديثة صغيرة.
أنشئ مصفوفة RAID 1 من قسمين:
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/nvme0n1p2 /dev/nvme1n1p2
ولـ RAID 10 بأربعة أقراص:
sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
تحقق من الحالة:
cat /proc/mdstat
sudo mdadm --detail /dev/md0
تبدو المرآة السليمة ذات القرصين هكذا، وتعني [UU] أن العضوين يعملان:
md0 : active raid1 nvme1n1p2[1] nvme0n1p2[0]
937567232 blocks super 1.2 [2/2] [UU]
bitmap: 1/7 pages [4KB], 65536KB chunk
أما المصفوفة المتدهورة فتظهر [2/1] [U_]، وهذه إشارة إلى أن عليك التصرف.
احفظ تعريف المصفوفة حتى يتم تجميعها عند الإقلاع:
# Debian / Ubuntu
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
# RHEL / AlmaLinux / Rocky Linux
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
sudo dracut -f
استبدال قرص معطل
علّم القرص على أنه معطل وأزله من المصفوفة:
sudo mdadm --manage /dev/md0 --fail /dev/nvme1n1p2
sudo mdadm --manage /dev/md0 --remove /dev/nvme1n1p2
بعد استبدال القرص فعليًا، انسخ تخطيط الأقسام من القرص السليم إلى القرص الجديد، ثم أضفه مجددًا. راجع أسماء الأجهزة مرتين، فعكسها يعني الكتابة فوق القرص السليم.
# copy the GPT layout FROM nvme0n1 (healthy) TO nvme1n1 (new)
sudo sgdisk /dev/nvme0n1 -R /dev/nvme1n1
# give the new disk its own unique GUIDs
sudo sgdisk -G /dev/nvme1n1
sudo mdadm --manage /dev/md0 --add /dev/nvme1n1p2
watch cat /proc/mdstat
إذا كان الخادم يُقلع من هذه الأقراص فتأكد من أن القرص الجديد قابل للإقلاع أيضًا، وطريقة ذلك تعتمد على نوع الإقلاع: BIOS أو UEFI.
المراقبة
المصفوفة التي تتعطل بصمت ليست أفضل كثيرًا من عدم وجود مصفوفة. على الأقل:
اضبط
MAILADDRفي ملفmdadm.confلتصلك رسالة من خدمة مراقبة mdadm عندما تتدهور المصفوفة.راقب صحة الأقراص باستخدام
smartctl -a /dev/nvme0n1(من حزمة smartmontools).شغّل فحوصات اتساق دورية. يجدول Debian وUbuntu فحصًا شهريًا، ويمكنك بدء فحص يدويًا بالأمر
echo check | sudo tee /sys/block/md0/md/sync_action.
RAID عتادي أم برمجي؟
تدير متحكمات RAID العتادية المصفوفة على بطاقة مخصصة، وغالبًا مع ذاكرة تخزين مؤقت للكتابة محمية ببطارية أو بذاكرة فلاش. وقد تفيد في الأحمال كثيفة الكتابة على الأقراص الصلبة. عيبها أن الاستعادة تعتمد على طراز المتحكم نفسه. أما RAID البرمجي باستخدام mdadm فقابل للنقل، ويمكن قراءة المصفوفة على أي نظام Linux. وفي الخوادم المعتمدة على NVMe يكون RAID البرمجي هو الخيار الشائع. ولا يغني أي منهما عن النسخ الاحتياطي.
أي مستوى تختار؟
قرصان: RAID 1.
أربعة أقراص أو أكثر مع قاعدة بيانات أو أحمال كثيفة الكتابة: RAID 10.
ثلاثة أقراص أو أكثر، والقراءة هي الغالبة، والسعة مهمة: قد يناسب RAID 5، ويُفضل على SSD أو NVMe ومع نسخ احتياطي جيد. أما مع الأقراص الصلبة الكبيرة ففكّر في RAID 6 أو RAID 10.
وأيًا كان اختيارك، أضف المراقبة ونسخة احتياطية منفصلة ومُختبَرة.
شغّله على IM HOST
تمنحك خوادم AMD المخصصة وخوادم Intel المخصصة من IM HOST خادمًا فعليًا (bare metal) بذاكرة ECC وتخزين NVMe أو SSD وشبكة 10 Gbps وحماية من هجمات DDoS وعنوان IPv4 مخصص. تختلف تخطيطات الأقراص من خادم لآخر، لذلك اسأل فريق الدعم عن إعدادات الأقراص وRAID المتاحة للطراز والموقع الذي تريده، ونؤكد الموقع قبل التفعيل. لا توجد رسوم إعداد، وفريق المهندسين متاح على مدار الساعة، كما يمكن لـ خدمة النقل المجانية نقل ملفاتك وقواعد بياناتك وبريدك دون توقف.
المزيد من مدونتنا
اكتشف المزيد من الأدلة العملية ورؤى الخدمات من فريق IM Host.
عرض كل المقالات