إعداد RAID ومراقبة صحة الأقراص: دليل smartctl
نظرة عامة على مستويات RAID (0/1/5/10) وRAID البرمجي بـ mdadm وفحص صحة الأقراص بـ smartctl والمراقبة بـ smartd وتفسير بيانات SMART.
جدول المحتويات
إعداد RAID ومراقبة صحة الأقراص: دليل smartctl
أعطال الأقراص أمر لا مفر منه في بيئات الخوادم. تجمع تقنية RAID (Redundant Array of Independent Disks) عدة أقراص لتحسين أمان البيانات و/أو الأداء. يغطي هذا الدليل مستويات RAID وإعداد RAID البرمجي في Linux ومراقبة صحة الأقراص بـ smartctl.
مستويات RAID
RAID 0 — التشريط (Striping)
تُوزَّع البيانات بالتساوي على الأقراص.
- الحد الأدنى من الأقراص: 2
- السعة: مجموع جميع الأقراص
- الأداء: سرعة قراءة/كتابة عالية
- الموثوقية: صفر — إذا فشل قرص واحد، تُفقد جميع البيانات
- الاستخدام: البيانات المؤقتة والتطبيقات عالية الأداء
RAID 1 — المرايا (Mirroring)
تُكتب البيانات على جميع الأقراص في آنٍ واحد.
- الحد الأدنى من الأقراص: 2
- السعة: سعة أصغر قرص
- الأداء: تزداد سرعة القراءة، وتبقى سرعة الكتابة دون تغيير
- الموثوقية: عالية — إذا فشل قرص، يستمر الآخر
- الاستخدام: أقراص نظام التشغيل والبيانات الحرجة
RAID 5 — التكافؤ الموزع
تُوزَّع البيانات ومعلومات التكافؤ على جميع الأقراص.
- الحد الأدنى من الأقراص: 3
- السعة: (N-1) × سعة القرص
- الأداء: قراءة جيدة وكتابة معتدلة
- الموثوقية: يتحمل فشل قرص واحد
- الاستخدام: خوادم الملفات والتخزين للأغراض العامة
RAID 10 — مرايا + تشريط
مزيج من RAID 1 وRAID 0.
- الحد الأدنى من الأقراص: 4
- السعة: نصف السعة الإجمالية
- الأداء: عالٍ جداً
- الموثوقية: يتحمل فشل قرص واحد لكل زوج
- الاستخدام: قواعد البيانات وأداء عالٍ + موثوقية
جدول مقارنة RAID
| الميزة | RAID 0 | RAID 1 | RAID 5 | RAID 10 |
|---|---|---|---|---|
| الحد الأدنى من الأقراص | 2 | 2 | 3 | 4 |
| السعة | 100% | 50% | (N-1)/N% | 50% |
| سرعة القراءة | عالية جداً | عالية | عالية | عالية جداً |
| سرعة الكتابة | عالية جداً | عادية | معتدلة | عالية |
| تحمل الأعطال | 0 أقراص | 1 قرص | 1 قرص | 1/زوج |
| أمان البيانات | لا يوجد | عالٍ | عالٍ | عالٍ جداً |
قد تحتوي الخوادم الفيزيائية لـ REXE على وحدة تحكم RAID للأجهزة. يُدار RAID البرمجي بواسطة نواة Linux كبديل لـ RAID الأجهزة.
إعداد RAID البرمجي بـ mdadm
تثبيت mdadm
# Ubuntu/Debian
sudo apt update
sudo apt install mdadm -y
# CentOS/AlmaLinux
sudo dnf install mdadm -y
تحضير الأقراص
# سرد الأقراص الموجودة
lsblk
fdisk -l
# عرض معلومات القرص
sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sdc
# مسح توقيعات RAID الموجودة
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sdc
إنشاء RAID 1
# إنشاء مصفوفة RAID 1
sudo mdadm --create /dev/md0 \
--level=1 \
--raid-devices=2 \
/dev/sdb /dev/sdc
# تأكيد الإنشاء (اكتب yes)
# مراقبة حالة RAID
watch cat /proc/mdstat
# التحقق من حالة الاكتمال
cat /proc/mdstat
إنشاء RAID 5
# إنشاء مصفوفة RAID 5 (3 أقراص)
sudo mdadm --create /dev/md0 \
--level=5 \
--raid-devices=3 \
/dev/sdb /dev/sdc /dev/sdd
# إضافة قرص احتياطي ساخن
sudo mdadm --create /dev/md0 \
--level=5 \
--raid-devices=3 \
--spare-devices=1 \
/dev/sdb /dev/sdc /dev/sdd /dev/sde
حفظ إعداد RAID
# تحديث mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
# تحديث initramfs
sudo update-initramfs -u
# عرض حالة RAID
sudo mdadm --detail /dev/md0
إنشاء نظام ملفات على RAID
# إنشاء نظام ملفات ext4
sudo mkfs.ext4 /dev/md0
# إنشاء نقطة تحميل
sudo mkdir /mnt/raid
# التحميل
sudo mount /dev/md0 /mnt/raid
# إضافة إلى /etc/fstab للتحميل الدائم
echo '/dev/md0 /mnt/raid ext4 defaults 0 0' | sudo tee -a /etc/fstab
إدارة RAID
# عرض حالة RAID
sudo mdadm --detail /dev/md0
# سرد جميع مصفوفات RAID
cat /proc/mdstat
# تمييز قرص كمعطوب
sudo mdadm /dev/md0 --fail /dev/sdb
# إزالة القرص المعطوب
sudo mdadm /dev/md0 --remove /dev/sdb
# إضافة قرص جديد
sudo mdadm /dev/md0 --add /dev/sdb
فحص صحة الأقراص بـ smartctl
يقرأ smartctl بيانات S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) من الأقراص.
تثبيت smartmontools
# Ubuntu/Debian
sudo apt install smartmontools -y
# CentOS/AlmaLinux
sudo dnf install smartmontools -y
أوامر smartctl الأساسية
# عرض معلومات القرص
sudo smartctl -i /dev/sda
# التحقق من حالة SMART
sudo smartctl -H /dev/sda
# الناتج: SMART overall-health self-assessment test result: PASSED
# عرض جميع بيانات SMART
sudo smartctl -a /dev/sda
تشغيل اختبارات SMART
# اختبار قصير (1-2 دقيقة)
sudo smartctl -t short /dev/sda
# اختبار طويل (عدة ساعات)
sudo smartctl -t long /dev/sda
# عرض نتائج الاختبار
sudo smartctl -l selftest /dev/sda
تفسير بيانات SMART
سمات SMART المهمة:
| المعرف | السمة | الوصف | القيمة الحرجة |
|---|---|---|---|
| 1 | Raw_Read_Error_Rate | معدل أخطاء القراءة الخام | يجب أن يكون 0 |
| 5 | Reallocated_Sector_Ct | عدد القطاعات المُعاد تخصيصها | يجب أن يكون 0 |
| 9 | Power_On_Hours | إجمالي ساعات التشغيل | معلوماتي |
| 187 | Reported_Uncorrect | أخطاء غير قابلة للتصحيح | يجب أن يكون 0 |
| 197 | Current_Pending_Sector | القطاعات المعلقة | يجب أن يكون 0 |
| 198 | Offline_Uncorrectable | غير قابل للتصحيح دون اتصال | يجب أن يكون 0 |
إذا كانت قيم المعرف 5 (Reallocated_Sector_Ct) أو 197 (Current_Pending_Sector) أو 198 (Offline_Uncorrectable) أكبر من 0، فقد يكون القرص على وشك الفشل. احتفظ بنسخة احتياطية من بياناتك فوراً!
فحص أقراص NVMe
# معلومات قرص NVMe
sudo smartctl -i /dev/nvme0
# بيانات SMART لـ NVMe
sudo smartctl -a /dev/nvme0
# حالة صحة NVMe
sudo smartctl -H /dev/nvme0
المراقبة التلقائية بـ smartd
يعمل smartd في الخلفية، يراقب صحة الأقراص باستمرار ويرسل إشعارات عند اكتشاف مشاكل.
إعداد smartd
# تحرير ملف الإعداد
sudo nano /etc/smartd.conf
# مراقبة جميع الأقراص، إرسال بريد إلكتروني عند المشاكل
DEFAULTS -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -m admin@rexe.tr
# مراقبة أقراص محددة
/dev/sda -a -o on -S on -m admin@rexe.tr
/dev/sdb -a -o on -S on -m admin@rexe.tr
# الاكتشاف التلقائي لجميع الأقراص
DEVICESCAN -a -o on -S on -m admin@rexe.tr
# تفعيل خدمة smartd
sudo systemctl enable --now smartd
# التحقق من الحالة
sudo systemctl status smartd
أوامر مراقبة صحة الأقراص
# فحص صحة سريع لجميع الأقراص
for disk in /dev/sd[a-z]; do
echo "=== $disk ==="
sudo smartctl -H $disk 2>/dev/null | grep -E "PASSED|FAILED|result"
done
# التحقق من درجة حرارة القرص
sudo smartctl -A /dev/sda | grep -i temperature
# التحقق من ساعات تشغيل القرص
sudo smartctl -A /dev/sda | grep Power_On_Hours
# عرض سجلات الأخطاء
sudo smartctl -l error /dev/sda
تكامل RAID + SMART
# التحقق من حالة SMART للأقراص في مصفوفة RAID
sudo mdadm --detail /dev/md0 | grep -E "State|Active|Failed"
# التحقق من صحة كل قرص في RAID
for disk in /dev/sdb /dev/sdc /dev/sdd; do
echo "=== $disk ==="
sudo smartctl -H $disk
done
# إعداد إشعارات البريد الإلكتروني لـ RAID
sudo nano /etc/mdadm/mdadm.conf
# أضف السطر: MAILADDR admin@rexe.tr
استخدم RAID ومراقبة SMART معاً. يتنبأ SMART بفشل القرص مسبقاً بينما يمنع RAID فقدان البيانات عند الفشل. معاً يشكّلان استراتيجية شاملة لأمان الأقراص.
الخلاصة
RAID ومراقبة صحة الأقراص مكونات أساسية لأمان البيانات على خوادم REXE. يوفر RAID 1 أو RAID 10 موثوقية عالية للبيانات الحرجة، بينما يتيح لك smartctl وsmartd اكتشاف أعطال الأقراص قبل حدوثها. الاختبارات المنتظمة لـ SMART وفحوصات حالة RAID هي الطريقة الأكثر فعالية لمنع فقدان البيانات غير المتوقع.
مقالات ذات صلة
الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
الاتصال بـ Windows VDS عبر RDP: دليل شامل للمبتدئين
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS: دليل إعادة التثبيت خطوة بخطوة
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.