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

سلامت دیسک پشت RAID سخت‌افزاری را چطور ببینیم؟ راهنمای SMART سرور اختصاصی

آموزش پیدا کردن دیسک فیزیکی پشت کنترلر RAID و خواندن گزارش SMART با smartctl و ابزار کنترلر در سرور اختصاصی لینوکس.

انتشار:
توسط تیم فنی نت‌آرام
۸ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله سلامت دیسک پشت RAID سخت‌افزاری را چطور ببینیم؟ راهنمای SMART سرور اختصاصی در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
دستور بررسی سلامت را روی دیسک سرور اجرا می‌کنید، اما خروجی فقط یک دیسک مجازی را نشان می‌دهد یا می‌گوید اطلاعات SMART در دسترس نیست. در بسیاری از سرورهای اختصاصی، کنترلر RAID چند دیسک فیزیکی را پشت یک دیسک منطقی به سیستم‌عامل نشان می‌دهد. در نتیجه نامی مانند /dev/sda لزوماً به معنی «دیسک فیزیکی شماره یک» نیست.
در این راهنما یاد می‌گیرید کنترلر و شناسه دیسک واقعی را پیدا کنید و گزارش را بدون تغییر آرایه بخوانید. مثال اختصاصی کنترلر برای خانواده‌ای از کنترلرهای Dell PERC و MegaRAID است؛ شماره‌ها، مسیر ابزار و قابلیت‌ها به مدل کنترلر و سیستم‌عامل شما بستگی دارند. دستورها را در ترمینال لینوکس سرور و با دسترسی مدیر اجرا کنید. در سرور مجازی معمولاً دیسک فیزیکی میزبان از داخل VPS قابل مشاهده نیست و باید وضعیت سخت‌افزار را از ارائه‌دهنده بگیرید.

۱. قبل از اجرا: دیسک منطقی و فیزیکی را اشتباه نگیرید

دیسک فیزیکی قطعه واقعی SSD یا HDD است. دیسک منطقی یا Virtual Disk نتیجه‌ای است که کنترلر از یک یا چند دیسک به سیستم‌عامل می‌دهد. یک آرایه RAID 1 با دو SSD می‌تواند فقط یک نام مثل /dev/sda داشته باشد. بنابراین گزارش یک دیسک منطقی لزوماً سلامت هر دو قطعه را نشان نمی‌دهد.
این آموزش از دستورهای خواندن اطلاعات استفاده می‌کند. دیسکی را از آرایه حذف نکنید، روی آن عملیات initialize انجام ندهید و بر اساس شماره‌های نمونه این مقاله قطعه‌ای را تعویض نکنید. پیش از هر اقدام سخت‌افزاری، نسخه پشتیبان قابل بازیابی و هماهنگی با مرکز داده لازم است؛ RAID خودش بکاپ نیست.

۲. ببینید سیستم‌عامل چه چیزی می‌بیند

کد / دستورlsblk -o NAME,SIZE,TYPE,MODEL,SERIAL,FSTYPE,MOUNTPOINT
ستون NAME نام دستگاه و SIZE ظرفیت آن را نشان می‌دهد. اگر مدل به کنترلر اشاره می‌کند یا مدل و سریال خالی‌اند، ممکن است سیستم‌عامل فقط خروجی منطقی RAID را ببیند. این نتیجه به‌تنهایی نوع کنترلر را ثابت نمی‌کند. از روی نام /dev/sda نمی‌توان درباره جایگاه فیزیکی دیسک تصمیم گرفت.
برای دیدن کنترلرهایی که سیستم شناسایی کرده است:
کد / دستورlspci -nn | grep -Ei 'raid|sas|storage|non-volatile'
نام سازنده و مدل را یادداشت کنید. اگر lspci موجود نبود، بسته pciutils ممکن است نصب نشده باشد. در محیط مدیریت‌شده، نصب ابزار جدید را با مدیر سرور هماهنگ کنید. کنترلرهایی با نام‌های مشابه می‌توانند روش مدیریت متفاوتی داشته باشند؛ مدل دقیق و مستندات سازنده مهم‌اند.

