وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

خطای Correctable ECC رم سرور اختصاصی؛ چه وقت باید نگران شویم؟

راهنمای خواندن خطاهای اصلاح‌شده ECC در سرور اختصاصی، بررسی روند، شناسایی رم و برنامه‌ریزی تعمیر بدون از دست رفتن داده.

انتشار:
توسط تیم فنی نت‌آرام
۷ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله خطای Correctable ECC رم سرور اختصاصی؛ چه وقت باید نگران شویم؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
در گزارش سخت‌افزار سرور اختصاصی پیام Correctable ECC error دیده‌اید. یعنی سازوکار محافظت حافظه خطایی را شناسایی و در آن رخداد اصلاح کرده است. این پیام به‌تنهایی ثابت نمی‌کند سرور فوراً از کار می‌افتد یا حتماً باید رم را همان لحظه تعویض کنید؛ از طرف دیگر، پاک‌کردن هشدار و نادیده‌گرفتن افزایش مداوم آن هم تصمیم مناسبی نیست.
هدف این راهنما این است که بفهمید خطا کجا ثبت شده، آیا تکرار می‌شود و برای رفع آن چه اقدامی لازم است. مثال‌های خط فرمان برای لینوکس روی سخت‌افزار واقعی‌اند. داخل یک VPS معمولاً اطلاعات فیزیکی رم میزبان دیده نمی‌شود؛ در آن حالت گزارش را به ارائه‌دهنده بدهید. دستورات اطلاعاتی را با دسترسی مجاز در ترمینال یا کنسول سرور اجرا کنید.

۱. خطای اصلاح‌شده با اصلاح‌نشده چه فرقی دارد؟

در رخداد Correctable، سخت‌افزار توانسته آن خطا را بر اساس قابلیت و تنظیمات خود اصلاح کند. در رخداد Uncorrectable، خطا در آن شرایط قابل اصلاح نبوده و می‌تواند به اختلال برنامه، توقف ماشین یا مشکل جدی‌تر منجر شود. نوع دقیق خطای قابل اصلاح و واکنش سیستم به مدل سخت‌افزار و پیکربندی آن بستگی دارد.
اگر خطای اصلاح‌نشده، ریبوت ناگهانی یا هشدار بحرانی همراه آن دارید، اول سلامت سرویس، بکاپ و برنامه واکنش به خرابی را در اولویت بگذارید. درباره مفهوم رم ECC و تفاوت آن با حافظه معمولی هم می‌توانید راهنمای رم ECC سرور را بخوانید.

۲. زمان و محل هشدار را ثبت کنید

در سرورهای مجهز به iDRAC، iLO یا ابزار مشابه، بخش گزارش رخدادهای سخت‌افزار را باز کنید. نام منو در مدل‌ها متفاوت است؛ دنبال System Event Log یا گزارش چرخه عمر دستگاه بگردید. زمان، شناسه پیام، شماره پردازنده یا کانال و نام جایگاه حافظه را ثبت کنید. گزارش را قبل از جمع‌آوری شواهد پاک نکنید.
برای ثبت زمان فعلی لینوکس:
کد / دستورdate -Iseconds
زمان گزارش کنترلر و سیستم‌عامل ممکن است منطقه زمانی متفاوتی داشته باشد. مشخصات ساعت را هم بخوانید:
کد / دستورtimedatectl status
اگر timedatectl موجود نیست، خروجی date را همراه منطقه زمانی ثبت کنید. هم‌زمان بودن چند رخداد فقط وقتی قابل نتیجه‌گیری است که ساعت‌ها درست تطبیق داده شوند.

۳. پیام‌های حافظه را در کرنل ببینید

در سیستم دارای systemd:
کد / دستورsudo journalctl -k -b --no-pager | grep -Ei 'EDAC|ECC|memory error|machine check' | tail -n 80
عبارت -b بوت فعلی را انتخاب می‌کند. اگر چیزی پیدا نشد، ممکن است خطا فقط در کنترلر مدیریتی ثبت شده باشد، لاگ قبلی نگه‌داری نشده باشد یا درایور گزارش را به سیستم‌عامل نداده باشد؛ خروجی خالی تضمین سلامت فیزیکی نیست. برای دیدن بوت‌های ثبت‌شده:
کد / دستورjournalctl --list-boots
در صورت وجود بوت قبلی، می‌توانید با sudo journalctl -k -b -1 --no-pager گزارش همان بوت را ببینید. این خروجی ممکن است طولانی یا حاوی اطلاعات عملیاتی باشد. زمان، نوع corrected یا uncorrected و نام کنترلر یا جایگاه را از پیام واقعی یادداشت کنید.

۴. اگر EDAC در دسترس است، شمارنده‌ها را مقایسه کنید

