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

کندی دیسک هنگام Patrol Read در سرور اختصاصی؛ چطور ایمن رفعش کنیم؟

روش بررسی فعالیت Patrol Read، تأخیر دیسک و تنظیم زمان و اولویت مناسب در کنترلر RAID سرور اختصاصی.

انتشار:
توسط تیم فنی نت‌آرام
۷ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله کندی دیسک هنگام Patrol Read در سرور اختصاصی؛ چطور ایمن رفعش کنیم؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
سایت یا پایگاه داده روی سرور اختصاصی ایران هر چند وقت یک بار کند می‌شود. CPU الزاماً پر نیست، ولی درخواست‌های دیسک دیر پاسخ می‌گیرند و در پنل کنترلر عبارتی به نام Patrol Read دیده می‌شود. آیا همین عملیات مقصر است؟ شاید؛ اما هم‌زمانی به‌تنهایی کافی نیست. بکاپ سنگین، خرابی دیسک، بازسازی RAID و فشار برنامه هم می‌توانند چنین نشانه‌ای بسازند.
Patrol Read در کنترلرهای پشتیبانی‌شده بخش‌هایی از دیسک‌های فیزیکی را در پس‌زمینه می‌خواند تا بعضی خطاهای رسانه زودتر پیدا شوند. با Consistency Check که سازگاری آرایه افزونه‌دار را بررسی می‌کند یکی نیست و جای بکاپ سالم را نمی‌گیرد. هدف این راهنما پیدا کردن علت کندی و تنظیم سنجیده زمان یا شدت کار است، نه خاموش‌کردن دائمی یک بررسی محافظتی.

۱. قبل از تغییر، سلامت آرایه و بکاپ را ببینید

در پنل مدیریت سخت‌افزار یا ابزار کنترلر، مدل کنترلر، نسخه firmware، نام آرایه و وضعیت دیسک‌ها را یادداشت کنید. وضعیت Optimal خوب است، اما نبود هشدار به معنی تضمین سلامت داده نیست. اگر آرایه Degraded است، خطای دیسک یا بازسازی فعال دارد، رسیدگی به پایداری داده و هماهنگی با مسئول سرور اولویت دارد. از پاک‌کردن پیکربندی، تعویض دیسک یا تغییر سیاست کش برای آزمایش سرعت خودداری کنید.
آخرین بکاپ قابل بازیابی و محل نگه‌داری آن را بررسی کنید. اگر هنگام بار زیاد نشانه خرابی دیسک یا خطاهای تکراری I/O می‌بینید، کارهای سنگین و آزمایش استرس را شروع نکنید؛ وضعیت و گزارش کنترلر را ثبت و برای بررسی سخت‌افزار ارسال کنید. در صورت داشتن دیسک پشت RAID، راهنمای خواندن SMART دیسک پشت کنترلر کمک می‌کند شناسه دیسک درست را پیدا کنید.

۲. کندی را در سیستم‌عامل اندازه بگیرید

در لینوکس با حساب دارای دسترسی مناسب وارد ترمینال شوید و زمان مشاهده کندی را ثبت کنید:
کد / دستورdate -Is lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS iostat -x 1 5
دستور اول زمان نمونه را ثبت می‌کند، دومی نشان می‌دهد دیسک منطقی یا فایل‌سیستم مورد نظر کدام است و سومی پنج نمونه یک‌ثانیه‌ای از آمار ورودی و خروجی می‌دهد. اگر iostat نصب نیست، بسته sysstat را فقط از مخزن معتبر توزیع خود نصب کنید. نام ستون‌ها در نسخه‌های مختلف متفاوت است. await زمان متوسط انتظار درخواست‌ها بر حسب میلی‌ثانیه است؛ آن را با وضعیت عادی همان سرور مقایسه کنید. نرخ درخواست و صف نیز مهم‌اند؛ یک عدد %util به‌تنهایی ظرفیت واقعی RAID یا SSD را ثابت نمی‌کند.
برای دیدن اینکه آیا بار از برنامه آمده است، در صورت نصب ابزار و داشتن مجوز مناسب، sudo iotop -o را کوتاه‌مدت اجرا کنید. بسته به کرنل یا محدودیت کانتینر ممکن است اطلاعات کامل نمایش داده نشود و I/O کنترلر پشت صحنه هم به فرایند مشخصی نسبت داده نشود. در کنار آن زمان بکاپ، گزارش پایگاه داده و حجم درخواست‌های سایت را مقایسه کنید. اگر فقط یک برنامه بار زیادی تولید می‌کند، ابتدا تنظیم یا زمان همان کار را اصلاح کنید.

۳. وضعیت Patrol Read را از کنترلر بخوانید