۳. بررسی کنید ابزار SMART نصب است

کد / دستورsmartctl --version
اگر نسخه نمایش داده شد، ابزار موجود است. اگر پیام command not found دیدید، نام بسته معمولاً smartmontools است. روی Ubuntu یا Debian می‌توانید بعد از اطمینان از سالم بودن مخازن و انتخاب زمان مناسب، این دو دستور را به‌ترتیب اجرا کنید:
کد / دستورsudo apt-get update کد / دستورsudo apt-get install smartmontools
روی AlmaLinux یا دیگر توزیع‌های سازگار با DNF، به‌جای آن از دستور زیر استفاده می‌شود:
کد / دستورsudo dnf install smartmontools
اگر نصب به دلیل خطای مخزن متوقف شد، ابتدا همان خطا را رفع کنید؛ برای عبور از خطا بررسی امضای بسته را خاموش نکنید. در پایان دوباره smartctl --version را اجرا کنید.

۴. خروجی خودکار را امتحان کنید، اما به آن بسنده نکنید

کد / دستورsudo smartctl --scan-open
این دستور دستگاه‌هایی را که ابزار هنگام اسکن می‌تواند باز کند فهرست می‌کند. ممکن است دیسک‌های پشت بعضی کنترلرها را با گزینه مناسب نشان دهد، فقط دیسک منطقی را ببیند یا هیچ قطعه فیزیکی را کشف نکند. خالی بودن فهرست الزاماً به معنی خراب بودن همه دیسک‌ها نیست.
برای نمونه، اگر /dev/sda در فهرست شما دیده می‌شود، نتیجه مستقیم را بخوانید:
کد / دستورsudo smartctl -a /dev/sda
اگر خروجی صرفاً مدل Virtual Disk یا پیام پشتیبانی‌نشدن SMART را نشان می‌دهد، اطلاعات دیسک‌های زیر کنترلر را جداگانه پیدا کنید. اگر یک مدل و سریال واقعی نمایش داده شد نیز باید با موجودی کنترلر تطبیق دهید تا بدانید مربوط به کدام قطعه است.

۵. در کنترلر پشتیبانی‌شده، شناسه دیسک واقعی را پیدا کنید

برای کنترلرهای سازگار Dell PERC، ابزار مدیریتی ممکن است perccli یا نسخه دیگری از ابزار سازنده باشد. اول ببینید آیا در مسیر فرمان‌ها وجود دارد:
کد / دستورcommand -v perccli
اگر خروجی خالی بود، ابزار ممکن است نصب نشده یا در مسیر دیگری نصب شده باشد. از بسته رسمی متناسب با مدل کنترلر و نسخه لینوکس استفاده کنید. در بعضی نصب‌ها فایل اجرایی در /opt/MegaRAID/perccli/perccli64 قرار دارد، اما روی همه سیستم‌ها این مسیر وجود ندارد. قبل از ادامه، مسیر واقعی را پیدا و با مستندات مدل خود تطبیق دهید.
در مثال زیر فرض می‌کنیم همین مسیر وجود دارد و کنترلر شماره صفر است. برای دیدن کنترلرها:
کد / دستورsudo /opt/MegaRAID/perccli/perccli64 show
سپس، فقط برای کنترلر صفر نمونه، فهرست دیسک‌ها را بخوانید:
کد / دستورsudo /opt/MegaRAID/perccli/perccli64 /c0/eall/sall show
در خروجی سازگار با این ابزار، ستون‌هایی مانند EID:Slt، DID، State و ظرفیت ممکن است نمایش داده شوند. EID:Slt جایگاه محفظه و سینی است؛ DID شناسه‌ای است که ممکن است برای دسترسی به دیسک با MegaRAID استفاده شود. این دو عدد را یکی فرض نکنید. اگر کنترلر دیگری دارید، دستور و ستون‌ها را طبق مستندات همان سازنده پیدا کنید. فقط دستورهای نمایش اطلاعات را اجرا کنید؛ فرمان‌های تغییر وضعیت آرایه در این مرحله لازم نیستند.

