S.M.A.R.T چیست؟
S.M.A.R.T چیست و چگونه کار میکند؟
S.M.A.R.T مخفف Self-Monitoring Analysis and Reporting Technology است و اولین بار توسط شرکت IBM ابداع گردیده است. هدف از بوجود آوردن این سیستم، مانیتور وضعیت دیسک با استفاده از روشها و دستگاههای مختلف (سنسورها) است. برای مثال یک هارد دیسک ATA ممکن است حداکثر تا 30 مقدار بگیرد که به این مقادیر ویژگی یا attributes گفته میشود. ATA اینترفیسی است که هارد را به مادربورد متصل کرده و عملا یک تکنولوژی قدیمی محسوب میشود. بعضی از این ویژگیها به صورت مستقیم و بعضی به صورت غیرمستقیم بر روی وضعیت سلامت و سایر اطلاعات آماری دیسک تاثیر میگذارند.
تیم فنی پردیس پارس متشکل از مهندسین باتجربه در بخش مجازی سازی شبکه، خدمات شبکه تخصصی ارائه می کند. یکی از موارد بسیار مهم که همواره در پشتیبانی شبکه در دستور کار داریم مانیتورینگ سخت افزار بخصوص هاردهای سرور است که در اینجا و به قلم آقای اشکان پزشکی در خصوص مانیتورینگ و پیش بینی خرابی احتمالی هارد دیسک شما را با سیستم S.M.A.R.T آشنا می کنیم.
هدف از نوشتن این متن:
معرفی کاملی از استاندارد S.M.A.R.T و تاریخچه آن صورت گرفته است. آشنایی خواننده با ویژگی S.M.A.R.T ، این قابلیت چه ویژگیهایی و معایبی را به همراه دارد. توسط چه نرم افزاری میتوانیم از قابلیتهای معرفی شده استفاده نماییم و چگونه با مشکلات بوجود آمده برخورد کنیم. تمام مقادیر به کار رفته در نرم افزار به صورت کامل توضیح داده شده است.
دامنه کاربردی:
تمام افرادی که با هارددیسکها آشنایی ابتدایی داشته و توانایی نصب برنامه معرفی شده را دارند میتوانند از این مطلب استفاده کنند. همچنین علاقهمندان به استاندارد S.M.A.R.T و کسانی که به آشنایی بیشتر با روش های مختلف مانیتورینگ هارددیسکها علاقه مند هستند.
اگر بخواهیم تعریفی آکادمیک از این سیستم ارائه دهیم این طور بیان میکنیم که سیستم مانیتورینگی است که در هارد درایو کامپیوتر (HDD)، درایوهای حالت جامد (SSD) و درایوهای eMMC موجود بوده و عملکرد اصلی آن کشف و گزارش شاخصهای مختلف با هدف پیشبینی خرابیهای سخت افزاری است. وقتی S.M.A.R.T بر اساس نرم افزاریی که بر روی سیستم اجرا شده خرابی احتمالی هارددیسک را در آینده ای نزدیک پیش بینی میکند، کاربر از وضعیت آگاه شده پس میتواند اقدامات لازم جهت جلوگیری از بین رفتن اطلاعات را انجام و درایو خراب را جایگزین و یکپارچگی دادهها را حفظ نماید.
به طور کلی تمام هارددیسکهای جدید از قابلیت S.M.A.R.T بهره میبرند. اما این سیستم یک استاندارد کامل نیست. بنابراین معنی کردن دقیق ویژگیها از تولید کنندهای به تولید کنندهای دیگر متفاوت است. در این مقاله ما در مورد هارد دیسکهایی که ATA و IDE و Serial ATA هستند صحبت خواهیم کرد. طرز کار هارد دیسک های SCSI متفاوت است. در مورد پیشبینی خرابی دیتا استانداردهایی وجود دارد و قوانین سختگیرانهی در مورد الگوریتمها و سنسورهای آن وجود دارد. برای مثال، بین درجه حرارت واقعی و نتیجه اندازهگیری شده توسط سنسورها تفاوتی کمتر از 3-/+ درجه سانتیگراد وجود دارد.
ویژگیهای مختلفی برای تولیدکنندگان مورد استفاده قرار میگیرد. به همین دلیل میتوانیم درجه حرارت و برق مصرفی را برای بسیاری از هارددیسکها شناسایی کنیم. برنامههای جدید توانایی شناسایی، پروسس و نمایش این اطلاعات را دارند.
با توجه به خصوصیات S.M.A.R.T ،زمانی که مشکلی شناسایی میشود (خطا پیش بینی میشود) هارددیسک حداقل باید 24 ساعت کار کند تا از دیتاها نسخه پشتیبان تهیه گردد. اما در بسیاری موارد این زمان کافی نیست. در این شرایط زمان فاکتور بسیار مهم و ضروری بوده و به همین دلیل شناسایی مشکلات و آماده سازی قبل از دست دادن دیتا بسیار ضروری است.
مقادیر مورد استفاده در S.M.A.R.T:
وضعیت هارددیسک توسط بسیاری از سنسورها دائما مورد بررسی قرار میگیرد. مقدارهای اندازه گیری شده توسط الگوریتمهایی پردازش و ویژگیهای مرتبط مورد اصلاح قرار میگیرند.
ویژگی S.M.A.R.T فیلدهای زیر را دارند:
(Identifier (byte
بسیاری از ویژگیها معانی استانداردی دارند. (برای مثال 5 برابر است با تعداد سکتورهایی که مجددا اختصاص داده شدهاند. 194 برابر است با درجه حرارت) اکثر برنامهها نام و توضیحاتی را در مورد ویژگیها اعلام مینمایند.
(Data (6 bytes
مقدارهای خام اندازهگیری شده در این قسمت توسط یک سنسور و یا شمارنده تهیه و ذخیره میگردد. این دادهها توسط الگوریتمی که شرکت سازنده هارد دیسک ارائه کرده پردازش میشوند. بعضی اوقات قسمتهای مختلف (برای مثال، پایینتر، وسط و یا بالاتر از 16 بیت است) این مقادیر شامل انواع مختلفی از اطلاعات است.
(Threshold (byte
محدودیت مقدار خرابی برای ویژگی تعیین شده میباشد.
(Value (byte
ویژگی این بخش معیار “سلامت” هارددیسک است. این عدد توسط دادههای خام الگوریتمی محاسبه میشود. در هارددیسک های جدید این عدد مقدار بالایی دارد. (بیشینه علمی برای مثال 100، 200 یا 253 است) و این عدد در طول عمر دیسک کاهش پیدا میکند.
(Worst (byte
بدترین مقداری که در طول عمر پیشین هارد دیسک پیدا شده است.
Status flags
این بخش نمایش دهنده هدف اصلی ویژگی است. برای مثال خرابی را پیشبینی میکند و یا به صورت آماری (به صورت مستقیم بر روی شرایط تاثیرگذار نیست) وضعیتی را اعلام مینماید.
توجه داشته باشید ممکن است نرم افزاری که استفاده میکنید اطلاعات بیشتری را نمایش دهد و همین امر در ارزیابی مدیریت ویژگیها کمک شایانی نمایید.
ویژگی زمانی مورد قبول است که بزرگتر یا مساوی با آستانه تعریف شده باشد. اگر این مقدار برای یک ویژگی مهم، درست نباشد پیشبینی خرابی را خواهیم داشت و هارددیسک مشکلدار درنظر گرفته میشود و باید سریعا تعویض گردد. در این زمان شما میتوانید از طریق تولیدکننده یا فروشنده اقدام به تعویض هارددیسک خود نمایید و از گارانتی معتبر استفاده کنید. سعی کنید هارد دیسکهای خود را از مراکز معتبر و همراه با گارانتی تهیه نمایید.
در بایوس مادربوردهای جدید قبل از بوت شدن سیستم قابلیت S.M.A.R.T به صورت اخطاری به کاربر نمایش داده میشود. اگر آستانهی فعال سازی برای ویژگی با صفر برابر است بدین معناست که معیاری برای پیشبینی خطا وجود ندارد.
مشکلاتی که در S.M.A.R.T وجود دارد
مواردی که در بالا توضیح داده شد دارای نقاط ضعف بسیاری است. به همین دلیل در اکثر مواقع پیشبینی خطا درست کار نمیکند. مشکلات عمده شامل:
1- Incorrect threshold
به دلیل تعریف آستانه خطای نادرست مشکلات زیادی با S.M.A.R.T داریم، ویژگی امکانی برای رسیدن به آستانه تعریف شده ندارد. در بیشتر موارد ویژگیها قبل از رسیدن به نقطه تعریف شده failed میشوند. در چنین وضعیتی پیشبینی خطا توسط S.M.A.R.T با شکست مواجه میشود.
در عمل میتوانیم مقادیر غیرواقعی را پیدا کنیم. برای مثال در اغلب هارد دیسکها قبل از S.M.A.R.T هزاران بد سکتور(قابلیت خواندن و نوشتن در آنجا وجود ندارد) وجود دارد که مشکل را نمایش میدهند. این مشکلات در ظاهر به نظر بزرگ نمیرسند زیرا چیزی در حدود 1000 بدسکتور فقط معادل 512000 بایت از دیتا میشود ( این به معنای از دست دادن ظرفیت نیست به جای آن از فضای اسپیر استفاده میکنیم) اما نکته مهم این است که این بد سکتورها چطور ایجاد شدهاند و در کجا قرار دارند و نرخ افزایش آنها به چه صورت است. در مورد بدسکتورها در ادامه توضیحات کاملی داده شده است.
در بیشتر موارد، مشکلات زمانی سر باز میکنند که مدت زمان زیادی قبل از رسیدن به یک ویژگی آستانه تعریف شده شناسایی شود. برای مثال، وجود مشکلی عمده سبب میشود هزاران سکتور دیسک غیرقابل استفاده شود و همین امر سبب خرابی سطح بزرگتری بر روی دیسک میشود که از بازیابی اطلاعات در این قسمت جلوگیری میکند. ممکن است تجزیه و تحلیل ناحیه مشکلزا و ذخیره دیتا در فضای اسپیر نیاز به زمان زیادی داشته باشد و این احتمال وجود دارد که عملیات بدون خطا کامل نشود. در حین انجام این پروسه سیستم عامل با مشکلات زیادی روبرو میشود. هارد دیسکی که مشکل دارد باعث بیثباتی کامل سیستم شده و عملا استفاده از آن را غیرممکن مینماید.
حالا کمی در مورد مقادیر آستانه نادرست صحبت کنیم. برخی از تولیدکنندگان هارد دیسکها عمر این قطعات را 60 الی 70 سال یا حتی بیشتر اعلام میکنند. وقتی ویژگی مربوط بررسی میشود موضوع ابعاد تازهای پیدا میکند زیرا تولید کنندگان معمولا مدت زمان را در دفترچه راهنما 5 سال اعلام میکنند! هرچند، S.M.A.R.T با رسیدن به پایان عمر هارد دیسک هشداری نمیدهد زیرا این ویژگی مهم تلقی نمیگردد.
علاوه بر این مقدار آستانه برای بسیاری از ویژگیها صفر است. از آنجا که مقدار را زیر صفر نمیتوانیم در نظر بگیریم، این ویژگیها هرگز نشان دهنده خطا نیستند. پس بنابراین باز هم S.M.A.R.T نمیتواند اخطار درستی را اعلام کند.
گاهی اوقات ویژگیهای بسیار مهم بعنوان وضعیت بحرانی مشخص نمیشوند. این بدین معناست که برنامههای مانیتورینگ هارد دیسک و قابلیت S.M.A.R.T بایوسها به هیچ وجه این خصوصیتها را بررسی نمیکنند.
روش ارزیابی اشتباه
اغلب برنامهها از روشهای معرفی شده توسط تولیدکننده هارددیسکها استفاده میکنند تا صحت و سلامت دیسک را نمایش دهند. همین امر سبب میشود اکثر هارددیسکها بسیار بهتر از وضعیت واقعی خود به نظر برسند. ممکن است تولیدکننده هارددیسک برای نشان دادن برتری محصول خود نسبت به سایر رقبا، آستانهها و الگوریتمها را طوری تنظیم کند تا محصول خود را بهتر نشان دهد. همین امر سبب سردرگمی کاربران و برنامهها میشود. این امکان وجود دارد که کاربر برای مانیتورینگ هارددیسک خود از یک برنامه استفاده میکند اما قبل از نمایش هرگونه مشکلی برنامه از کار میافتد.
ارزش ویژگیها :
ویژگیهای مختلف بر سلامت دیسک تاثیر متفاوتی میگذارند. بعضی صفات (برای مثال، میزان چرخش) بسیار مهم هستند. تغییری کوچک در این ویژگی ممکن است مشکلی جدی را نمایش بدهد برای مثال موتور هارد دیسک بد کار کند اما این احتمال وجود دارد که جریان ضعیف برق باعث این مسئله شود.
برای چنین ویژگیهایی تولیدکنندگان اغلب از مقدار آستانه بالایی استفاده میکنند، بنابراین به راحتی میتوانیم به آنها دست پیدا کنیم.
مشکل دیگر نادیده گرفته شدن رابطه بین صفات است. این امکان وجود دارد که مقدارهایی به آستانه خود میرسند اما خطا پیشبینی نمیشود به این دلیل که هیچ مقداری به حد آستانه نرسیده است.
نبود بازخورد
بدون استفاده از نرم افراز مناسب که بتواند اطلاعات S.M.A.R.T را بخواند کاربر امکان مشاهده مشکلات در هارددیسکها را نخواهد داشت. فقط زمانی مشکلات نمایان میشود که کار از کار گذشته است. اگر بدسکتورها به آرامی افزایش پیدا کند (هارددیسک بعضی از سکتورهای مشکل دار را پیدا کرده و آنها را تست و جابجا میکند) ممکن است کاربر چیزی را احساس نکند. اما در طی فرآیند تخصیص مجدد به نظر میرسد سیستم عامل فریز شده است (عکس العملی ندارد) ممکن است کاربر در این زمان کامپیوتر را ریست یا خاموش کند. چنین کاری (قطع جریان) در روند بازیابی هارددیسک کمک شایانی نخواهد کرد. (این پروسه در زمان بعد دوباره شروع خواهد شد)
دما، مشکلات سنسور
بدون استفاده از نرم افزار، ممکن است کاربر متوجه دمای بالا هارددیسک نشود. همان طور که میدانیم پردازندهها و کارتهای گرافیکی جهت حفاظت از خود در برابر درجه حرارت بالا سیستم را خاموش میکنند اما هارددیسکها چنین قابلیتی ندارند. از این بدتر زمانی است که بدانیم هارددیسکها در برابر دمای بالا بسیار آسیبپذیر هستند. بیشتر تولیدکنندگان هارددیسک دمای مناسب جهت کارکرد را بین 50-55 درجه سانتیگراد اعلام میکنند.
اغلب بایوسها بررسی ولتاژ، سرعت فن، دمای CPU و … را انجام میدهند اما نظارت بر دمای هارددیسک جزو امکانات بایوس نیست. در بایوس قسمتی تعریف نشده تا اگر دمای هارددیسک بالا رفت هشداری ارسال شود. بنابراین دیسکهای سخت میتوانند در یک محیط بسیار گرم کار کنند.
باید به این نکته توجه داشته باشید بسیاری از سنسورهای دمای هارددیسک دقیق نیستند. (گاهی اوقات تفاوت بین دمای شناسایی شده و دمای واقعی بین 8 الی 10 درجه سانتیگراد متفاوت است). برای اندازهگیری دمای هارددیسک پیشنهاد میشود از یک دستگاه خارجی مثل دماسنج مادون قرمز استفاده نمایید.
توصیه میکنیم درجه حرارت هارددیسک را در زمانهای بیکاری و در شرایطی که به صورت طولانی در حال کار هستند مورد بررسی قرار دهید.
درایورهای زیادی برای کنترلر هارددیسکها وجود دارد که ممکن است ما به اشتباه آنها را نصب نماییم. با انجام این کار و نصب درایور اشتباه قابلیت S.M.A.R.T را غیرفعال میکنیم. معمولا این درایورها به صورت کاملا مستقل از نرم افزار هارددیسک وجود دارند. اما جهت دریافت اطلاعات مکانیزمی شبیه به یکدیگر دارند. توصیه میشود صحت و جزئیات اطلاعات مورد بررسی قرار گیرد.
معمولا درایور هارددیسکها تعداد محدودی از دستورات را پشتیبانی کرده و به همین دلیل بعضی از ویژگیها در تمام موارد کار نمیکند.
توصیه میکنیم اگر تولید کننده هارددیسک برای محصول خود پچ یا فریمور ارائه کرده حتما آنرا بروزرسانی کنید. این موارد وضعیت هارددیسک شما را بهبود میبخشد. اگر درایور هارددیسکی به صورت RAID و یا غیر RAID باشد خیلی مهم است که از درایور درست استفاده کنید. استفاده از سایر موارد باعث محدود شدن قابلیتها شده و اغلب دما و وضعیت سلامت هارددیسک درست نمایش داده نخواهد شد.
داده های نادرست یا سخت افزار غلط
بعضی از هارددیسکها یا مادربوردها قابلیت S.M.A.R.T را ندارند. مقادیر آستانه به صورت کامل برابر با صفر هستند. هارد دیسکهای متصل به این کنترلرها هیچ علامت خطایی را نشان نمیدهند. برنامهها در این شرایط وضعیت هارددیسک را عالی نشان میدهند زیرا مقدار تعریف شده از آستانه فاصله دارد.
این امکان وجود دارد که اطلاعات ارائه شده توسط کنترلر دیسک کامل نباشد. این وضعیت پیشبینی خرابیهای هارددیسک را تحت تاثیر قرار نمیدهد اما برخی از اطلاعات شناسایی و نمایش داده شده ممکن است صحیح نباشد.
بد سکتورهای بر روی دیسک
برای اغلب کاربران بد سکتور کلماتی ناشناخته است. بد سکتورها چطور ایجاد میشوند و چگونه میتوانیم آنها را از بین ببریم؟ وقتی از نرم افزارهایی مانند scandisk windows استفاده میکنید و هیچ بدسکتوری نمایش داده نمیشود دچار سردرگمی میشوید. S.M.A.R.T در حین انجام عملیات معمولی به صورت دائمی سطح دیسک را تحلیل میکند. اگر ناحیه مشکل داری پیدا شود ( یک یا چند سکتوری که خواندن و نوشتن دیتا در آنجا سخت است) سعی میکند دیتا را خوانده و در فضای خالی کپی نماید. محل اصلی به عنوان قسمت مشکلدار علامت گذاری میشود و عملیات بعدی خواندن و نوشتن به منطقه دیگری هدایت میشود.
به همین دلیل است که فرمان فرمت DOS در اکثر هارددیسکها بد سکتورها را نشان نمیدهد. مگر در شرایطی که فضای اضافی پر باشد.
تخصیص مجدد سکتورها ممکن است بدون خطا یا با بعضی خطاها همراه باشد (هارددیسک های جدید نسبت به هارددیسک های قدیمی خیلی بهتر شدهاند) رویه تخصیص مجدد ممکن است باعث بیثباتی در سیستم شود.
وقتی بد سکتورها به اندازه کافی افزایش پیدا کند و به مقدار آستانه تعریف شده (Threshold) برسد S.M.A.R.T خطای احتمالی را پیشبینی میکند.
راه حل
خرابی هارددیسکها بدون هیچ نشانه قبلی معمولا غیرممکن است مگر اینکه هارد ضربه فیزیکی ببیند. در نظر داشته باشید سقوط هارددیسک از دستان شما و ضربه فیزیکی توسط قابلیت S.M.A.R.T قابل پیشبینی نیست! البته در این شرایط میتوانیم بعضی از قسمتهایی را که دچار بدسکتور شدهاند را بازیابی کنیم اما ممکن است تعداد این بدسکتورها به آرامی گسترش پیدا کرده و یا درجه حرارت هارددیسک بالا برود که تمام این موارد سبب میشود که دیگر به آن هارد اعتماد نکنیم.
خیلی مهم است که از مقادیر آستانه انتخابی نادرست صرف نظر کرده و فقط مقادیر اندازه گیری شده خام را ارزیابی کنید همین امر سبب بروز مشکلات مختلف میشود. بهتر است ارتباط بین ویژگیهای مختلف نیز مورد بررسی قرار گیرد.
توصیه میکنیم بر اساس کاربرد واقعی هارددیسک، نحوه ارزیابی و وضعیت دیسک را انتخاب نمایید. به عنوان مثال، در صورتی که هارددیسک انتخابی شما برای یک سرور است پس اطلاعات بسیار مهمی بر روی آن دارید و باید به ازاء هر مشکلی حتی کوچک توجه ویژهای به آن داشته باشید.
برخی از برنامهها روشهای متفاوتی برای ارزیابی ارائه میدهند و در عین حال توضیحات کامل متنی را در مورد وضعیت فعلی و نکاتی پیرامون بهبود شرایط به نمایش میگذارند. اگر برنامه بتواند اخطارهایی مانند ارسال ایمیل، صدا و یا خاموش کردن کامپیوتر را فراهم نماید امکانات بسیار خوبی را در اختیار ما قرار میدهد حالا در نظر بگیرید این ویژگیها وجود نداشته باشد و هارددیسک در حال خراب شدن است و از طرفی عملیات تهیه نسخه پشتیبان هم آغاز میگردد! دقیقا شروع یک فاجعه کلید میخورد.
برنامه پیشنهادی ما که بسیار مفید بوده و تقریبا تمام شرایط معرفی شده در این مقاله را دارد برنامه Hard Disk Sentinel است که به راحتی میتوانید نسخه کامل آنرا از سایتهای ایرانی دانلود ونصب کرده و از تمام امکانات آن استفاده نمایید.