محتوای آموزشی وبلاگ نتآرام
در گزارش سختافزار سرور اختصاصی پیام
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 نمونه تفاوت این رخدادها را نشان میدهد.
برای انتخاب سختافزار و منابع متناسب با بار برنامه، مشخصات سرور اختصاصی ایران نتآرام را ببینید و پشتیبانی سختافزاری و شرایط تعویض را پیش از سفارش بررسی کنید.
اشتراکگذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
