فحص الهارد ديسك باستخدام Smartmontools وتحليل بيانات SMART

عندما يبدأ الهارد ديسك فى إظهار بطء شديد أو تهنيج أو اختفاء ملفات أو ظهور أصوات غير طبيعية، فإن أول خطوة يجب القيام بها هى قراءة بيانات SMART الخاصة بالهارد.
تقنية SMART اختصار لـ
Self-Monitoring Analysis and Reporting Technology
وهى نظام مراقبة مدمج داخل الهارد ديسك أو SSD يقوم بتسجيل حالة القرص والأخطاء التى تحدث أثناء التشغيل.
هنعرف هنا ازاى نستخدم برنامج Smartmontools لفحص حالة الهارد وتحليل أهم القيم ومعرفة هل الهارد سليم أم يحتاج إلى استبدال
تحميل وتثبيت برنامج Smartmontools على نظام ويندوز
تحميل Smartmontools
بعد انتهاء التثبيت افتح Command Prompt كمسؤول (Run as Administrator).
الخطوة الأولى: التعرف على الأقراص المتصلة بالجهاز
الأمر:
smartctl --scan
وظيفة الأمر - يقوم بعرض جميع الأقراص التى يستطيع البرنامج الوصول إليها.
مثال
/dev/sda
/dev/sdb
فى هذا المثال:
الهارد الأول = sda
الهارد الثانى = sdb
ملاحظة:
قد تختلف أسماء الأقراص من جهاز إلى آخر.
الخطوة الثانية: عرض معلومات الهارد
الأمر
smartctl -i /dev/sda
وظيفة الأمر - عرض معلومات القرص الأساسية.
ستجد معلومات مثل
الشركة المصنعة
موديل الهارد
الرقم التسلسلى
إصدار الفيرموير
مثال
Device Model
Serial Number
Firmware Version
هذه الخطوة مهمة للتأكد من أنك تعمل على القرص الصحيح.
الخطوة الثالثة: فحص الحالة العامة للهارد
smartctl -H /dev/sda
مثال للنتيجة
SMART overall-health self-assessment test result: PASSED
معنى PASSED
أن الهارد مازال داخل الحدود التى يعتبرها المصنع آمنة.
تنبيه مهم
PASSED لا تعنى أن الهارد ممتاز 100%.
قد يكون الهارد يحتوى على قطاعات تالفة أو مشاكل بدأت فى الظهور رغم ظهور PASSED.
لذلك يجب دائماً مراجعة تقرير SMART الكامل.
الخطوة الرابعة: استخراج تقرير SMART الكامل
الأمر
smartctl -a /dev/sda
هذا أهم أمر فى البرنامج.
يقوم بعرض جميع بيانات SMART المسجلة داخل الهارد.
من خلال هذا التقرير نستطيع الحكم الحقيقى على حالة الهارد
أهم القيم التى يجب متابعتها
Reallocated Sector Count
رقم الخاصية 05 Reallocated_Sector_Ct
تمثل عدد القطاعات التالفة التى قام الهارد باستبدالها بقطاعات احتياطية.
إذا كانت القيمة = 0 فهذا ممتاز.
إذا بدأت القيمة فى الزيادة باستمرار فهذا مؤشر على تدهور سطح التخزين.
Current Pending Sector Count
رقم الخاصية 197 Current_Pending_Sector
تمثل عدد القطاعات التى فشل الهارد فى قراءتها وينتظر إعادة اختبارها.
القيمة المثالية = 0 إذا كانت أكبر من صفر فيجب الانتباه جيداً.
وجود Pending Sectors غالباً يؤدى إلى
بطء شديد
تهنيج النظام
توقف النسخ
مشاكل أثناء الإقلاع
Offline Uncorrectable
رقم الخاصية 198 Offline_Uncorrectable
تمثل عدد القطاعات التى لم يتمكن الهارد من إصلاحها.
القيمة الطبيعية = 0 أى قيمة أكبر من صفر تعتبر مؤشراً سلبياً.
Power On Hours
تمثل إجمالى ساعات تشغيل الهارد منذ خروجه من المصنع.
مثلا 1200
أى أن الهارد عمل لمدة 12000 ساعة تقريباً
Power Cycle Count
رقم الخاصية:
Power_Cycle_Count
تمثل عدد مرات تشغيل وإيقاف الجهاز.
UDMA CRC Error Count
رقم الخاصية 199 UDMA_CRC_Error_Count
هذه الخاصية مهمة جداً.
إذا كانت مرتفعة فقد يكون السبب
كابل SATA تالف
كابل ردىء الجودة
مشكلة فى التوصيلات
فى كثير من الحالات لا يكون الهارد نفسه هو السبب.
الخطوة الخامسة: تشغيل الاختبار القصير
الأمر:
smartctl -t short /dev/sda
وظيفة الأمر تشغيل اختبار داخلى سريع للهارد.
قد يستغرق عدة دقائق حسب نوع القرص.
بعد انتهاء الوقت المطلوب نفذ الأمر التالى.
smartctl -l selftest /dev/sda
إذا ظهرت النتيجة:
Completed without error
فهذا يعنى أن الاختبار انتهى بنجاح.
أما إذا ظهرت رسائل مثل:
Read Failure
Completed with error
فيجب التعامل مع الهارد بحذر.
# الخطوة السادسه: تشغيل الاختبار الطويل
الأمر
smartctl -t long /dev/sda
وظيفة الأمر
إجراء فحص شامل لجميع أجزاء القرص لو مش محتاج ليه متعملوش لانه
ممكن ياحد ساعه او اتنين وممكن اكتر من كده على حسب سعة الهارد وسرعته.
بعد انتهاء الفحص استخدم:
smartctl -l selftest /dev/sda
لمعرفة النتيجة النهائية
حفظ التقرير فى ملف
يمكن حفظ التقرير للمراجعة لاحقاً.
smartctl -a /dev/sda > good_drive.txt
كيف نحكم على حالة الهارد؟
الهارد السليم غالباً يتميز بالآتى:
لا يوجد Reallocated Sectors
لا يوجد Pending Sectors
لا يوجد Offline Uncorrectable
جميع الاختبارات ناجحة
لا توجد أخطاء قراءة أو كتابة
أما الهارد المهدد بالفشل غالباً ستجد:
Reallocated Sectors مرتفعة
Pending Sectors أكبر من صفر
Offline Uncorrectable أكبر من صفر
فشل فى Self Test
بطء أو تهنيج أثناء الاستخدام
الخلاصة
برنامج Smartmontools من أقوى الأدوات المجانية لفحص الأقراص الصلبة وقراءة بيانات SMART.
لكن لا تعتمد على كلمة PASSED فقط.
الحكم الصحيح على حالة الهارد يكون من خلال تحليل القيم الداخلية مثل:
* Reallocated Sector Count
* Current Pending Sector
* Offline Uncorrectable
* Self Test Results
كلما تعلمت قراءة هذه القيم بشكل صحيح أصبحت قادراً على تشخيص مشاكل الهارد بدقة أكبر واتخاذ القرار المناسب قبل فقدان البيانات.