۶. گزارش SMART همان دیسک را بخوانید

فرض کنید مستندات و خروجی ابزار کنترلر نشان داده‌اند شناسه دستگاه فیزیکی 1 است و مسیر دسترسی کنترلر /dev/bus/0 است. نمونه زیر برای کنترلر سازگار با نوع megaraid است:
کد / دستورsudo smartctl -a -d megaraid,1 /dev/bus/0
عدد پس از megaraid, و مسیر /dev/bus/0 را فقط پس از شناسایی واقعی کنترلر و دیسک جایگزین کنید؛ آن‌ها برای سرور شما ممکن است متفاوت باشند. برای هر دیسک شناسه و سریال را با فهرست کنترلر تطبیق دهید. راهنمای رسمی Dell برای خواندن SMART از کنترلر PERC نمونه همین روش را نشان می‌دهد.
اگر کنترلر یا دیسک شما به نوع دیگری از گذر فرمان نیاز دارد، از راهنمای همان مدل استفاده کنید. برای بعضی ترکیب‌های SATA و MegaRAID، مستندات سازنده گزینه sat+megaraid را معرفی می‌کنند، اما آن را برای همه مدل‌ها یکسان فرض نکنید. پیام Unknown device type، unsupported یا خطای دسترسی را همراه مدل کنترلر و نسخه smartctl ثبت کنید؛ به معنی اثبات خرابی خود دیسک نیست.

۷. خروجی را چطور تفسیر کنیم؟

ابتدا مدل و شماره سریال را با موجودی کنترلر مقایسه کنید تا مطمئن شوید گزارش متعلق به همان قطعه است. سپس به وضعیت سلامت، دما، خطاهای ثبت‌شده و در SSD به شاخص فرسودگی توجه کنید. نام و معنی ویژگی‌ها میان SATA، SAS، NVMe و سازندگان فرق دارد؛ یک عدد خام را بدون راهنمای همان مدل به درصد سلامت تبدیل نکنید.
اگر گزارش PASSED است اما خطاهای خواندن، هشدار کنترلر یا افت عملکرد ادامه دارد، مشکل هنوز می‌تواند وجود داشته باشد. راهنمای SMART سالم با وجود خطاهای دیسک توضیح می‌دهد چرا یک کلمه کافی نیست. اگر کنترلر حالت degraded یا predictive failure نشان می‌دهد، اول وضعیت بکاپ و آرایه را بررسی و با مرکز داده برای اقدام هماهنگ کنید؛ به‌ویژه هنگام بازسازی آرایه، خارج‌کردن دیسک اشتباه می‌تواند اطلاعات را از دسترس خارج کند.
برای ثبت یک گزارش خواندنی در فایل خصوصی، پس از جایگزینی شناسه واقعی می‌توانید بنویسید:
کد / دستورsudo sh -c 'umask 077; set -C; smartctl -a -d megaraid,1 /dev/bus/0 > /root/disk-smart-report.txt'
این نمونه فایل را با دسترسی محدود در پوشه root ذخیره می‌کند و با set -C از جایگزینی فایل موجود جلوگیری می‌کند. اگر نام از قبل وجود دارد، نام تازه‌ای انتخاب کنید. سریال دیسک و مشخصات سخت‌افزاری اطلاعات عملیاتی‌اند و بهتر است گزارش فقط برای افراد مجاز ارسال شود. اگر دستور با خطا پایان یافت، متن خطا را جداگانه ببینید؛ خالی نبودن فایل به‌تنهایی نشانه موفقیت نیست.

۸. تأیید نهایی و پیگیری

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

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

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