کد / دستورls -l /sys/devices/system/edac/mc/
اگر پوشه‌هایی مانند mc0 می‌بینید، ممکن است شمارنده‌های کنترلر حافظه در دسترس باشند. این دستور مقادیر قابل خواندن را نشان می‌دهد:
کد / دستورfor f in /sys/devices/system/edac/mc/mc*/ce_count /sys/devices/system/edac/mc/mc*/ue_count; do [ ! -r "$f" ] || printf '%s: %s\n' "$f" "$(cat "$f")"; done
ce_count برای خطاهای اصلاح‌شده و ue_count برای خطاهای اصلاح‌نشده است. نام‌ها و میزان جزئیات به درایور و سخت‌افزار بستگی دارند. مقدار و ساعت را ثبت کنید و مثلاً پس از یک بازه کار معمول دوباره بخوانید. بالا رفتن سریع همان شمارنده یا تکرار روی یک جایگاه نسبت به یک رخداد قدیمی، نشانه مهم‌تری برای پیگیری است. شمارنده ممکن است پس از ریبوت یا تغییر درایور بازنشانی شود؛ اعداد دو بوت را بدون درنظرگرفتن این موضوع مقایسه نکنید.
اگر هیچ شمارنده‌ای دیده نمی‌شود، آن را صفر فرض نکنید. گزارش BMC و ابزار پشتیبانی‌شده سازنده ممکن است اطلاعات بیشتری داشته باشد.

۵. در صورت نصب rasdaemon، گزارش دقیق‌تر را بخوانید

کد / دستورcommand -v ras-mc-ctl
اگر مسیر ابزار نمایش داده شد، خلاصه رخدادهای ثبت‌شده را ببینید:
کد / دستورsudo ras-mc-ctl --summary
برای دیدن جزئیات رخدادها:
کد / دستورsudo ras-mc-ctl --errors
ممکن است نام کنترلر، کانال یا برچسب DIMM در خروجی باشد. این برچسب را با گزارش BMC و نقشه قطعات همان مدل سرور تطبیق دهید؛ نام کانال در لینوکس همیشه مستقیماً شماره سینی فیزیکی نیست. اگر ابزار یا سرویس نصب و فعال نبوده، نبود سابقه به معنی نبود خطا در گذشته نیست. روش این ابزار در مستندات Red Hat توضیح داده شده است.

۶. قطعه و شرایط را بدون دست‌کاری سخت‌افزار شناسایی کنید

برای دیدن اطلاعات حافظه‌ای که firmware ارائه می‌دهد:
کد / دستورsudo dmidecode -t memory
در خروجی به Locator، ظرفیت و نوع ماژول توجه کنید. اطلاعات firmware ممکن است ناقص یا نادرست باشد؛ آن را با برچسب گزارش خطا و مستندات سازنده تطبیق دهید. شماره سریال و جزئیات پیکربندی را فقط با افراد مجاز به اشتراک بگذارید. مقدار RAM قابل استفاده نیز با این دستور دیده می‌شود:
کد / دستورfree -h
free سلامت ECC را نشان نمی‌دهد، اما پس از تغییر سخت‌افزار می‌تواند برای مقایسه ظرفیت در دسترس کمک کند.

۷. چه اقدامی مشکل را رفع می‌کند؟

اگر فقط یک رخداد قدیمی ثبت شده و روندی از تکرار ندارید، گزارش و زمان را نگه دارید و با آستانه‌ها و دستورالعمل مدل سخت‌افزار مقایسه کنید. اگر خطاها روی یک جایگاه تکرار می‌شوند، رشد می‌کنند یا کنترلر هشدار آستانه می‌دهد، از داده‌ها بکاپ قابل بازیابی بگیرید و برای بررسی قطعه، جایگاه، سازگاری firmware و کنترلر حافظه بازه نگهداری تعیین کنید. یک عدد ثابت مثل «سه خطا یعنی حتماً تعویض» برای همه سرورها معتبر نیست.
در سرور اجاره‌ای، شماره جایگاه، شناسه پیام و روند زمانی را به مرکز داده بدهید و درخواست بررسی یا تعویض قطعه کنید. در سرور تحت مدیریت خود، بررسی فیزیکی، جابه‌جایی آزمایشی یا تعویض باید طبق دستورالعمل سازنده، با خاموشی برنامه‌ریزی‌شده و حفاظت الکتریسیته ساکن انجام شود. مگر سخت‌افزار و دستورالعمل آن صریحاً تعویض در حال کار را مجاز بدانند، DIMM را با سرور روشن خارج نکنید. اگر خطا با قطعه جابه‌جا شود یا در همان جایگاه بماند، نتیجه به تشخیص قطعه، سوکت یا مسیر حافظه کمک می‌کند؛ این آزمون باید به دست فرد مسئول سخت‌افزار انجام شود.

۸. بعد از رفع، نتیجه را چطور تأیید کنیم؟

پس از اقدام، ظرفیت شناسایی‌شده، سلامت بوت و سرویس‌های واقعی را بررسی کنید. گزارش جدید BMC و کرنل را با زمان شروع کار مقایسه کنید و ببینید هشدار تازه برای همان جایگاه ایجاد می‌شود یا نه. ابزارها ممکن است خطاهای تاریخی را همچنان نشان دهند؛ پاک‌کردن همه لاگ‌ها روش اثبات رفع مشکل نیست. در صورت ادامه رخداد یا وجود خطای اصلاح‌نشده، پیگیری سخت‌افزاری و بررسی سلامت داده را ادامه دهید. راهنمای خطاهای حافظه Dell نمونه تفاوت این رخدادها را نشان می‌دهد.
برای انتخاب سخت‌افزار و منابع متناسب با بار برنامه، مشخصات سرور اختصاصی ایران نت‌آرام را ببینید و پشتیبانی سخت‌افزاری و شرایط تعویض را پیش از سفارش بررسی کنید.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام