
بسیاری از کاربران، هارد دیسک مخصوص NAS را بر پایه اعتماد به توصیههای رایج خریداری میکنند؛ همانطور که در هر NAS معمولاً از مدلهای NAS یا Enterprise استفاده میشود. اما وقتی دلیل این توصیه را جویا میشویم، پاسخ اغلب به یک تایماوت (Timeout) در فریمور (Firmware) ختم میشود؛ تنظیمی که مشخص میکند یک درایو تا چه مدت برای خواندن یک سکتور معیوب (Bad Sector) تلاش مجدد میکند و در نهایت تسلیم میشود. این تنها مشخصه مهم درایوها نیست، اما هنگام استفاده از آرایه RAID اهمیت ویژهای پیدا میکند.
تایماوت فریمور با سه نام مختلف شناخته میشود
این تایماوت در درایوهای وسترن دیجیتال (Western Digital) با نام TLER، در سیگیت (Seagate) با نام ERC و در سامسونگ و هیتاچی با نام CCTL شناخته میشود. این مشخصه از سال ۲۰۰۹ و با معرفی درایو سروری RE4 وسترن دیجیتال روی برگه مشخصات (Spec Sheet) درایوها ظاهر شد و همچنان یکی از دلایل اصلی توصیه کارشناسان به خرید بهترین هاردهای مناسب NAS به جای ارزانترین گزینه موجود است.
درایو در زمان بیپاسخ ماندن چه میکند؟
تصور کنید یک درایو به سکتوری میرسد که نمیتواند آن را بهدرستی بخواند. یک درایو دسکتاپ بارها و بارها آن سکتور را بازخوانی میکند و تنظیمات را تغییر میدهد، زیرا فرض میکند تنها نسخه از دادههای کاربر را در اختیار دارد و تسلیم شدن به معنای از دست رفتن آن داده است. این رفتار برای یک درایو تنها در رایانه شخصی تصمیم درستی است و به همین دلیل درایوهای دسکتاپ بهصورت سنتی با این محدودیت غیرفعال عرضه میشوند.
صبر در درایو تنها یک فضیلت است، اما در RAID نتیجه معکوس دارد
در یک آرایه، همین سرسختی به ضرر کاربر تمام میشود. پس از راهاندازی RAID در NAS، نسخه دیگری از همان داده روی درایو دیگری قرار دارد و آرایه ترجیح میدهد سکتور را از آن درایو بازسازی کند تا اینکه منتظر بماند. کنترلرهای RAID سختافزاری درایویی را که بیش از حد مجاز متوقف بماند از آرایه حذف میکنند و لینوکس بهصورت پیشفرض ۳۰ ثانیه صبر میکند تا درایوی که ساکت شده را ریست کند. یک درایو با تایماوت محدود، زودتر تسلیم میشود، خطا را گزارش میدهد و اجازه میدهد آرایه آن را اصلاح کند؛ نتیجه، صرفهجویی در زمان و حفظ دادهها است.
نتیجه آزمایش: ۱۰ ثانیه، نه ۷ ثانیه
بیشتر توضیحات مربوط به TLER عدد ۷ ثانیه را نقل میکنند، زیرا درایوهای وسترن دیجیتال از همین مقدار استفاده میکنند. اما در یک NAS سینولوژی مدل DS1621xs+ که دو درایو سیگیت ST20000NM007D با فریمور SN01 در یک استخر RAID 1 اجرا میکند، نتیجه پرسوجو از ابزار smartctl متفاوت بود:
sudo smartctl -l scterc /dev/sde
هر دو درایو برای خواندن و نوشتن عدد ۱۰ ثانیه را بازگرداندند. این مقدار مشکلی ایجاد نمیکند، زیرا ۱۰ ثانیه همچنان بهراحتی در بازه ۳۰ ثانیهای لینوکس جای میگیرد و درایویی که پس از ۱۰ ثانیه تسلیم میشود، از آرایه بیرون انداخته نمیشود.
تغییر تایماوت با یک فرمان و ماندگاری آن پس از ریاستارت
برای آزمایش، از آنجا که هر دو درایو یک مدل و یک فریمور دارند، یکی از آنها بهعنوان نمونه کنترل در نظر گرفته شد. مقدار درایو sde به ۷ ثانیه تغییر کرد و درایو sdf دستنخورده ماند؛ با این نکته که smartctl بر مبنای دهم ثانیه شمارش میکند:
sudo smartctl -l scterc,70,70 /dev/sde
پس از یک ریاستارت (Reboot)، درایو sde همچنان ۷.۰ ثانیه و درایو sdf همچنان ۱۰.۰ ثانیه را نشان دادند. نتیجه این آزمایش بهصورت فهرست زیر است:
- درایو sde: تنظیم روی ۷.۰ ثانیه — پس از ریاستارت: ۷.۰ ثانیه
- درایو sdf: بدون تغییر — پس از ریاستارت: ۱۰.۰ ثانیه
هیچ گزینهای در سیستمعامل DSM سینولوژی یافت نشد که این مقدار را تعیین کند، بنابراین ۱۰ ثانیه بهعنوان مقدار پیشفرض کارخانه در نظر گرفته میشود؛ هرچند این یک استنباط بر پایه جستوجو در چند مسیر است و نه یک اثبات قطعی. همچنین ریاستارت با قطع کامل برق متفاوت است و نمیتوان تضمین کرد که این تنظیم پس از خاموشی سختافزاری حفظ شود. نکته مهمتر آن است که هر ماشین مبتنی بر لینوکس میتواند این تایماوت را ویرایش کند، به شرطی که درایو از آن پشتیبانی کند.
برچسب NAS تضمینکننده نیست
برخی درایوهای دسکتاپ اصلاً از این قابلیت پشتیبانی نمیکنند و برخی درایوهای NAS نیز در عمل دچار مشکل میشوند. در توضیحات رسمی سیگیت، قابلیت ERC در درایوهای رده دسکتاپ در دسترس نیست و روی درایویی که این قابلیت را ندارد، smartctl بهسادگی گزارش میدهد که فرمان پشتیبانی نمیشود. در این حالت تنها راهحل جایگزین، افزایش زمان انتظار لینوکس است؛ راهنمای مرتبط مقدار ۱۸۰ ثانیه را پیشنهاد میکند تا تلاشهای طولانی یک درایو دسکتاپ باعث ریست شدن آن نشود.
برچسب NAS نیز تضمین قطعی نیست. درایوها بهصورت بیسروصدا شیوه نوشتن داده را تغییر دادند و مدلهای WD Red EFAX مشخص شد که از نوع SMR مدیریتشده توسط خود درایو هستند؛ مدلهایی که وبسایت ServeTheHome آنها را در میانه یک عملیات بازسازی ZFS (ZFS Resilver) در وضعیت دشوار مشاهده کرد. یک درایو میتواند تایماوت کاملاً منطقی داشته باشد و باز هم فرایند بازسازی را متوقف کند؛ بنابراین این تایماوت تنها یک سطر از برگه مشخصات است که ارزش خواندن دارد.
جمعبندی: هزینه برای قابلیت، نه فقط برای برچسب
درایوهای مورد بررسی با یک محدودیت منطقی عرضه شده بودند، مقدار جدید را در چند ثانیه پذیرفتند و آن را به خاطر سپردند. این موضوع تمام اختلاف قیمت را توضیح نمیدهد، اما یک قابلیت واقعی است و داشتن درایویی که آن را ارائه میدهد، ترجیح داده میشود. تنها دو دقیقه کار با SSH کافی است تا مشخص شود درایوهای شما در چه وضعیتی قرار دارند؛ بنابراین پیش از آنکه به دانستن این اطلاعات نیاز پیدا کنید، فرمان خواندن را روی هر درایو اجرا کنید. در همین حین، شاخصهای S.M.A.R.T. را نیز بررسی کنید؛ همان شاخصهایی که واقعاً خرابی درایو را پیشبینی میکنند. و اگر درایویی اعلام کرد که از این فرمان پشتیبانی نمیکند، بهتر است این موضوع را همین حالا بفهمید، نه در میانه یک عملیات بازسازی آرایه.