روی کنترلر Dell PERC سازگار با ابزار perccli، نخست شناسه کنترلر را با راهنمای همان مدل یا دستور فهرست کنترلر پیدا کنید. مثال زیر برای کنترلر شماره صفر است و فقط اطلاعات را می‌خواند:
کد / دستورsudo perccli show sudo perccli /c0 show patrolread sudo perccli /c0 show all
اگر ابزار در PATH نیست، مسیر نصب معتبر آن را مشخص کنید؛ دانلود برنامه نامعتبر برای دسترسی به RAID خطرناک است. در خروجی دنبال وضعیت اجرا، زمان شروع و برنامه زمان‌بندی بگردید. ساعت کنترلر ممکن است با ساعت محلی یا سیستم‌عامل تفاوت داشته باشد. گزارش وقایع و سلامت دیسک‌های همان کنترلر را نیز نگه دارید. نام گزینه‌ها و میزان جزئیات با مدل و firmware متفاوت است؛ سایر سازندگان مانند HPE یا کنترلر نرم‌افزاری لینوکس دستور دیگری دارند و نباید دستور PERC را برای آن‌ها کپی کرد.
در مرجع PERC CLI نسل‌های ۹ تا ۱۱ گزینه show patrolread برای خواندن وضعیت و زمان شروع آمده است. برخی مدل‌ها فعالیت‌هایی مانند rebuild یا consistency check را با Patrol Read روی همان دیسک هم‌زمان اجرا نمی‌کنند؛ برای رفتار دقیق به مستند کنترلر خود رجوع کنید.

۴. ارتباط زمانی را ثابت کنید

در یک دوره کم‌خطر، هر بار که کندی رخ می‌دهد زمان، تأخیر دیسک، حجم بار برنامه و وضعیت Patrol Read را ثبت کنید. سپس در زمان مشابهی که Patrol Read فعال نیست همان شاخص‌ها را با بار تقریباً مشابه مقایسه کنید. اگر تأخیر فقط همراه اسکن بالا می‌رود و پس از پایانش پایین می‌آید، احتمال اثر اسکن بیشتر است؛ با این حال تغییر بار کاربر و بکاپ را هم کنار نتایج نگه دارید.
اگر حتی زمان غیرفعال‌بودن اسکن تأخیر بالاست، دنبال صف برنامه، خرابی دیسک، وضعیت cache و کنترلر، شبکه ذخیره‌سازی یا بار بکاپ بروید. اگر خطاهای رسانه یا دیسک degraded دارید، کاهش سرعت اسکن درمان آن خطا نیست؛ برای تشخیص سخت‌افزار و حفظ نسخه قابل بازیابی اقدام کنید.

۵. زمان و منابع را با احتیاط تنظیم کنید

ابتدا از صفحه تنظیمات کنترلر، حالت فعلی، فاصله اجرا، ساعت کنترلر و هر مقدار rate یا تعداد دیسک هم‌زمان را ثبت کنید. اگر مدل شما اجازه می‌دهد، اجرای اسکن را به پنجره کم‌ترافیک منتقل کنید و اطمینان بگیرید فرصت کافی برای کامل‌شدن دارد. کاهش تعداد دیسک‌های اسکن‌شونده هم‌زمان یا نرخ منابع، در کنترلرهایی که این گزینه را دارند، ممکن است فشار لحظه‌ای را کم کند ولی مدت بررسی را بیشتر می‌کند. مقدار کمِ ثابت برای همه سیستم‌ها درست نیست؛ اثر آن را اندازه بگیرید.
برای نمونه، مرجع PERC امکان تنظیم maxconcurrentpd یا زمان شروع را در مدل‌های پشتیبانی‌شده شرح می‌دهد. تغییرها را فقط با دستور دقیق همان مدل، بعد از ثبت مقادیر قبلی و در پنجره نگه‌داری انجام دهید. توجه کنید بعضی گزینه‌های یک دستور، مثل فهرست دیسک‌های مستثنا، ممکن است در صورت استفاده نادرست پوشش اسکن را عوض کنند. از کپی یک دستور تنظیم کامل از اینترنت بدون فهم همه گزینه‌هایش پرهیز کنید.
اگر اختلال شدید است و مدل کنترلر دستور pause موقت را پشتیبانی می‌کند، مدیر زیرساخت می‌تواند بعد از ارزیابی خطر، برای همان کنترلر اسکن جاری را موقتاً معلق و پس از عبور از دوره حساس دوباره ادامه دهد. در PERC نمونه، suspend patrolread با stop patrolread یکسان نیست: طبق مستند Dell، عملیات متوقف‌شده با stop قابل resume نیست. توقف یا تعلیق ماندگار، فرصت کشف پیشگیرانه خطا را از بین می‌برد؛ زمان ادامه و مسئول پیگیری آن را مشخص کنید.

۶. نتیجه را بسنجید و اگر بهتر نشد چه کنید؟

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

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

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