خطای IO هارد یکی از دلایل رایج ضعف عملکرد سرور است. هاردها معمولاً دارای سرعتی محدود هستند و درصورتی‌که نرم‌افزارها تلاش کنند داده‌ها را با سرعت بیشتری بخوانند، زمان انتظار کاربران حتی بیشتر هم خواهد شد.

البته خطای IO هارد تنها دلیل کندی سرور نیست. در این مقاله نحوه استفاده از ابزار Linux IO stats را برای شناسایی و رفع خطای IO هارد در سرور و هاست لینوکس توضیح خواهیم داد. با ما همراه باشید.

علائم خطای IO هارد در سرور

IO هارد نقش مهمی در عملکرد سرور دارد و مشکلات آن در مراحل اولیه به شکل‌های مختلفی قابل ظاهر می‌شوند. برخی از این اشکال شامل موارد زیر هستند:

  • کندتر شدن بارگذاری سایت
  • افزایش وزن بار سرور
  • دریافت پیام chkservd
  • پایین آمدن سرعت ارسال ایمیل
  • کندشدن رابط‌های سی‌پنل و WHM

آیا IO هارد علت عملکرد ضعیف است؟

از دید کاربر، خطای IO هارد تنها به شکل کندشدن سرعت سایت نمود پیدا می‌کند. در واقع این مشکل شبیه به مشکلات شبکه خودش را نشان می‌دهد؛ بنابراین، قبل از صرفه هرگونه زمان و هزینه بهتر از مسئله اصلی از هارد است. برای تشخیص مشکلات IO هارد، باید مراحل زیر را پیش ببرید.

ابتدا وارد سرور شده و دستور top را اجرا کنید. این ابزار به شما نشان می‌دهد که آیا CPU درگیر تکمیل عملیات هارد است یا خیر. در آمار فرایندهای در حال اجرا در سرور، مقدار wa در ردیف CPU%، نشانگر مدت‌زمان انتظار CPU برای تکمیل IO است. درصورتی‌که این مقدار از 1% بیشتر باشد مشکلی وجود دارد.

آمار IO هارد

برای بررسی آمار دقیق IO دستور زیر را اجرا کنید.

vmstat 1 10

آمار IO هارد

این دستور آماری دقیق از CPU، IO و حافظه را نمایش می‌دهد. اگر اعداد در ستون IO بالاتر از ردیف وسط باشد، نشان‌دهنده فشار بالا بر سیستم است.

برای شناسایی هارد تحت‌فشار دستور زیر را اجرا کنید.

iostat -md

این دستور آمار دقیق را بر اساس مگابایت بر ثانیه به شما نشان می‌دهد. اگر حجم داده‌های ارائه‌شده در ثانیه بالا باشد، احتمالاً مشکلی وجود دارد.

آمار IO هارد

برای یافتن نقطه اتصال سیستم از دستور زیر استفاده کنید.

lsblk

آمار IO هارد

این دستور مشخص می‌کند که هر دستگاه به کدام بخش از سیستم متصل است. درصورتی‌که سرور به چند دستگاه متصل باشد، این دستور به شما کمک می‌کند تا بفهمید مشکل دقیقاً از کجا نشئت می‌گیرد.

راه‌های رفع خطای IO هارد

پس از شناسایی مشکل، حال زمان رفع آن رسیده است. برای این کار چند مسیر را می‌توانید دنبال کنید.

فعال‌کردن write caching

write caching داده‌ها را در حافظه رم ذخیره کرده و سپس به هارد می‌فرستد. البته باید توجه داشته باشید که در صورت قطعی برق امکان ازدست‌رفتن داده‌ها در این روش وجود دارد.

برای فعال‌کردن این قابلیت ابتدا به کمک دستور زیر ابزار hdparm را نصب کنید.

yum install hdparm

سپس دستور زیر را اجرا کنید. توجه داشته باشید به‌جای عبارت dev/sda/ مسیر هارد موردنظر را قرار دهید.

hdparm -W1 /dev/sda

برای غیرفعال‌کردن آن نیز از دستور زیر استفاده کنید:

hdparm -W0 /dev/sda

فعال‌کردن DMA یا همان Direct Memory Access

DMA به اجزای سرور اجازه دسترسی مستقیم به رم را می‌دهد و می‌تواند سرعت هارد را افزایش دهد. برای فعال‌کردن آن از دستور زیر استفاده کنید:

hdparm -d1 /dev/hda

برای غیرفعال‌کردنش نیز دستور زیر را اجرا کنید:

hdparm -d0 /dev/hda

ارتقای سخت‌افزاری سرور

اگر تنظیمات داخلی مشکل را حل نکرد، می‌توانید از تغییرات سخت‌افزاری نیز بهره ببرید. این تغییرات شامل موارد زیر می‌شود:

  • ارتقای هارد
  • تقسیم بار بین چند هارد
  • افزایش حافظه
  • اطمینان از سلامت RAID

سخن پایانی

تشخیص خطای IO هارد و یافتن دلیل آن می‌تواند فرایندی پیچیده باشد، اما با انجام مراحلی که برایتان توضیح داده‌ایم می‌توانید به‌سرعت و آسانی مشخص کنید کدام بخش‌ها تحت‌تأثیر قرار گرفته‌اند و مشکلات آن‌ها را حل کنید.