| SMARTD.CONF(5) | SMART Monitoring Tools | SMARTD.CONF(5) |
نام (NAME)
smartd.conf - پرونده پیکربندی دیمن پایش دیسک SMART
توضیحات (DESCRIPTION)
[این صفحه راهنما برای نسخه لینوکسی smartmontools تولید شده است. حاوی اطلاعات ویژه سایر سیستمعاملها نیست.]
پرونده /etc/smartd.conf پرونده پیکربندی دیمن smartd است.
اگر پرونده پیکربندی /etc/smartd.conf موجود باشد، smartd در هنگام راهاندازی آن را میخواند. اگر smartd متعاقباً سیگنال HUP دریافت کند، پرونده پیکربندی را مجدداً خواهد خواند. اگر smartd در حالت اشکالزدایی در حال اجرا باشد، سیگنال INT نیز باعث بازخوانی پرونده پیکربندی میشود. این سیگنال را میتوان با فشردن <CONTROL-C> در پنجره ترمینالی که smartd در آن اجرا میشود، تولید کرد.
در صورت عدم وجود پرونده پیکربندی، smartd تلاش میکند تمام دستگاههای در دسترس را باز کند (صفحه راهنمای smartd(8) را ببینید). پرونده پیکربندی با یک خط منفرد 'DEVICESCAN -a' اثر یکسانی خواهد داشت.
اگر یک دستگاه ATA یا SCSI داشته باشید که هنگام دریافت دستورات SMART متوقف شده یا رفتار نادرستی نشان میدهد، این امر میتواند آزاردهنده باشد. حتی اگر مشکلی ایجاد نکند، رشته پیامهای گزارش خطا درباره دستگاههایی که باز نمیشوند ممکن است ناخوشایند باشد.
با استفاده از پرونده پیکربندی /etc/smartd.conf میتوان از این مشکل جلوگیری کرد و کنترل بیشتری بر انواع رویدادهای پایششده توسط smartd به دست آورد. این پرونده شامل فهرستی از دستگاههای تحت پایش است، با یک دستگاه در هر خط. یک پرونده نمونه به همراه توزیع smartmontools ارائه شده است. این پرونده نمونه را در مسیر /usr/share/doc/smartmontools/ خواهید یافت. برای امنیت، پرونده پیکربندی نباید توسط کسی به جز ریشه (root) قابل نوشتن باشد. ساختار نگارشی این پرونده به صورت زیر است:
- در هر خط باید یک دستگاه درج شود، اگرچه میتوانید خطوطی داشته باشید که کاملاً توضیح (کامنت) یا فضای خالی باشند.
- هر متنی که پس از علامت هش '#' تا انتهای خط بیاید، به عنوان توضیح در نظر گرفته شده و نادیده گرفته میشود.
- خطوط را میتوان با قرار دادن یک بکاسلش '\' به عنوان آخرین مورد غیرفاصله و غیرتوضیح در یک خط ادامه داد.
- نکته: خطی که اولین نویسه آن علامت هش '#' باشد به عنوان یک خط خالی با فاصله سفید در نظر گرفته میشود، نه یک خط ناموجود، و خط ادامهدار را پایان میدهد.
در اینجا یک پرونده پیکربندی نمونه آورده شده است. این تنها برای اهداف نمایشی است؛ لطفاً آن را بدون خواندن بخش دستورالعملها (DIRECTIVES) در ادامه، در سیستم خود رونوشت نکنید!
################################################ # این یک نمونه پرونده پیکربندی شروع به کار smartd است # /etc/smartd.conf # # روی دیسک دوم، اجرای یک خودآزمایی طولانی در هر # یکشنبه بین ساعت ۳ تا ۴ صبح. # /dev/sda -a -m admin@example.com,root@localhost /dev/sdb -a -I 194 -I 5 -i 12 -s L/../../7/03 # # ارسال یک ایمیل هشدار آزمایشی به مدیر در هنگام راهاندازی. # /dev/sdc -m admin@example.com -M test # # دیسک ATA ممکن است به صورت یک دستگاه SCSI در سیستمعامل # ظاهر شود. اگر لایه ترجمه SCSI به ATA (SAT) بین # سیستمعامل و دستگاه قرار دارد، با گزینه '-d sat' مشخص میشود. /dev/sda -a -d sat # # دیسکهای متصل به کنترلر MegaRAID # شروع خودآزماییهای کوتاه روزانه بین ۱-۲، ۲-۳ و # ۳-۴ صبح. # لینوکس: /dev/sda -d megaraid,0 -a -s S/../.././01 /dev/sda -d megaraid,1 -a -s S/../.././02 /dev/sda -d megaraid,2 -a -s S/../.././03 /dev/bus/0 -d megaraid,2 -a -s S/../.././03 # # سه دیسک متصل به کنترلر AacRaid # شروع خودآزماییهای کوتاه روزانه بین ۱-۲، ۲-۳ و # ۳-۴ صبح. /dev/sda -d aacraid,0,0,66 -a -s S/../.././01 /dev/sda -d aacraid,0,0,67 -a -s S/../.././02 /dev/sda -d aacraid,0,0,68 -a -s S/../.././03 # # دو دیسک SATA (نه SAS) روی یک کنترلر 3ware 9750. # شروع خودآزماییهای طولانی در یکشنبهها بین نیمهشب تا # ۱ صبح و ۲-۳ صبح. # در لینوکس /dev/twl0 -d 3ware,0 -a -s L/../../7/00 /dev/twl0 -d 3ware,1 -a -s L/../../7/02 # # دو دیسک متصل به اولین کنترلر HP SmartArray # که از درایور cciss لینوکس استفاده میکند. شروع خودآزماییهای # طولانی در شبهای یکشنبه و خودآزماییهای کوتاه در هر شب # و ارسال خطاها به root. /dev/sda -d cciss,0 -a -s (L/../../7/02|S/../.././02) -m root /dev/sda -d cciss,1 -a -s (L/../../7/03|S/../.././03) -m root # # سه دیسک SATA روی کنترلر HighPoint RocketRAID. # شروع خودآزماییهای کوتاه روزانه بین ۱-۲، ۲-۳ و # ۳-۴ صبح. # در لینوکس /dev/sde -d hpt,1/1 -a -s S/../.././01 /dev/sde -d hpt,1/2 -a -s S/../.././02 /dev/sde -d hpt,1/3 -a -s S/../.././03 # # دو دیسک SATA متصل به HighPoint RocketRAID # از طریق دستگاه pmport. شروع خودآزماییهای طولانی یکشنبهها # بین نیمهشب تا ۱ صبح و ۲-۳ صبح. # در لینوکس /dev/sde -d hpt,1/4/1 -a -s L/../../7/00 /dev/sde -d hpt,1/4/2 -a -s L/../../7/02 # # سه دیسک SATA متصل به کنترلر # Areca RAID. شروع خودآزماییهای طولانی یکشنبهها # بین نیمهشب تا ۳ صبح. # در لینوکس /dev/sg2 -d areca,1 -a -s L/../../7/00 /dev/sg2 -d areca,2 -a -s L/../../7/01 /dev/sg2 -d areca,3 -a -s L/../../7/02 # # خط زیر پایش گزارش خطای ATA و گزارش خطای خودآزمایی را فعال میکند. # همچنین تغییرات در هر دو مشخصه Prefailure و Usage را به جز # مشخصههای ۹، ۱۹۴ و ۲۳۱ ردیابی کرده و خطوط ادامهدار را نشان میدهد: # /dev/sdd -l error \ -l selftest \ -t \ # مشخصههایی که ردیابی نمیشوند: -I 194 \ # دما -I 231 \ # همچنین دما -I 9 # ساعتهای کارکرد دستگاه (power-on hours) # ################################################
پویش دیسکها (DEVICESCAN)
اگر یک ورودی غیرتوضیحی در پرونده پیکربندی، رشته متنی DEVICESCAN با حروف بزرگ باشد، آنگاه smartd هرگونه خط باقیمانده در پرونده پیکربندی را نادیده گرفته و برای یافتن دستگاهها پویش انجام میدهد. اگر پس از DEVICESCAN هیچ دستورالعملی ذکر نشود، آنگاه '-a' برای تمام دستگاهها اعمال خواهد شد.
به طور اختیاری میتوان پس از DEVICESCAN دستورالعملهایی قرار داد که برای تمامی دستگاههای یافتشده در طول پویش اعمال گردند. برای مثال:
DEVICESCAN -m root@example.com
برای تمام دستگاهها پویش انجام داده و سپس آنها را پایش میکند. برای هر مشکلی که یافت شود، یک ایمیل هشدار به ازای هر دستگاه ارسال خواهد کرد.
DEVICESCAN -H -m root@example.com
همان کار را انجام میدهد، اما تنها وضعیت سلامت SMART دستگاهها را پایش میکند، به جای حالت پیشفرض '-a'.
میتوان چندین گزینه '-d TYPE' را با DEVICESCAN مشخص کرد تا نتایج پویش بیش از یک نوع TYPE با یکدیگر ترکیب شوند.
ورودیهای پیکربندی برای دستگاههای خاص میتوانند پیش از ورودی DEVICESCAN بیایند. برای مثال:
DEFAULT -m root@example.com /dev/sda -s S/../.././02 /dev/sdc -d ignore DEVICESCAN -s L/../.././02
تمام دستگاهها به جز /dev/sda و /dev/sdc را پویش کرده، آنها را پایش میکند و هر روز صبح بین ساعت ۲ تا ۳ یک آزمایش طولانی اجرا مینماید. دستگاه /dev/sda نیز پایش خواهد شد، اما تنها یک آزمایش کوتاه اجرا میشود. دستگاه /dev/sdc نادیده گرفته خواهد شد. ایمیلهای هشدار برای تمام دستگاههای تحت پایش ارسال خواهد شد.
اگر خطی از پیکربندی با همان نام دستگاه وجود داشته باشد، دستگاه توسط DEVICESCAN نادیده گرفته میشود. پیوندهای نمادین پیش از انجام این بررسی حل میشوند. همچنین اگر دستگاه دیگری با اطلاعات شناسایی یکسان (سازنده، مدل، نسخه میانافزار، شماره سریال، WWN) از قبل موجود باشد، نام دستگاه نادیده گرفته میشود.
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] اگر دستگاهی تنها از یک فضای نام (Namespace) منفرد پشتیبانی کند و خط پیکربندی که به شناسه فضای نام آن اشاره دارد از قبل موجود باشد، نتیجه DEVICESCAN که به یک فضای نام اشاره نمیکند نیز نادیده گرفته میشود (و بالعکس).
تنظیمات پیشفرض (DEFAULT SETTINGS)
اگر ورودیای در پرونده پیکربندی به جای نام دستگاه با DEFAULT آغاز شود، تمام دستورالعملهای موجود در این ورودی به عنوان مقادیر پیشفرض برای ورودیهای دستگاههای بعدی تنظیم میشوند.
پیکربندی زیر:
DEFAULT -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sda /dev/sdb /dev/sdc DEFAULT -H -m admin@example.com /dev/sdd /dev/sde -d removable
اثری یکسان با پیکربندی زیر دارد:
/dev/sda -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sdb -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sdc -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sdd -H -m admin@example.com /dev/sde -d removable -H -m admin@example.com
دستورالعملهای پرونده پیکربندی (CONFIGURATION FILE DIRECTIVES)
موارد زیر دستورالعملهایی هستند که ممکن است پس از نام دستگاه، DEVICESCAN یا DEFAULT در هر خطی از پرونده پیکربندی /etc/smartd.conf ظاهر شوند. توجه داشته باشید که اینها گزینههای خط فرمان برای smartd نیستند. دستورالعملهای زیر ممکن است به هر ترتیبی، پس از نام دستگاه قرار گیرند.
اگر هیچ دستورالعملی مشخص نشود، دستگاه به گونهای پایش خواهد شد که گویی دستورالعمل '-a' داده شده است.
- -d TYPE
- نوع دستگاه
را مشخص
میکند.
آرگومانهای
معتبر برای
این
دستورالعمل
عبارتند از:
auto - تلاش برای حدس زدن نوع دستگاه از روی نام دستگاه، یا از روی اطلاعات نوع کنترلر ارائهشده توسط سیستمعامل، یا از روی ورودی شناسه USB منطبق در پایگاهداده دیسکها. این حالت پیشفرض است.
ata - نوع دستگاه ATA است. این امر مانع از ارسال دستورات SCSI به یک دستگاه ATA توسط smartd میشود.
scsi - نوع دستگاه SCSI است. این امر مانع از ارسال دستورات ATA به یک دستگاه SCSI توسط smartd میشود.
nvme[,NSID] - نوع دستگاه NVM Express (NVMe) است. پارامتر اختیاری NSID شناسه فضای نام (به هگزادسیمال) ارسالشده به درایور را مشخص میکند. برای شناسه فضای نام همگانی (Broadcast) از 0xffffffff استفاده کنید. مقدار پیشفرض برای NSID همان شناسه فضای نامی است که توسط نام دستگاه نشانیدهی شده است.
sat[,auto][,N] - نوع دستگاه ترجمه SCSI به ATA (SAT) است. این گزینه برای دیسکهای ATA است که دارای یک لایه ترجمه SCSI به ATA (SATL) میان دیسک و سیستمعامل هستند. استاندارد SAT دو دستور SCSI عبور مستقیم (PASS THROUGH) برای ATA تعریف میکند، یکی با طول ۱۲ بایت و دیگری با طول ۱۶ بایت. حالت پیشفرض نوع ۱۶ بایتی است که میتوان آن را با '-d sat,12' یا '-d sat,16' لغو و بازنویسی کرد.
اگر '-d sat,auto' مشخص شود، نوع دستگاه SAT (برای دیسکهای ATA/SATA) تنها در صورتی استفاده میشود که دادههای استعلام SCSI INQUIRY وجود یک SATL را گزارش کنند (سازنده: "ATA "). در غیر این صورت از نوع دستگاه SCSI (برای دیسکهای SCSI/SAS) استفاده میشود.
usbasm1352r,PORT - [ویژگی آزمایشی جدید SMARTD 7.4] این نوع دستگاه برای یک یا دو دیسک SATA پشت یک پل USB به SATA (RAID) مدل ASMedia ASM1352R است. پارامتر PORT (مقدار 0 یا 1) دیسک مورد نظر برای پایش را انتخاب میکند.
نکته: این پل USB از '-d sat' نیز پشتیبانی میکند. این گزینه نخستین دیسک را پایش میکند یا در صورت عدم اتصال دیسک به درگاه نخست، دیسک دوم را پایش مینماید.usbcypress - این نوع دستگاه برای دیسکهای ATA پشت یک پل USB به PATA مدل Cypress است. این گزینه از دستور عبور مستقیم اختصاصی scsi به نام ATACB استفاده میکند. کد عملیاتی پیشفرض SCSI مقدار 0x24 است، اما با اینکه میتوان آن را با '-d usbcypress,0xN' بازنویسی کرد (که در آن N کد عملیاتی scsi است)، خطر آسیب رساندن به دستگاه یا سیستمهای فایل روی آن وجود دارد.
usbjmicron[,p][,x][,PORT] - این نوع دستگاه برای دیسکهای SATA پشت یک پل USB به PATA/SATA مدل JMicron است. دستورات ۴۸ بیتی ATA (که برای نمونه برای '-l xerror' لازم هستند، بخش زیر را ببینید) با تمام این پلها کار نمیکنند و بنابراین به صورت پیشفرض غیرفعال هستند. این دستورات را میتوان با '-d usbjmicron,x' فعال کرد. اگر دو دیسک به یک پل با دو درگاه متصل باشند، در صورت عدم تعیین PORT (مقدار 0 یا 1)، یک پیام خطا چاپ میشود.
اگر دستگاه از یک تکثیرکننده درگاه (Port Multiplier) برای اتصال چندین دیسک به یک درگاه استفاده کند، نیازی به پارامتر PORT نیست. در این حالت دیسکها با نامهای مجزای /dev ظاهر میشوند.
احتیاط: تعیین ',x' برای دستگاهی که از آن پشتیبانی نمیکند منجر به خطاهای ورودی/خروجی شده و ممکن است اتصال دیسک را قطع کند. همین امر در صورتی که PORT مشخصشده وجود نداشته باشد یا به دیسکی متصل نباشد نیز صدق میکند.پلهای USB مدل Prolific PL2507/3507 با میانافزار قدیمیتر از دستوری مشابه JMicron برای عبور مستقیم پشتیبانی کرده و با '-d usbjmicron,0' کار میکنند. میانافزارهای جدیدتر Prolific نیازمند دستوری تغییریافته هستند که میتوان آن را با '-d usbjmicron,p' انتخاب کرد. توجه داشته باشید که این گزینه هنوز از دستور وضعیت SMART پشتیبانی نمیکند.
usbprolific - این نوع دستگاه برای دیسکهای SATA پشت یک پل USB به SATA مدل Prolific PL2571/2771/2773/2775 است.
usbsunplus - این نوع دستگاه برای دیسکهای SATA پشت یک پل USB به SATA مدل SunplusIT است.
sntasmedia[/sat] - این نوع دستگاه برای دیسکهای NVMe پشت یک پل USB به NVMe مدل ASMedia است.
[ویژگی آزمایشی جدید SMARTD 7.5] اگر پسوند '/sat' مشخص شود و دستور شناسایی کنترلر NVMe با شکست مواجه گردد، نوع دستگاه به '-d sat' تغییر مییابد. این قابلیت برای آداپتورهای USB M.2 که هم از دستگاههای NVMe و هم SATA پشتیبانی میکنند بسیار مفید است.sntjmicron[,NSID][/sat] - این نوع دستگاه برای دیسکهای NVMe پشت یک پل USB به NVMe مدل JMicron است. پارامتر اختیاری NSID شناسه فضای نام (به هگزادسیمال) ارسالی به درایور را مشخص میکند. شناسه پیشفرض فضای نام، شناسه همگانی (0xffffffff) است. همچنین برای پسوند '/sat' توضیحات '-d sntasmedia' را ببینید.
sntrealtek[/sat] - این نوع دستگاه برای دیسکهای NVMe پشت یک پل USB به NVMe مدل Realtek است. همچنین برای پسوند '/sat' توضیحات '-d sntasmedia' را ببینید.
marvell - [فقط لینوکس] (منسوخ شده و در آستانه حذف).
megaraid,N - [فقط FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک SCSI/SAS متصل به یک کنترلر MegaRAID است. عدد صحیح غیرمنفی N (در محدوده ۰ تا ۱۲۷ شامل هر دو) نشان میدهد کدام دیسک روی کنترلر پایش میشود. این واسط برای کنترلرهای Dell PERC نیز کار خواهد کرد. در فایلهای گزارش و پیامهای ایمیل، این دیسک به عنوان megaraid_disk_XXX با XXX در محدوده 000 تا 127 شناسایی خواهد شد. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.
aacraid,H,L,ID - [فقط لینوکس، ویندوز و Cygwin] دستگاه شامل یک یا چند دیسک SCSI/SAS یا SATA متصل به یک کنترلر AacRaid است. اعداد صحیح غیرمنفی H,L,ID (شماره میزبان، Lun، و ID) نشان میدهند کدام دیسک روی کنترلر پایش میشود. در فایلهای گزارش و پیامهای ایمیل این دیسک به صورت aacraid_disk_HH_LL_ID شناسایی میشود. لطفاً برای جزئیات بیشتر به صفحه راهنمای smartctl(8) مراجعه فرمایید.
3ware,N - [فقط FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک ATA متصل به کنترلر 3ware RAID است. عدد صحیح غیرمنفی N (در محدوده ۰ تا ۱۲۷ شامل هر دو) نشان میدهد کدام دیسک روی کنترلر پایش میشود. در فایلهای گزارش و پیامهای ایمیل، این دیسک به عنوان 3ware_disk_XXX با XXX در محدوده 000 تا 127 شناسایی خواهد شد.
توجه داشته باشید که اگرچه میتوانید از هر یک از دستگاههای منطقی SCSI سری 3ware در مسیر /dev/tw* برای نشانیدهی به هر یک از دیسکهای فیزیکی (درگاههای 3ware) استفاده کنید، اما پیامهای خطا و گزارشها در صورتی بیشترین وضوح را خواهند داشت که همواره دستگاه منطقی SCSI سری 3ware متناظر با همان دیسک فیزیکی خاص را درج فرمایید. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.
areca,N - [فقط FreeBSD، لینوکس، ویندوز و Cygwin] دستگاه شامل یک یا چند دیسک SATA متصل به کنترلر Areca SATA RAID است. عدد صحیح مثبت N (در محدوده ۱ تا ۲۴ شامل هر دو) نشان میدهد کدام دیسک روی کنترلر پایش میشود. در فایلهای گزارش و پیامهای ایمیل، این دیسک به صورت areca_disk_XX با XX در محدوده 01 تا 24 شناسایی خواهد شد. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.
areca,N/E - [فقط FreeBSD، لینوکس، ویندوز و Cygwin] دستگاه شامل یک یا چند دیسک SATA یا SAS متصل به کنترلر Areca SAS RAID است. عدد صحیح N (محدوده ۱ تا ۱۲۸) کانال (اسلات) و E (محدوده ۱ تا ۸) محفظه (Enclosure) را نشان میدهد. مهم: این قابلیت نیازمند میانافزار نسخه 1.51 یا جدیدتر برای کنترلر Areca SAS است.
cciss,N - [فقط FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک SCSI/SAS یا SATA متصل به کنترلر cciss RAID است. عدد صحیح غیرمنفی N (در محدوده ۰ تا ۱۲۷ شامل هر دو) مشخص میکند کدام دیسک روی کنترلر پایش میشود. در فایلهای گزارش و پیامهای ایمیل، این دیسک به صورت cciss_disk_XX با XX در محدوده 00 تا 127 شناسایی خواهد شد. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.
hpt,L/M/N - [فقط FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک ATA متصل به کنترلر HighPoint RocketRAID است. عدد صحیح L شناسه کنترلر، عدد صحیح M شماره کانال، و عدد صحیح N شماره PMPort در صورت موجود بودن است. مقادیر مجاز L از ۱ تا ۴، برای M از ۱ تا ۱۲۸ و برای N در صورت وجود PMPort از ۱ تا ۴ است. همچنین این مقادیر با مدل کنترلر HighPoint RocketRAID محدود میشوند. در فایلهای گزارش و پیامهای ایمیل، این دیسک به صورت hpt_X/X/X شناسایی خواهد شد و X/X/X همانند L/M/N است؛ توجه داشته باشید که اگر N مشخص نشود، N روی مقدار پیشفرض ۱ تنظیم میشود. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.
sssraid,E,S - [فقط لینوکس: ویژگی آزمایشی جدید SMARTD 7.4] دستگاه شامل یک یا چند دیسک SCSI/SAS یا SATA متصل به یک کنترلر SSSRAID است. عدد صحیح غیرمنفی E (در محدوده ۰ تا ۸) محفظه و S (محدوده ۰ تا ۱۲۸) اسلات را نشان میدهد. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.
intelliprop,N[+TYPE] - (منسوخ شده و در آستانه حذف).
jmb39x[-q[2]],N[,sLBA][,force][+TYPE] - دستگاه شامل چندین دیسک SATA متصل به یک تکثیرکننده درگاه JMicron JMB39x RAID است. پسوند '-q' نوع متفاوتی از دستور را که توسط دستگاههای ذخیرهساز تحت شبکه (NAS) مدل QNAP TR-004 استفاده میشود، انتخاب میکند. عدد صحیح N شماره درگاه از 0 تا 4 است.
[ویژگی آزمایشی جدید SMARTD 7.5] پسوند '-q2' نوع دیگری از دستور را که توسط دستگاههای ذخیرهساز متصل به شبکه QNAP TR-002 استفاده میشود، انتخاب مینماید. لطفاً برای جزئیات بیشتر صفحه راهنمای smartctl(8) را ببینید.jms56x,N[,sLBA][,force][+TYPE] - دستگاه شامل چندین دیسک SATA متصل به یک پل JMicron JMS56x USB به SATA RAID است. برای آرگومانهای معتبر به 'jmb39x...' در بالا مراجعه کنید.
ignore - دستگاه مشخصشده توسط این ورودی پیکربندی باید نادیده گرفته شود. این امر به کاربر اجازه میدهد دستگاههای خاصی را که توسط خط پیکربندی بعدی DEVICESCAN شناسایی میشوند نادیده بگیرد. همچنین میتواند برای غیرفعال کردن موقت ورودیهای پیکربندی چندخطی طولانیتر استفاده شود. این دستورالعمل را میتوان در ترکیب با سایر دستورالعملهای '-d' استفاده کرد.
removable - دستگاه یا رسانه آن جداشدنی است. این موضوع به smartd نشان میدهد که اگر دستگاه در هنگام راهاندازی smartd موجود نباشد، باید به کار خود ادامه دهد (به جای خروج، که رفتار پیشفرض است). این دستورالعمل همچنین در صورتی که دستگاه پس از راهاندازی برداشته شود، از ارسال ایمیلهای هشدار و پیامهای مکرر گزارش جلوگیری میکند. این دستورالعمل میتواند در ترکیب با سایر دستورالعملهای '-d' استفاده شود.
هشدار: جدا کردن یک دستگاه و اتصال دستگاهی دیگر به همان واسط پشتیبانی نمیشود و ممکن است تا زمان راهاندازی مجدد smartd منجر به هشدارهای نادرست گردد. - -n POWERMODE[,N][,q]
- [فقط ATA] این
دستورالعمل
'nocheck' برای
جلوگیری از
به چرخش
درآمدن (Spin-up)
دیسک در
هنگام
نظرسنجی
دورهای
توسط smartd به
کار میرود.
دیسکهای ATA دارای پنج وضعیت مصرف توان متفاوت هستند. به ترتیب افزایش مصرف توان، عبارتند از: 'OFF'، 'SLEEP'، 'STANDBY'، 'IDLE' و 'ACTIVE'. معمولاً در حالتهای OFF، SLEEP و STANDBY، صفحات دیسک در حال چرخش نیستند. اما معمولاً در پاسخ به دستورات SMART صادرشده توسط smartd، صفحات دیسک به چرخش درمیآیند. بنابراین اگر از این گزینه استفاده نشود، دیسکی که در وضعیت کممصرف قرار دارد ممکن است هنگام نظرسنجی دورهای توسط smartd به چرخش درآمده و به وضعیتی با مصرف توان بالاتر برود.
توجه داشته باشید که اگر دیسک در هنگام شروع به کار smartd در وضعیت SLEEP باشد، به دستورات smartd پاسخ نخواهد داد و بنابراین دیسک به عنوان دستگاهی تحت پایش برای smartd ثبت نخواهد شد. اگر دیسک در هر وضعیت کممصرف دیگری باشد، دستورات صادرشده توسط smartd برای ثبت دیسک احتمالاً باعث به چرخش درآمدن آن خواهد شد.
دستورالعمل '-n' (nocheck) مشخص میکند که آیا بررسیهای دورهای smartd در زمانی که دستگاه در حالت کممصرف قرار دارد همچنان باید انجام شوند یا خیر. این گزینه میتواند برای جلوگیری از به چرخش درآمدن دیسک با نظرسنجی دورهای smartd استفاده شود. مقادیر مجاز برای POWERMODE عبارتند از:
never - دیمن smartd بدون توجه به وضعیت توان دستگاه، آن را نظرسنجی (بررسی) میکند. این امر ممکن است باعث شود دیسکی که خاموش است (اسپینداون شده) هنگام بررسی توسط smartd به چرخش درآید. این رفتار پیشفرض در صورت عدم ذکر دستورالعمل '-n' است.
sleep - بررسی دستگاه، مگر اینکه در وضعیت SLEEP باشد.
standby - بررسی دستگاه، مگر اینکه در وضعیت SLEEP یا STANDBY باشد. در این حالتها بیشتر دیسکها در حال چرخش نیستند، بنابراین اگر میخواهید از به چرخش درآمدن دیسک لپتاپ در هر بار نظرسنجی smartd جلوگیری کنید، احتمالاً این گزینه مورد نظر شماست.
idle - بررسی دستگاه، مگر اینکه در وضعیت SLEEP، STANDBY یا IDLE باشد. در وضعیت IDLE، بیشتر دیسکها همچنان در حال چرخش هستند، بنابراین این گزینه احتمالاً آن چیزی نیست که میخواهید.
حداکثر تعداد بررسیهای صرفنظرشده (پشت سر هم) را میتوان با افزودن عدد مثبت ',N' به POWERMODE مشخص کرد (مانند '-n standby,15'). پس از آنکه N بررسی پیاپی نادیده گرفته شد، وضعیت توان نادیده گرفته شده و بررسی در هر صورت انجام میشود.
هنگامی که از یک آزمایش دورهای صرفنظر میشود، smartd به طور معمول یک پیام گزارش غیررسمی مینویسد. میتوان این پیام را با افزودن گزینه ',q' به POWERMODE سرکوب کرد (مانند '-n standby,q'). این امر از به چرخش درآمدن دیسک لپتاپ به دلیل این پیام جلوگیری مینماید.
هر دو گزینه ',N' و ',q' میتوانند با یکدیگر مشخص شوند.
- -T TYPE
- میزان
مدارا و
شکیبایی smartd
در برابر
خرابی و
شکست
دستورات SMART
را مشخص
میکند.
آرگومانهای
معتبر برای
این
دستورالعمل
عبارتند از:
normal - اگر یک دستور اجباری SMART شکست بخورد، سعی نکن دیسک را پایش کنی، اما در صورت شکست دستور اختیاری SMART ادامه بده. این حالت پیشفرض است.
permissive - سعی کن دیسک را پایش کنی حتی اگر به نظر برسد فاقد قابلیتهای SMART است. این ممکن است برای برخی دیسکهای قدیمی (پیش از ATA-3 ویرایش 4) که پیش از گنجانده شدن استانداردهای SMART در مشخصات ATA/ATAPI، قابلیت SMART را پیادهسازی کرده بودند لازم باشد. [لطفاً گزینه خط فرمان smartctl -T را ببینید.]
- -o VALUE
- [فقط ATA] در
هنگام
راهاندازی
smartd، آزمایش
خودکار
برونخط SMART (Automatic
Offline Testing) را فعال
یا غیرفعال
میکند و پس
از آن اثر
دیگری
ندارد.
آرگومانهای
معتبر برای
این
دستورالعمل
on و off هستند.
تأخیر میان آزمایشها به سازنده بستگی دارد، اما معمولاً چهار ساعت است.
توجه داشته باشید که آزمایش خودکار برونخط SMART بخشی از مشخصات فنی ATA نیست. لطفاً برای اطلاعات بیشتر پیرامون این ویژگی، مستندات گزینه خط فرمان smartctl -o را ببینید.
- -S VALUE
- ذخیره خودکار مشخصهها (Attribute Autosave) را هنگام راهاندازی smartd فعال یا غیرفعال میکند و پس از آن اثر دیگری ندارد. آرگومانهای معتبر برای این دستورالعمل on و off هستند. این گزینه بر دستگاههای SCSI نیز اثر میگذارد. [لطفاً گزینه خط فرمان smartctl -S را ببینید.]
- -H [MASK]
- وضعیت
سلامت دیسک
را بررسی
میکند. اگر
دیسک وضعیت
سلامت رو به
خرابی را
گزارش کند،
پیامی با
سطح لاگ LOG_CRIT
در syslog ثبت
خواهد شد.
[لطفاً
گزینه خط
فرمان smartctl -H
را ببینید.]
[ATA] نتیجه بولی بازگرداندهشده توسط دستور SMART RETURN STATUS را بررسی میکند. پارامتر اختیاری MASK نادیده گرفته میشود.
[SCSI] کدهای Additional Sense Code (ASC) و Additional Sense Code Qualifier (ASCQ) را از صفحه گزارش Informal Exceptions (IE) (در صورت پشتیبانی) و/یا از دادههای حسگر SCSI بررسی میکند. پارامتر اختیاری MASK نادیده گرفته میشود.
نکته: به دلایل تاریخی، این بررسی همواره برای دستگاههای SCSI انجام میشود، صرفنظر از این که دستورالعمل '-H' قید شده باشد یا خیر.[NVMe] بایت "هشدار بحرانی (Critical Warning)" را از گزارش اطلاعات سلامت و SMART بررسی میکند. اگر هر یک از بیتهای هشدار تنظیم شده باشد، پیامی با سطح لاگ LOG_CRIT در syslog ثبت خواهد شد.
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] اگر پارامتر اختیاری MASK (هگزادسیمال) مشخص شود، بررسی تنها به بیتهای هشدار تنظیمشده در MASK محدود میگردد. برای نمونه اگر '-H 0xf9' مشخص شود، بیت ۱ هشدار ("دما خارج از محدوده") و بیت ۲ ("کاهش قابلیت اطمینان") نادیده گرفته خواهند شد. گزینه '-H 0xff' همانند '-H' بدون پارامتر است. - -l TYPE
- افزایش
تعداد
خطاها را در
یکی از سه
گزارش SMART
گزارش
میدهد.
آرگومانهای
معتبر برای
این
دستورالعمل
عبارتند از:
error - [ATA] گزارش میدهد که آیا تعداد خطاهای ATA گزارششده در لاگ خطای خلاصه SMART از زمان آخرین بررسی افزایش یافته است یا خیر.
error - [NVMe] گزارش میدهد که آیا "تعداد ورودیهای گزارش اطلاعات خطا" از گزارش اطلاعات سلامت/SMART از زمان آخرین بررسی افزایش یافته است یا خیر.
[ویژگی آزمایشی جدید SMARTD 7.4] این مورد تنها در صورتی با سطح LOG_CRIT ثبت میشود که دستکم یکی از خطاهای جدید همچنان در گزارش اطلاعات خطا موجود بوده و وضعیت آن نشاندهنده خطای مربوط به دستگاه باشد. سپس حداکثر تا هشت مورد از تازهترین این خطاها در سطح LOG_INFO ثبت میشوند. این ویژگی مفید است زیرا گزارش اطلاعات خطای NVMe در چرخههای خاموش/روشن یا بازنشانی دستگاه ماندگار نیست.
اگر همه خطاهای جدید یا دیگر در لاگ موجود نباشند یا مربوط به دستگاه نباشند (مانند دستور نامعتبر، فیلد نامعتبر در دستور و...)، به جای آن پیامی با سطح LOG_INFO تولید میشود. این کار از هشدارهای گمراهکننده در صورتی که سیستمعامل دستورات پشتیبانینشده صادر کند و میانافزار دستگاه نیز اینگونه خطاها را ثبت نماید، جلوگیری میکند.xerror - [ATA] گزارش میدهد که آیا تعداد خطاهای ATA گزارششده در لاگ خطای جامع و گسترده SMART از زمان آخرین بررسی افزایش یافته است یا خیر.
اگر هر دو گزینه '-l error' و '-l xerror' مشخص شوند، smartd بیشینه هر دو مقدار را بررسی میکند.
[لطفاً گزینه خط فرمان smartctl -l xerror را ببینید.]
xerror - [NVMe] همانند '-l error' است.
selftest - [ATA] [SCSI] [NVMe: ویژگی آزمایشی جدید SMARTD 7.5] گزارش میدهد که آیا تعداد آزمایشهای ناموفق گزارششده در لاگ خودآزمایی SMART از زمان آخرین بررسی افزایش یافته است، یا اینکه آیا برچسب زمانی مربوط به تازهترین آزمایش ناموفق افزایش یافته است یا خیر. توجه داشته باشید که چنین خطاهایی تنها در صورتی ثبت خواهند شد که خودآزمایی را روی دیسک اجرا کنید (و دیسک در آزمایش شکست بخورد!). خودآزماییها میتوانند به صورت خودکار توسط smartd اجرا شوند؛ لطفاً دستورالعمل '-s' در زیر را ببینید. خودآزماییها همچنین میتوانند به صورت دستی با استفاده از گزینههای '-t short' و '-t long' در smartctl اجرا شوند و نتایج آزمایش با استفاده از گزینه خط فرمان smartctl '-l selftest' قابل مشاهده است. [لطفاً گزینههای خط فرمان smartctl -l و -t را ببینید.]
[ATA] [NVMe: ویژگی آزمایشی جدید SMARTD 7.5] خودآزماییهای ناموفقی که با یک خودآزمایی گسترده موفق جدیدتر منسوخ شدهاند نادیده گرفته میشوند. اگر تعداد خودآزماییهای ناموفق به ۰ کاهش یابد، شمارنده ایمیل هشدار بازنشانی میشود. این اتفاق معمولاً زمانی رخ میدهد که پس از تخصیص مجدد تمام بلوکهای معیوب، یک خودآزمایی گسترده اجرا شود.
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] اگر نام دستگاه به یک فضای نام منفرد اشاره دارد، ورودیهای لاگ با شناسههای فضای نام متفاوت نادیده گرفته میشوند. ورودیهای با شناسه فضای نام نامشخص یا همگانی همواره بررسی میشوند.
offlinests[,ns] - [فقط ATA] گزارش میدهد که آیا وضعیت جمعآوری دادههای برونخط (Offline Data Collection) از زمان آخرین بررسی تغییر کرده است یا خیر. در صورتی که وضعیت جدید حاکی از خطا باشد، این گزارش با سطح LOG_CRIT ثبت خواهد شد. در برخی درایوها این وضعیت مکرراً تغییر میکند، بنابراین '-l offlinests' با دستورالعمل '-a' فعال نمیشود. افزودن ',ns' (no standby) به این دستورالعمل در لینوکس پیادهسازی نشده است.
selfteststs[,ns] - [ATA] [NVMe: ویژگی آزمایشی جدید SMARTD 7.5] گزارش میدهد که آیا وضعیت اجرای خودآزمایی از زمان آخرین بررسی تغییر کرده است یا خیر. در صورتی که وضعیت جدید نشاندهنده خطا باشد، گزارش با سطح LOG_CRIT ثبت خواهد شد. افزودن ',ns' (no standby) به این دستورالعمل در لینوکس پیادهسازی نشده است.
scterc,READTIME,WRITETIME - [فقط ATA] در هنگام راهاندازی smartd، تنظیمات کنترل بازیابی خطای SCT را روی مقادیر مشخصشده (بر حسب دسیثانیه) تنظیم میکند و پس از آن اثر دیگری ندارد. مقادیر 0 این ویژگی را غیرفعال میکنند، مقادیر دیگر کمتر از 65 احتمالاً پشتیبانی نمیشوند. برای پیکربندیهای RAID، این مقدار معمولاً روی 70,70 دسیثانیه تنظیم میشود. [لطفاً گزینه خط فرمان smartctl -l scterc را ببینید.]
- -e NAME[,VALUE]
- تنظیمات
دستگاههای
غیر SMART را در
زمان
راهاندازی
smartd اعمال
میکند و پس
از آن اثر
دیگری
ندارد.
[لطفاً
گزینه خط
فرمان smartctl --set
را ببینید.]
آرگومانهای
معتبر
عبارتند از:
aam,[N|off] - [فقط ATA] قابلیت مدیریت صوتی خودکار (AAM) را تنظیم میکند.
apm,[N|off] - [فقط ATA] قابلیت مدیریت پیشرفته توان (APM) را تنظیم میکند.
lookahead,[on|off] - [فقط ATA] قابلیت پیشخوانی (read look-ahead) را تنظیم میکند.
security-freeze - [فقط ATA] قابلیت امنیت ATA را در حالت منجمد (frozen) قرار میدهد.
standby,[N|off] - [فقط ATA] زمانسنج آمادهبهکار (خوابیدن موتور دیسک) را تنظیم کرده و درایو را در وضعیت IDLE قرار میدهد.
wcache,[on|off] - [فقط ATA] ویژگی حافظه نهان نوشتن فرار (Volatile Write Cache) را تنظیم میکند.
dsn,[on|off] - [فقط ATA] ویژگی DSN را تنظیم میکند.
- -s REGEXP
- اجرای خودآزماییها یا آزمایشهای فوری برونخط در زمانهای زمانبندیشده. اگر تمام ۱۲ نویسه رشته T/MM/DD/d/HH با عبارت باقاعده گسترده REGEXP مطابقت داشته باشد، یک خودآزمایی یا آزمایش فوری برونخط در پایان نظرسنجی دورهای دستگاه اجرا خواهد شد. در اینجا:
- T
- نوع آزمایش
است.
مقادیری که
smartd (به ترتیب)
برای تطبیق
تلاش خواهد
کرد
عبارتند از:
'L' برای
خودآزمایی
طولانی (LONG)، 'S'
برای
خودآزمایی
کوتاه (SHORT)، 'C'
برای
خودآزمایی
حملونقل
(CONVEYANCE، فقط ATA)، و
'O' برای
آزمایش
فوری
برونخط
(OFFLINE، فقط ATA). به
محض یافتن
تطابق،
آزمایش
آغاز شده و
در آن چرخه
نظرسنجی
برای آن
دستگاه به
دنبال
تطابقهای
دیگر
نخواهد گشت.
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] برای دستگاههای NVMe با پشتیبانی از خودآزمایی، از 'L' برای شروع خودآزمایی گسترده NVMe و از 'S' برای خودآزمایی کوتاه NVMe استفاده کنید. اگر نام دستگاه به یک فضای نام منفرد اشاره دارد، آزمایش با استفاده از این شناسه فضای نام آغاز میشود، و در غیر این صورت با استفاده از شناسه فضای نام همگانی شروع خواهد شد.
[فقط ATA] برای اجرای خودآزماییهای گزینشی زمانبندیشده، از 'n' برای محدوده بعدی (next span)، از 'r' برای تکرار آخرین محدوده (redo last span)، یا از 'c' برای ادامه با محدوده بعدی یا تکرار آخرین محدوده بر اساس وضعیت آخرین آزمایش استفاده کنید. محدوده LBA بر اساس اولین بخش از آخرین آزمایش است. برای اطلاعات بیشتر به گزینههای smartctl -t select,[next|redo|cont] مراجعه فرمایید.
برخی دیسکها (مانند وسترن دیجیتال) گزارش خودآزمایی گزینشی را در چرخههای خاموش/روشن حفظ نمیکنند. اگر ماندگاری وضعیت (گزینه '-s') فعال باشد، آخرین محدوده آزمایش توسط smartd نگهداری شده و در صورتی که (و تنها در صورتی که) لاگ خودآزمایی گزینشی خالی باشد، استفاده میشود.
- MM
- ماه سال است که با دو رقم دهدهی بیان میشود. محدوده آن از 01 (ژانویه) تا 12 (دسامبر) شامل هر دو است. از یک رقم دهدهی استفاده نکنید، وگرنه تطبیق همواره شکست خواهد خورد!
- DD
- روز ماه است که با دو رقم دهدهی بیان میشود. محدوده آن از 01 تا 31 شامل هر دو است. از یک رقم دهدهی استفاده نکنید، وگرنه تطبیق همواره شکست خواهد خورد!
- d
- روز هفته است که با یک رقم دهدهی بیان میشود. محدوده آن از 1 (دوشنبه) تا 7 (یکشنبه) شامل هر دو است.
- HH
- ساعت روز است که با دو رقم دهدهی نوشته شده و بر حسب ساعات پس از نیمهشب مشخص میشود. محدوده آن از 00 (نیمهشب تا اندکی پیش از ۱ بامداد) تا 23 (۱۱ شب تا اندکی پیش از نیمهشب) شامل هر دو است. از یک رقم دهدهی استفاده نکنید، وگرنه تطبیق همواره شکست خواهد خورد!
- اگر عبارت
باقاعده
شامل
زیررشتههایی
به شکل :NNN یا
:NNN-LLL باشد که
در آن NNN و LLL سه
رقم دهدهی
هستند،
آزمایشهای
پلکانی (Staggered)
فعال
میشوند. در
این صورت
اگر تمام ۱۶
(یا ۲۰)
نویسه رشته
T/MM/DD/d/HH:NNN (یا T/MM/DD/d/HH:NNN-LLL)
با عبارت
باقاعده
مطابقت
داشته
باشد،
آزمایشی
نیز اجرا
خواهد شد.
این بررسی
برای
حداکثر هفت
مورد :NNN یا
:NNN-LLL
یافتشده
در عبارت
باقاعده
انجام
میشود.
زمان مورد
استفاده
برای بررسی
به سمت
گذشته
تنظیم
میشود به
گونهای که
آزمایشهای
دیسک اول به
تاخیر
نمیافتند،
آزمایشهای
دیسک دوم با
NNN ساعت
تاخیر
انجام
میشوند،
آزمایشهای
دیسک سوم با
2*NNN ساعت
تاخیر و به
همین ترتیب.
اگر LLL نیز مشخص شده باشد، تاخیرها با محاسبه تاخیر هر دیسک به صورت زیر به LLL ساعت محدود میشوند:
'((DRIVE_INDEX * NNN) mod (LLL + 1))'.چندین مثال در ادامه آمده است. در خواندن این مثالها به یاد داشته باشید که در عبارات باقاعده گسترده، یک نقطه '.' با هر نویسه منفرد مطابقت دارد و یک عبارت داخل پرانتز مانند '(A|B|C)' هر یک از سه احتمال A، B یا C را نشان میدهد.
برای زمانبندی یک خودآزمایی کوتاه بین ساعت ۲ تا ۳ بامداد هر روز صبح:
-s S/../.././02
برای زمانبندی یک خودآزمایی طولانی بین ساعت ۴ تا ۵ بامداد هر یکشنبه صبح:
-s L/../../7/04
برای فعالسازی آزمایشهای پلکانی با تاخیرهایی در گامهای سه ساعته:
-s L/../../7/04:003
برای فعالسازی آزمایشهای پلکانی با تاخیرهای 0، 3، 6، 9، 1، 4، 7، 10، 2، 5، 8، 0، ... ساعت:
-s L/../../7/04:003-010
برای فعالسازی آزمایشهای پلکانی با تاخیرهای 0، 1، 2، ...، 9، 10، 0، ... ساعت:
-s L/../../7/04:001-010
برای زمانبندی یک خودآزمایی طولانی بین ساعت ۱۰ تا ۱۱ شب در روزهای اول و پانزدهم هر ماه:
-s L/../(01|15)/./22
برای زمانبندی یک آزمایش فوری برونخط بعد از هر نیمهشب، ۶ صبح، ظهر و ۶ بعدازظهر، به همراه یک خودآزمایی کوتاه روزانه در ساعت ۱ تا ۲ بامداد و یک خودآزمایی طولانی هر شنبه در ساعت ۳ تا ۴ صبح:
-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)
برای فعالسازی خودآزماییهای طولانی پلکانی با تاخیر در گامهای سه ساعته:
-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03:003)
اگر اجرای خودآزماییهای طولانی روی یک دیسک بزرگ بیش از زمان بالا بودن سیستم طول بکشد، میتوان آزمایش کامل دیسک را با چندین خودآزمایی گزینشی انجام داد. برای راهاندازی یک آزمایش کامل از یک دیسک ۱ ترابایتی در مدت ۲۰ روز (یک محدوده ۵۰ گیگابایتی در هر روز)، این دستور را یک بار اجرا کنید:smartctl -t select,0-99999999 /dev/sda
برای اجرای بخشهای بعدی آزمایش در روزهای دوشنبه تا جمعه بین ساعت ۱۲ تا ۱۳، smartd را با این دستورالعمل اجرا کنید:
-s n/../../[1-5]/12اگر تاریخ، زمان و نوع آزمایش فعلی محلی با REGEXP مطابقت داشته باشد، آزمایشهای زمانبندیشده بلافاصله پس از نظرسنجی منظم دستگاه اجرا میشوند. به طور پیشفرض، نظرسنجی منظم دستگاه هر سی دقیقه یک بار پس از راهاندازی smartd رخ میدهد. اگر از گزینه '-i' برای افزایش این بازه نظرسنجی به بیش از شصت دقیقه استفاده میکنید، احتیاط کنید: ممکن است زمانهای نظرسنجی با زمانهای آزمایشی که با REGEXP مشخص کردهاید همپوشانی نداشته باشند. در این حالت آزمایش پس از نظرسنجی بعدی دستگاه اجرا خواهد شد.
پیش از اجرای یک آزمایش برونخط یا خودآزمایی، smartd بررسی میکند تا مطمئن شود که خودآزمایی دیگری در حال حاضر اجرا نمیشود. اگر یک خودآزمایی از قبل در حال اجرا باشد، این آزمایش در حال اجرا برای آغاز آزمایشی دیگر متوقف نخواهد شد.
دیمن smartd در صورتی که آزمایش دیگری در همان ساعت آغاز شده یا اجرا شده باشد، تلاشی برای اجرای هیچ نوع آزمایشی نخواهد کرد.
برای جلوگیری از مشکلات کارایی در طول راهاندازی سیستم، smartd پس از اولین نظرسنجی دستگاه هیچ آزمایش زمانبندیشدهای را اجرا نخواهد کرد (مگر اینکه '-q onecheck' مشخص شده باشد).
هر بار که آزمایشی اجرا میشود، smartd یک ورودی در SYSLOG ثبت میکند. میتوانید از این ورودیها یا گزینه خط فرمان '-q showtests' برای اعتبارسنجی نگارش صحیح REGEXP استفاده کنید. ترتیب تطبیق (L قبل از S قبل از C قبل از O) تضمین میکند که اگر چندین نوع آزمایش همگی برای یک ساعت زمانبندی شده باشند، نوع آزمایش طولانیتر اولویت دارد. این معمولاً رفتار مطلوبی است.
اگر آزمایشهای زمانبندیشده همراه با ماندگاری وضعیت (گزینه '-s') استفاده شوند، smartd همچنین تلاش میکند ساعاتی را که از آخرین خاموشی گذشته است (یا حداکثر ۹۰ روز) مطابقت دهد. اگر هر آزمایشی در طول زمان خاموشی سیستم آغاز میشده است، طولانیترین آن آزمایشها (بالا را ببینید) پس از دومین نظرسنجی دستگاه اجرا میشود.
اگر دستورالعمل '-n' استفاده شود و هر آزمایشی در زمان آمادهبهکار (Standby) بودن دیسک آغاز میشده است، با فعال شدن مجدد دیسک طولانیترین آن آزمایشها اجرا میگردد.
کاربران یونیکس: لطفاً آگاه باشید که قوانین عبارات باقاعده گسترده [regex(7)] با قوانین تطبیق الگوهای نام فایل در شل [glob(7)] یکسان نیستند. برنامه smartd در صورتی که نویسههایی را در REGEXP تشخیص دهد که به نظر نشاندهنده چنین اشتباهی باشند، پیامهای هشدار اطلاعاتی بیخطری صادر خواهد کرد.
- -m ADD
- در صورتی که
دستورالعملهای
'-H'، '-l error'، '-l xerror'، '-l selftest'،
'-f'، '-C'، '-U' یا '-W' یک
خرابی یا
خطای جدید
را تشخیص
دهند، یا
اگر دستور SMART
به دیسک با
شکست روبرو
شود، یک
ایمیل
هشدار به
نشانی
ایمیل ADD
ارسال
میکند. این
دستورالعمل
تنها همراه
با این
دستورالعملهای
دیگر (یا با
دستورالعمل
پیشفرض
معادل '-a') کار
میکند.
برای جلوگیری از پر شدن صندوق پستی شما با پیامهای هشدار، به طور پیشفرض تنها یک هشدار منفرد و (بسته به گزینه '-s') ایمیلهای یادآوری روزانه برای هر یک از انواع هشدارهای فعال ارسال خواهد شد. برای جزئیات به دستورالعمل '-M' در زیر مراجعه فرمایید.
برای ارسال ایمیل به بیش از یک کاربر، لطفاً از قالب "جداشده با کاما" برای نشانی استفاده کنید: user1@add1,user2@add2,...,userN@addN (بدون فاصله).
برای آزمایش اینکه ایمیل به درستی ارسال میشود، از دستورالعمل '-M test' شرحدادهشده در زیر برای ارسال یک پیام ایمیل آزمایشی در هنگام شروع به کار smartd استفاده کنید.
به طور پیشفرض، ایمیل با استفاده از دستور سیستمی mail(1) ارسال میشود. برای اینکه smartd این دستور را بیابد (معمولاً در مسیر /usr/bin/mail)، فایل اجرایی باید در مسیر شل یا محیطی باشد که smartd از آن راهاندازی شده است. اگر میخواهید یک مسیر صریح به فایل اجرایی ایمیل (برای مثال /usr/local/bin/mail) یا یک اسکریپت سفارشی را برای اجرا مشخص کنید، لطفاً از دستورالعمل '-M exec' در زیر استفاده نمایید.
همچنین توجه داشته باشید که یک آرگومان ویژه به نام <nomailer> وجود دارد که میتواند همراه با دستورالعمل '-M exec' به دستورالعمل '-m' داده شود. لطفاً برای توضیح اثر آن به بخش زیر مراجعه فرمایید.
اگر برنامه ارسال ایمیل یا شلِ اجراکننده آن هرگونه خروجی در STDERR/STDOUT تولید کند، بخشی از آن خروجی در SYSLOG ثبت خواهد شد. باقی خروجی نادیده گرفته میشود. در صورت بروز مشکل در ارسال ایمیل، این امر باید به شما در درک و رفع آن کمک کند. اگر با مشکلات ایمیل مواجه هستید، توصیه میکنیم smartd را در حالت اشکالزدایی با فلگ '-d' و با استفاده از دستورالعمل '-M test' شرحدادهشده در زیر اجرا کنید.
اگر واژهای از فهرست جداشده با کاما به شکل '@plugin' باشد، اسکریپت سفارشی /usr/share/smartmontools/smartd_warning.d/plugin اجرا شده و پیش از ارسال ایمیل، آن کلمه از فهرست حذف میشود. رشته 'plugin' میتواند هر نام معتبری به جز 'ALL' باشد. اگر '@ALL' مشخص شود، به جای آن تمام اسکریپتهای موجود در /usr/share/smartmontools/smartd_warning.d/* اجرا میشوند. این امر توسط اسکریپت /usr/share/smartmontools/smartd_warning.sh مدیریت میشود (همچنین به '-M exec' در زیر مراجعه فرمایید). اسکریپتهای افزونه بدون مجوز اجرا به طور خاموش نادیده گرفته میشوند. اگر هر اسکریپت افزونهای وجود نداشته باشد یا با وضعیت خروج غیرصفر شکست بخورد، اسکریپت هشدار بلافاصله بدون ارسال ایمیل خارج میشود.
- -M TYPE
- این
دستورالعملها
رفتار
هشدارهای
ایمیلی smartd
را که با
دستورالعمل
ایمیل '-m'
شرحدادهشده
در بالا
فعال
شدهاند،
تغییر
میدهند.
این
دستورالعملهای
'-M' تنها در
ترکیب با
دستورالعمل
'-m' کار
میکنند و
نمیتوانند
بدون آن
استفاده
شوند.
میتوان چندین دستورالعمل -M را مشخص کرد. اگر بیش از یکی از سه دستورالعمل -M زیر قید شود (مثال: -M once -M daily)، آخرین مورد (در مثال، -M daily) استفاده خواهد شد.
آرگومانهای معتبر برای دستورالعمل -M عبارتند از (یکی از سه مورد زیر):
once - تنها یک ایمیل هشدار برای هر نوع مشکل شناساییشده دیسک ارسال کن. این حالت پیشفرض است مگر اینکه ماندگاری وضعیت (گزینه '-s') فعال باشد.
always - [ویژگی آزمایشی جدید SMARTD 7.4] در هر بار بررسی، برای هر نوع مشکل شناساییشده دیسک، ایمیلهای یادآوری هشدار اضافی ارسال کن.
daily - یک بار در روز، برای هر نوع مشکل شناساییشده دیسک، ایمیلهای یادآوری هشدار اضافی ارسال کن. اگر ماندگاری وضعیت (گزینه '-s') فعال باشد، این حالت پیشفرض است.
diminishing - ایمیلهای یادآوری هشدار اضافی را پس از یک بازه یکروزه، سپس بازه دوروزه، سپس بازه چهارروزه و به همین ترتیب برای هر نوع مشکل دیسک ارسال کن. هر بازه دو برابر بازه قبلی است.
[ویژگی آزمایشی جدید SMARTD 7.4] طول بازه پس از ۵ ایمیل یادآوری هشدار روی ۳۲ روز باقی خواهد ماند.اگر مشکل دیسک دیگر شناسایی نشود، شمارنده داخلی ایمیل بازنشانی میشود. اگر مشکل دوباره نمایان شود، بلافاصله یک ایمیل هشدار جدید ارسال خواهد شد.
علاوه بر این، میتوان صفر یا چند مورد از دستورالعملهای زیر را اضافه کرد:
test - بلافاصله پس از راهاندازی smartd یک ایمیل آزمایشی منفرد ارسال کن. این گزینه به کاربر امکان میدهد از تحویل صحیح ایمیل اطمینان حاصل کند. توجه داشته باشید که در صورت استفاده از این دستورالعمل، smartd علاوه بر ایمیل آزمایشی منفرد، هشدارهای عادی ایمیلی فعالشده با دستورالعمل '-m' را نیز ارسال خواهد کرد!
exec PATH - هنگامی که smartd نیاز به ارسال ایمیل دارد، به جای دستور پیشفرض mail، فایل اجرایی PATH را اجرا کن. PATH باید به یک فایل باینری اجرایی یا اسکریپت اشاره کند.
با تنظیم PATH برای اشاره به یک اسکریپت سفارشی، میتوانید کاری کنید که smartd هنگام تشخیص مشکل دیسک، اقدامات مفیدی انجام دهد (بوق زدن کنسول، خاموش کردن سیستم، پخش هشدار برای تمام کاربران واردشده و غیره). اما لطفاً مراقب باشید؛ smartd تا زمان بازگشت فایل اجرایی PATH مسدود (block) خواهد شد، بنابراین اگر برنامه اجرایی شما قفل کند، smartd نیز متوقف خواهد شد. برخی اسکریپتهای نمونه در مسیر /usr/share/doc/smartmontools/examplescripts/ گنجانده شدهاند.
وضعیت خروج فایل اجرایی توسط smartd در SYSLOG ثبت میشود. انتظار نمیرود فایل اجرایی چیزی در STDOUT یا STDERR بنویسد. اگر چنین کند، این امر به عنوان نشانهای از بروز مشکل در برنامه شما تلقی شده و بخشی از این خروجی برای کمک به شما در رفع مشکل، در SYSLOG ثبت میگردد. به طور معمول، اگر مایل به ثبت سوابق هستید، فایل اجرایی باید ایمیل بفرستد یا در یک فایل یا دستگاه بنویسد.
پیش از اجرای فایل اجرایی، smartd تعدادی متغیر محیطی تنظیم میکند. این متغیرهای محیطی میتوانند برای کنترل رفتار فایل اجرایی استفاده شوند. متغیرهای محیطی صادرشده توسط smartd عبارتند از:
- SMARTD_MAILER
- روی آرگومان -M exec در صورت وجود تنظیم میشود، یا در غیر این صورت روی 'mail' (مثالها: /usr/local/bin/mail, mail).
- SMARTD_DEVICE
- روی مسیر دستگاه تنظیم میشود (مثال: /dev/sda).
- SMARTD_DEVICETYPE
- روی نوع دستگاه مشخصشده توسط دستورالعمل '-d' یا در صورت عدم وجود روی 'auto' تنظیم میشود.
- SMARTD_DEVICESTRING
- روی توصیف دستگاه تنظیم میشود. با SMARTD_DEVICE آغاز شده و ممکن است شناسه اختیاری کنترلر در ادامه آن بیاید (مثال: /dev/sda [SAT]). این رشته ممکن است شامل فاصله باشد و درون گیومه قرار ندارد.
- SMARTD_DEVICEINFO
- روی اطلاعات شناسایی دستگاه تنظیم میشود. شامل بیشتر اطلاعاتی است که توسط smartctl -i چاپ میشود، اما از یک قالب خلاصه یکخطی استفاده میکند. این اطلاعات دستگاه همچنین هنگام شروع به کار smartd ثبت میگردد. رشته شامل نویسههای فاصله است و درون گیومه قرار ندارد.
- SMARTD_FAILTYPE
- دلیل هشدار
یا ایمیل
پیام را
مشخص
میکند.
مقادیر
ممکنی که به
خود
میگیرد و
معانی
آنها
عبارتند از:
EmailTest: این یک پیام آزمایشی ایمیل است.
Health: وضعیت سلامت SMART نشاندهنده خرابی قریبالوقوع است.
Usage: یک مشخصه مصرف (Usage) شکست خورده است.
SelfTest: تعداد خرابیهای خودآزمایی افزایش یافته است.
ErrorCount: تعداد خطاها در لاگ خطای ATA افزایش یافته است.
CurrentPendingSector: یک یا چند بخش (سکتور) دیسک قابل خواندن نبودند و برای تخصیص مجدد علامتگذاری شدهاند (با سکتورهای یدکی جایگزین میشوند).
OfflineUncorrectableSector: در طول آزمایش برونخط یا خودآزمایی، یک یا چند سکتور دیسک قابل خواندن نبودهاند.
Temperature: دما به حد بحرانی رسیده است (دستورالعمل -W را ببینید).
FailedHealthCheck: دستور وضعیت سلامت SMART با شکست مواجه شد.
FailedReadSmartData: دستور خواندن دادههای مشخصه SMART با شکست مواجه شد.
FailedReadSmartErrorLog: دستور خواندن لاگ خطای SMART شکست خورد.
FailedReadSmartSelfTestLog: دستور خواندن لاگ خودآزمایی SMART شکست خورد.
FailedOpenDevice: دستور open() به دستگاه با شکست مواجه شد. - SMARTD_ADDRESS
- توسط آرگومان آدرس ADD در دستورالعمل '-m' تعیین میشود. اگر ADD برابر <nomailer> باشد، SMARTD_ADDRESS تنظیم نمیشود. در غیر این صورت، روی فهرست نشانیهای ایمیل ارائهشده توسط آرگومان ADD با جایگزینی کاماها با فاصله تنظیم میشود (مثال: admin@example.com root). اگر بیش از یک نشانی ایمیل قید شده باشد، این رشته شامل نویسههای فاصله خواهد بود و درون گیومه نیست، بنابراین برای استفاده از آن در یک اسکریپت شل ممکن است بخواهید آن را در گیومه دوتایی محصور کنید.
- SMARTD_ADDRESS_ORIG
- روی مقدار اصلی SMARTD_ADDRESS در حالی که رشتههای '@plugin' همچنان در آن وجود دارند تنظیم میشود. اگر چنین رشتههایی در دستورالعمل '-m' وجود نداشته باشد، این متغیر تنظیم نمیشود.
- SMARTD_MESSAGE
- روی رشته پیام خلاصه یکجملهای هشدار ایمیل از طرف smartd تنظیم میشود. این رشته پیام شامل نویسههای فاصله است و درون گیومه نیست. بنابراین برای استفاده از $SMARTD_MESSAGE در یک اسکریپت شل احتمالاً باید آن را داخل گیومه دوتایی قرار دهید.
- SMARTD_FULLMESSAGE
- روی محتوای کل رشته پیام هشدار ایمیل از طرف smartd تنظیم میشود. این رشته پیام شامل نویسههای فاصله و سرخط (Newline) است و درون گیومه قرار ندارد. بنابراین برای استفاده از $SMARTD_FULLMESSAGE در یک اسکریپت شل احتمالاً باید آن را درون گیومه دوتایی محصور فرمایید.
- SMARTD_TFIRST
- یک رشته
متنی است که
زمان و
تاریخ
گزارش
اولین مشکل
از این نوع
را نشان
میدهد. این
رشته متنی
شامل
نویسههای
فاصله و
بدون خط
جدید است و
درون گیومه
نیست. برای
مثال:
Sun Feb 9 14:58:19 2003 CST - SMARTD_TFIRSTEPOCH
- یک عدد صحیح است که زمان یونیکس (تعداد ثانیههای سپریشده از ۱ ژانویه ۱۹۷۰) را برای SMARTD_TFIRST نشان میدهد.
- SMARTD_PREVCNT
- یک عدد صحیح است که تعداد پیامهای قبلی ارسالشده را مشخص میکند. برای اولین پیام روی '0' تنظیم میشود.
- SMARTD_NEXTDAYS
- یک عدد صحیح است که تعداد روزهای باقیمانده تا ارسال پیام بعدی را مشخص میسازد. در '-M once' روی خالی، در '-M always' روی '0' و در '-M daily' روی '1' تنظیم میشود.
- اگر
دستورالعمل
'-m ADD' با یک
آرگومان
آدرس عادی
مشخص شود،
فایل
اجرایی
تعیینشده
با PATH در یک شل
اجرا
میشود در
حالی که STDIN
متن پیام
ایمیل را
دریافت
میکند و
آرگومانهای
خط فرمان
مشابه:
-s "$SMARTD_SUBJECT" $SMARTD_ADDRESS
را دریافت مینماید که به طور معمول به 'mail' ارائه میشوند. مثالها عبارتند از:
-m user@home -M exec /usr/bin/mail
-m admin@work -M exec /usr/local/bin/mailto
-m root -M exec /Example_1/shell/script/belowاگر دستورالعمل '-m ADD' با آرگومان آدرس ویژه <nomailer> مشخص شود، فایل اجرایی ارجاع دادهشده با PATH در یک شل با بدون STDIN و بدون آرگومانهای خط فرمان اجرا میشود؛ برای مثال:
-m <nomailer> -M exec /Example_2/shell/script/below
اگر برنامه اجرایی هرگونه خروجی در STDERR/STDOUT تولید کند، smartd فرض میکند که مشکلی رخ داده است و بخشی از آن خروجی در SYSLOG ثبت خواهد شد. باقی خروجی سپس نادیده گرفته میشود.
چندین مثال از اسکریپتهایی که میتوانند با دستورالعمل '-M exec' استفاده شوند در زیر ارائه شده است. برخی اسکریپتهای نمونه همچنین در مسیر /usr/share/doc/smartmontools/examplescripts/ گنجانده شدهاند.
فایل اجرایی توسط اسکریپت /usr/share/smartmontools/smartd_warning.sh اجرا میشود. این اسکریپت موضوع و متن کامل پیام را بر اساس SMARTD_MESSAGE و سایر متغیرهای محیطی تنظیمشده توسط smartd قالببندی میکند. متغیرهای محیطی SMARTD_SUBJECT و SMARTD_FULLMESSAGE پیش از اجرای فایل اجرایی توسط اسکریپت تنظیم میشوند.
- -f
- [ATA] بررسی
خرابی ('failure') در
هر یک از
مشخصههای
کاربرد (Usage Attributes).
اگر این
مشخصهها
کمتر یا
مساوی با
آستانه
باشند،
نشاندهنده
خرابی
قریبالوقوع
دیسک نیست.
این امر
"نشاندهنده
یک وضعیت
توصیهای
است که در
آن کارکرد
یا عمر
دستگاه از
دوره عمر
طراحیشده
آن فراتر
رفته است."
[لطفاً
گزینه خط
فرمان smartctl -A
را ببینید.]
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] اگر مقدار سلامت/SMART موسوم به "Percentage Used" تغییر کرده و از ۹۵ درصد فراتر رود یا "Media and Data Integrity Errors" افزایش یابد، پیامی در سطح LOG_CRIT ثبت کرده و یک ایمیل هشدار ارسال کن.
- -p
- [ATA] هر زمان که
یک مشخصه
پیشخرابی
(Prefail Attribute) مقدار
خود را از
زمان آخرین
بررسی
تغییر دهد،
گزارش بده.
[لطفاً
گزینه خط
فرمان smartctl -A
را ببینید.]
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] هر زمان که مقدار سلامت/SMART با عنوان "Available Spare" مقدار خود را از زمان آخرین بررسی تغییر دهد، گزارش بده. این مورد با سطح LOG_CRIT ثبت خواهد شد و در صورتی که مقدار زیر "Available Spare Threshold" باشد، یک ایمیل هشدار ارسال میگردد.
- -u
- [ATA] هر زمان که
یک مشخصه
کاربرد (Usage Attribute)
مقدار خود
را از زمان
آخرین
بررسی
تغییر دهد،
گزارش بده.
[لطفاً
گزینه خط
فرمان smartctl -A
را ببینید.]
[NVMe: ویژگی آزمایشی جدید SMARTD 7.5] هر زمان که مقدار سلامت/SMART برای "Percentage Used" یا "Media and Data Integrity Errors" مقدار خود را از زمان آخرین بررسی تغییر دهد، گزارش بده.
- -t
- معادل فعال کردن هر دو فلگ قبلی '-p' و '-u'.
- -i ID
- [فقط ATA] هنگام
بررسی
خرابی
مشخصههای
کاربرد،
مشخصه
دستگاه
شماره ID را
نادیده
بگیر. ID
باید یک عدد
صحیح دهدهی
در محدوده ۱
تا ۲۵۵
باشد. این
دستورالعمل
رفتار
دستورالعمل
'-f' را تغییر
میدهد و
بدون آن
اثری ندارد.
این گزینه برای نمونه در صورتی مفید است که یک دیسک بسیار قدیمی دارید و نمیخواهید پیامهای مکرر درباره خرابی مشخصه ساعات کارکرد (معمولاً مشخصه شماره ۹) دریافت کنید. اگر میخواهید چندین مشخصه را نادیده بگیرید، این دستورالعمل میتواند چندین بار برای یک دستگاه قید شود.
- -I ID
- [فقط ATA] هنگام
ردیابی
تغییرات در
مقادیر
مشخصهها،
مشخصه
دستگاه ID
را نادیده
بگیر. ID
باید یک عدد
صحیح دهدهی
در محدوده ۱
تا ۲۵۵
باشد. این
دستورالعمل
رفتار
دستورالعملهای
ردیابی '-p'، '-u'
و '-t' را تغییر
میدهد و
بدون یکی از
آنها اثری
ندارد.
این گزینه برای نمونه در صورتی مفید است که یکی از مشخصههای دستگاه دمای دیسک باشد (معمولاً مشخصه ۱۹۴ یا ۲۳۱). دریافت گزارش در هر بار تغییر دما آزاردهنده است. اگر میخواهید چندین مشخصه را نادیده بگیرید، این دستورالعمل میتواند چندین بار برای یک دستگاه مشخص شود.
- -r ID[!]
- [فقط ATA] در
هنگام
ردیابی،
مقدار خام
(Raw) مشخصه ID
را همراه با
مقدار
نرمالشده
(Normalized) آن (که به
طور معمول
گزارش
میشود)
گزارش کن. ID
باید یک عدد
صحیح دهدهی
در محدوده ۱
تا ۲۵۵
باشد. این
دستورالعمل
رفتار
دستورالعملهای
ردیابی '-p'، '-u'
و '-t' را تغییر
میدهد و
بدون یکی از
آنها اثری
ندارد. این
دستورالعمل
ممکن است
چندین بار
داده شود.
یک کاربرد رایج از این دستورالعمل برای ردیابی دمای دستگاه است (اغلب ID=194 یا 231).
اگر فلگ اختیاری '!' ضمیمه شود، تغییر مقدار نرمالشده بحرانی تلقی میگردد. گزارش با سطح LOG_CRIT ثبت خواهد شد و در صورت قید شدن '-m'، یک ایمیل هشدار ارسال میشود.
- -R ID[!]
- [فقط ATA] در
هنگام
ردیابی، هر
زمان که
مقدار خام
(Raw) مشخصه ID
تغییر کند
گزارش بده.
(به طور
معمول smartd
تنها
تغییرات
مقادیر
مشخصه Normalized
را ردیابی و
گزارش
میکند). ID
باید یک عدد
صحیح دهدهی
در محدوده ۱
تا ۲۵۵
باشد. این
دستورالعمل
رفتار
دستورالعملهای
ردیابی '-p'، '-u'
و '-t' را تغییر
میدهد و
بدون یکی از
آنها اثری
ندارد. این
دستورالعمل
ممکن است
چندین بار
داده شود.
اگر این دستورالعمل داده شود، به طور خودکار به معنای دستورالعمل '-r' برای همان مشخصه است، به طوری که مقدار خام مشخصه نیز گزارش میشود.
یک کاربرد رایج از این دستورالعمل برای ردیابی دمای دستگاه است (اغلب ID=194 یا 231). همچنین برای درک این که چگونه رفتارهای گوناگون سیستم بر مقادیر مشخصههای خاص اثر میگذارند مفید است.
اگر فلگ اختیاری '!' ضمیمه شود، تغییر مقدار خام بحرانی تلقی میگردد. گزارش در سطح LOG_CRIT ثبت شده و در صورت مشخص بودن '-m' یک ایمیل هشدار ارسال خواهد شد؛ مانند '-R 5!' برای هشدار در زمان تخصیص مجدد سکتورهای جدید.
- -C ID[+]
- [فقط ATA] اگر
تعداد
سکتورهای
معلق فعلی
غیرصفر
باشد گزارش
بده. در
اینجا ID
شماره
شناسه
مشخصهای
است که
مقدار خام
آن شمارش
سکتورهای
معلق فعلی (Current
Pending Sector count) است.
محدوده
مجاز ID از ۰
تا ۲۵۵ شامل
هر دو است.
برای خاموش
کردن این
گزارش، از ID = 0
استفاده
کنید. اگر
گزینه -C ID
داده نشود،
به طور
پیشفرض
روی -C 197
تنظیم
میشود
(زیرا مشخصه
۱۹۷
معمولاً
برای پایش
سکتورهای
معلق
استفاده
میشود).
اگر نام این
مشخصه با
دستورالعمل
'-v 197,FORMAT,NAME' تغییر
کند،
پیشفرض به
-C 0 تغییر
مییابد.
اگر '+' مشخص شود، گزارش تنها در صورتی چاپ میشود که تعداد سکتورها بین دو چرخه بررسی افزایش یافته باشد. برخی دیسکها هنگام تخصیص مجدد یک سکتور معیوب، این مشخصه را بازنشانی نمیکنند. همچنین بخش '-v 197,increasing' در زیر را ببینید.
اگر تعداد سکتورهای معلق به ۰ کاهش یابد، شمارنده ایمیل هشدار بازنشانی میشود. این اتفاق معمولاً زمانی رخ میدهد که تمام سکتورهای معلق مجدداً تخصیص یافته باشند یا بتوان آنها را دوباره خواند.
یک سکتور معلق، سکتوری از دیسک است (شامل ۵۱۲ بایت از دادههای شما) که دستگاه میخواهد آن را به عنوان "معیوب" علامتگذاری کرده و مجدداً تخصیص دهد. معمولاً این بدان دلیل است که رایانه شما سعی کرده آن سکتور را بخواند، و خواندن با شکست مواجه شده است زیرا دادههای روی آن خراب شده و کدهای بررسی و تصحیح خطا (ECC) ناهمخوان دارد. دانستن این موضوع مهم است، زیرا به این معنی است که دادههای غیرقابلخواندنی روی دیسک وجود دارد. مسئله پی بردن به این که این دادهها به کدام فایل تعلق دارند، به سیستمعامل و سیستم فایل بستگی دارد. معمولاً میتوانید با نوشتن روی سکتور، آن را وادار به تخصیص مجدد کنید (به این معنی که دستگاه یک سکتور سالم یدکی را جایگزین سکتور معیوب کند)، اما به بهای از دست دادن ۵۱۲ بایت داده ذخیرهشده در آنجا.
- -U ID[+]
- [فقط ATA] اگر
تعداد
سکتورهای
غیرقابلتصحیح
برونخط (Offline
Uncorrectable Sectors) غیرصفر
باشد گزارش
بده. در
اینجا ID
شماره
شناسه
مشخصهای
است که
مقدار خام
آن شمارش
سکتورهای
غیرقابلتصحیح
برونخط
است. محدوده
مجاز ID از ۰
تا ۲۵۵ شامل
هر دو است.
برای خاموش
کردن این
گزارش، از ID = 0
استفاده
کنید. اگر
گزینه -U ID
داده نشود،
پیشفرض آن
-U 198 خواهد
بود (زیرا
مشخصه ۱۹۸
عموماً
برای پایش
سکتورهای
غیرقابلتصحیح
برونخط
استفاده
میشود).
اگر نام این
مشخصه توسط
یک
دستورالعمل
'-v 198,FORMAT,NAME' (به جز '-v
198,FORMAT,Offline_Scan_UNC_SectCt')
تغییر کند،
پیشفرض به
-U 0 تغییر
مییابد.
اگر '+' مشخص شود، گزارش تنها در صورتی چاپ میشود که تعداد سکتورها از زمان آخرین چرخه بررسی افزایش یافته باشد. برخی دیسکها هنگام تخصیص مجدد یک سکتور معیوب، این مشخصه را بازنشانی نمیکنند. همچنین بخش '-v 198,increasing' در زیر را ببینید.
اگر تعداد سکتورهای غیرقابلتصحیح برونخط به ۰ کاهش یابد، شمارنده ایمیل هشدار بازنشانی میشود. این معمولاً زمانی رخ میدهد که تمام سکتورهای غیرقابلتصحیح برونخط مجدداً تخصیص یافته باشند یا بتوان آنها را دوباره خواند.
یک سکتور غیرقابلتصحیح برونخط، سکتوری از دیسک است که در طول یک پویش برونخط یا یک خودآزمایی قابل خواندن نبوده است. دانستن این موضوع حائز اهمیت است، زیرا اگر دادههایی در این سکتور دیسک ذخیره شده باشد و نیاز به خواندن آن داشته باشید، خواندن با شکست مواجه خواهد شد. لطفاً برای جزئیات بیشتر به گزینه قبلی '-C' مراجعه فرمایید.
- -W DIFF[,INFO[,CRIT]]
- اگر دمای
فعلی از
زمان آخرین
گزارش
دستکم به
اندازه DIFF
درجه تغییر
کرده باشد،
یا اگر
حداقل یا
حداکثر
دمای جدیدی
شناسایی
شود، گزارش
بده. اگر
دما بزرگتر
یا مساوی با
یکی از
مقادیر INFO
یا CRIT درجه
سلسیوس
باشد،
گزارش داده
یا هشدار
بده. اگر حد
CRIT لمس شود،
پیامی با
سطح لاگ LOG_CRIT
در syslog ثبت شده
و در صورت
تعیین '-m'، یک
ایمیل
هشدار
ارسال
میگردد.
اگر تنها حد
INFO حاصل
شود، پیامی
با سطح LOG_INFO
ثبت خواهد
شد.
اگر دما به زیر INFO کاهش یابد (یا در صورت عدم تعیین INFO، به زیر CRIT-5 برسد)، شمارنده ایمیل هشدار بازنشانی میشود.
اگر این دستورالعمل در ترکیب با ماندگاری وضعیت (گزینه '-s') استفاده شود، مقادیر حداقل و حداکثر دما در چرخههای بوت حفظ میشوند. مقدار حداقل دما در طول ۳۰ دقیقه اول پس از راهاندازی بهروزرسانی نمیشود.
برای غیرفعال کردن هر یک از ۳ گزارش، حد مربوطه را روی 0 تنظیم کنید. آرگومانهای صفر انتهایی را میتوان حذف کرد. به طور پیشفرض، تمام گزارشهای دما غیرفعال هستند ('-W 0').
برای ردیابی تغییرات دما دستکم به میزان ۲ درجه:
-W 2
برای ثبت پیامهای غیررسمی در دماهای حداقل ۴۰ درجه:
-W 0,40
برای پیامها/ایمیلهای هشدار در دماهای حداقل ۴۵ درجه:
-W 0,0,45
برای ترکیب تمام گزارشهای بالا:
-W 2,40,45[ATA] دیمن smartd به طور پیشفرض مشخصه ۱۹۴ یا ۱۹۰ را به عنوان دمای سلسیوس تفسیر میکند. این امر را میتوان از طریق پایگاهداده دیسک یا با دستورالعمل '-v 9,temp' یا '-v 220,temp' به مشخصه ۹ یا ۲۲۰ تغییر داد.
[NVMe] دیمن smartd مقدار دمای ترکیبی (Composite Temperature) گزارششده توسط لاگ SMART/HealthInformation را بررسی میکند.
[اصلاح آزمایشی جدید SMARTD 7.5] مقادیر حسگرهای دمای جداگانه دیگر بررسی نمیشوند، زیرا برخی دستگاهها از این حسگرها برای گزارش مقادیر دیگر مانند حداکثر دما استفاده میکنند. - -F TYPE
- [فقط ATA] رفتار
smartd را برای
جبران برخی
باگهای
شناختهشده
و درکشده
میانافزار
دستگاه
تغییر
میدهد. این
دستورالعمل
ممکن است
چندین بار
استفاده
شود.
آرگومانهای
معتبر
عبارتند از:
none - فرض کن که میانافزار دستگاه از مشخصات ATA پیروی میکند. این حالت پیشفرض است، مگر این که دستگاه دارای پیشتنظیماتی برای '-F' در پایگاهداده درایو باشد. استفاده از این دستورالعمل هرگونه مقدار پیشتنظیم را بازنویسی میکند.
nologdir - تلاش برای خواندن دایرکتوری گزارش SMART یا GP را سرکوب میکند. پشتیبانی از تمام گزارشهای استاندارد بدون بررسی واقعی فرض میشود. برخی SSDهای اینتل در صورت خوانده شدن آدرس لاگ 0 ممکن است قفل کنند.
samsung - در برخی دیسکهای سامسونگ (مثال: مدل SV4012H با نسخه میانافزار RM100-08) برخی از مقادیر دو و چهار بایتی در ساختارهای داده SMART (نسبت به مشخصات فنی ATA) دچار جابهجایی بایت (Byte-swapped) شدهاند. فعال کردن این گزینه به smartd میگوید که این مقادیر را به ترتیب بایت معکوس ارزیابی کند. برخی نشانهها مبنی بر این که دیسک شما به این گزینه نیاز دارد عبارتند از: (۱) عدم چاپ لاگ خودآزمایی با وجود اجرای خودآزماییها؛ (۲) گزارش تعداد بسیار زیادی از خطاهای ATA در لاگ خطای ATA؛ (۳) مقادیر عجیب و غیرممکن برای برچسبهای زمانی لاگ خطای ATA.
samsung2 - در برخی دیسکهای سامسونگ تعداد خطاهای ATA گزارششده دچار جابهجایی بایت شده است. فعال کردن این گزینه به smartd میگوید این مقدار را به ترتیب بایت معکوس ارزیابی کند.
samsung3 - برخی دیسکهای سامسونگ (دستکم SP2514N با میانافزار VF100-37) گزارش میدهند که یک خودآزمایی در حالی که آزمایش از قبل کامل شده است، با ۰٪ باقیمانده همچنان در جریان است. در صورت تعیین این دستورالعمل، smartd در این حالت از خودآزمایی زمانبندیشده بعدی (دستورالعمل '-s' در بالا را ببینید) صرفنظر نخواهد کرد.
xerrorlba - این گزینه تنها بر smartctl اثر میگذارد.
[لطفاً گزینه خط فرمان smartctl -F را ببینید.]
- -v ID,FORMAT[:BYTEORDER][,NAME]
- [فقط ATA] یک
قالب چاپ
مقدار خام
اختصاصی
سازنده، یک
ترتیب بایت
اختیاری و
یک نام
اختیاری را
برای شناسه
مشخصه (Attribute ID)
تنظیم
میکند. این
دستورالعمل
میتواند
چندین بار
استفاده
شود. لطفاً
برای
جزئیات
بیشتر به
گزینه خط
فرمان smartctl -v
مراجعه
کنید.
آرگومانهای زیر بر خروجی هشدار smartd اثر میگذارند:
197,increasing - مشخصه خام شماره ۱۹۷ (شمارش سکتورهای معلق فعلی) در صورت تخصیص مجدد سکتورهای غیرقابلتصحیح بازنشانی نمیشود. این گزینه در صورتی که هیچ دستورالعمل دیگری برای '-C' مشخص نشده باشد، '-C 197+' را تنظیم میکند.
198,increasing - مشخصه خام شماره ۱۹۸ (شمارش سکتورهای غیرقابلتصحیح برونخط) در صورت تخصیص مجدد سکتورهای غیرقابلتصحیح بازنشانی نمیشود. این گزینه در صورتی که هیچ دستورالعمل دیگری برای '-U' مشخص نشده باشد، '-U 198+' را تنظیم میکند.
- -P TYPE
- [فقط ATA] مشخص
میکند که
آیا smartd باید
از
گزینههای
پیشتنظیم
موجود برای
این درایو
استفاده
کند یا خیر.
آرگومانهای
معتبر برای
این
دستورالعمل
عبارتند از:
use - از هرگونه پیشتنظیم موجود برای این درایو استفاده کن. این حالت پیشفرض است.
ignore - از هیچ پیشتنظیمی برای این درایو استفاده نکن.
show - پیشتنظیمات فهرستشده برای این درایو را در پایگاهداده نمایش بده.
showall - پیشتنظیمات موجود برای تمام درایوها را نمایش بده و سپس خارج شو.
[لطفاً گزینه خط فرمان smartctl -P را ببینید.]
- -a
- معادل فعال
کردن تمام
دستورالعملهای
زیر است:
'-H -f -t -l error -l selftest -l selfteststs'
اگر هیچکدام از موارد بالا داده نشود، '-a' در نظر گرفته میشود.[فقط ATA] نکته: به دلایل تاریخی، '-C 197 -U 198' نیز به طور پیشفرض تنظیم میشوند.
- -c OPTION=VALUE
- به کاربر اجازه میدهد گزینههای خط فرمان smartd را برای دستگاههای خاص بازنویسی کند. در حال حاضر تنها گزینه OPTION زیر پشتیبانی میشود:
- -c i=N, -c interval=N
- بازه زمانی میان بررسیهای دیسک را روی N ثانیه تنظیم میکند، که در آن N یک عدد صحیح دهدهی است. حداقل مقدار مجاز، ۱۰ است. مقدار پیشفرض همان مقدار برگرفته از گزینه خط فرمان '-i N, --interval=N' یا مقدار پیشفرض آن یعنی ۱۸۰۰ ثانیه است.
- #
- توضیح: باقیمانده خط را نادیده بگیر.
- \
- نویسه ادامه: اگر این آخرین نویسه غیرفاصله یا غیرتوضیح در یک خط باشد، خط بعدی ادامه خط جاری تلقی میشود.
اگر مطمئن
نیستید از
کدام
دستورالعملها
استفاده
کنید،
پیشنهاد
میکنم چند
دقیقه با smartctl
آزمایش
کنید تا
ببینید
دیسک(های)
شما از چه
قابلیتهای
SMART پشتیبانی
میکند. اگر
پیامهای
حجیم در syslog را
نمیپسندید،
انتخاب
خوبی از
دستورالعملهای
پرونده
پیکربندی
smartd ممکن است
به صورت زیر
باشد:
-H -l selftest -l error -f.
اگر
اطلاعات
مکررتری
میخواهید،
از -a
استفاده
کنید.
- مثالهایی از اسکریپتهای شل برای '-M exec'
- اینها دو
نمونه از
اسکریپتهای
شل هستند که
میتوانند
با
دستورالعمل
'-M exec PATH' که
پیشتر
توضیح داده
شد استفاده
شوند. مسیر
این
اسکریپتها
و فایلهای
اجرایی
مشابه،
همان
آرگومان PATH
برای
دستورالعمل
'-M exec PATH' است.
مثال ۱: این اسکریپت برای استفاده با '-m ADDRESS -M exec PATH' است. این اسکریپت خروجی smartctl -a را به خروجی پیام هشدار ایمیلی smartd ضمیمه کرده و آن را به ADDRESS ارسال میکند.
#! /bin/sh # ذخیره پیام ایمیل (STDIN) در یک فایل: cat > /root/msg # ضمیمه کردن خروجی smartctl -a به پیام: /usr/bin/smartctl -a -d $SMART_DEVICETYPE \ $SMARTD_DEVICE >> /root/msg # اکنون ارسال ایمیل پیام به کاربر در نشانی ADD: /usr/bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS \ < /root/msg
مثال ۲: این اسکریپت برای استفاده با '-m <nomailer> -M exec PATH' است. این اسکریپت به تمام کاربران درباره مشکل دیسک هشدار میدهد، ۳۰ ثانیه صبر میکند و سپس سیستم را خاموش مینماید.
#! /bin/sh # هشدار به تمام کاربران درباره بروز مشکل wall <<EOF Problem detected with disk: $SMARTD_DEVICESTRING Warning message from smartd is: $SMARTD_MESSAGE Shutting down machine in 30 seconds... EOF # ۳۰ ثانیه صبر sleep 30 # خاموش کردن سیستم /sbin/shutdown -hf now
برخی اسکریپتهای نمونه به همراه بسته smartmontools در مسیر /usr/share/doc/smartmontools/examplescripts/ توزیع شدهاند.
لطفاً توجه داشته باشید که این اسکریپتها معمولاً با دسترسی root اجرا میشوند، بنابراین هر فایلی که میخوانند/مینویسند نباید توسط کاربران عادی قابل نوشتن باشد یا در دایرکتوریهایی مانند /tmp قرار گیرد که برای کاربران عادی قابل نوشتن هستند و ممکن است سیستم شما را در معرض حملات پیوند نمادین (Symlink attacks) قرار دهند.
همانطور که پیشتر شرح داده شد، اگر اسکریپتها در STDOUT یا STDERR بنویسند، این امر به عنوان نشانهای از بروز خطای داخلی درون اسکریپت تفسیر شده و بخشی از STDOUT/STDERR در SYSLOG ثبت میگردد. باقی خروجی پاک میشود.
فایلها (FILES)
- /etc/smartd.conf
- مسیر کامل این پرونده پیکربندی.
همچنین ببینید (SEE ALSO)
نسخه بسته (PACKAGE VERSION)
smartmontools-7.5 2025-04-30 r5714
$Id: smartd.conf.5.in 5697 2025-04-22 15:02:53Z chrfranke $
| 2025-04-30 | smartmontools-7.5 |