پرش به محتوا

پایش سلامت دیسک‌ها با smartmontools

وضعیت SMART دیسک‌های SATA و NVMe را بخوانید، تست‌های دوره‌ای زمان‌بندی کنید و پیش از خرابی دیسک ایمیل هشدار بگیرید.

Ubuntu 24.04 LTSسطح: مقدماتیبرای: Ubuntu 24.04 LTS، Ubuntu 26.04 LTS، Ubuntu 22.04 LTSبه‌روزرسانی: ۱۶ آبان ۱۴۰۵

بیشتر دیسک‌ها پیش از خرابی کامل نشانه می‌دهند: سکتورهای جابه‌جاشده، خطای خواندن، دمای بالا. smartmontools این نشانه‌ها را می‌پاید. (روی ماشین مجازی معنا ندارد؛ این آموزش برای سرور فیزیکی است.)

۱. نصب

bash
sudo apt update
sudo apt install -y smartmontools nvme-cli

۲. وضعیت فعلی

bash
sudo smartctl --scan
sudo smartctl -H /dev/sda          # نتیجه‌ی کلی: PASSED یا FAILED
sudo smartctl -A /dev/sda          # جدول ویژگی‌ها
sudo smartctl -a /dev/nvme0        # برای NVMe

ویژگی‌هایی که باید با دقت دید (اگر بیشتر از صفر بودند یا رو به افزایش‌اند، دیسک را برای تعویض برنامه‌ریزی کنید):

  • Reallocated_Sector_Ct
  • Current_Pending_Sector
  • Offline_Uncorrectable
  • در NVMe: Media and Data Integrity Errors و Percentage Used

۳. تست دوره‌ای و هشدار

bash
sudo nano /etc/smartd.conf

خط DEVICESCAN موجود را با این جایگزین کنید:

ini
DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -W 4,45,55 -m admin@example.ir -M exec /usr/share/smartmontools/smartd-runner

معنی:

  • هر روز ساعت ۲ تست کوتاه و هر شنبه ساعت ۳ تست کامل
  • هشدار برای دمای بالای ۴۵ و بحرانی بالای ۵۵ درجه
  • ارسال ایمیل به مدیر (سرور باید امکان ارسال ایمیل داشته باشد)
bash
sudo systemctl restart smartmontools
sudo systemctl status smartmontools --no-pager

۴. آزمایش هشدار

برای آزمایش موقتاً -M test را به انتهای خط اضافه کنید، سرویس را ری‌استارت کنید و ایمیل را بررسی کنید. سپس آن را بردارید.