| SMARTCTL(8) | smartmontools manual | SMARTCTL(8) |
نام (NAME)
smartctl - کنترل و نظارت بر سامانه خودآزمایی، تحلیل و گزارشدهی دیسک (SMART)
خلاصه دستور (SYNOPSIS)
smartctl [گزینهها] دستگاه
توضیحات (DESCRIPTION)
[این صفحه راهنما برای نسخه لینوکس smartmontools تولید شده است. اطلاعات مربوط به سایر پلتفرمها در آن گنجانده نشده است.]
برنامه smartctl سامانهٔ خودآزمایی، تحلیل و گزارشدهی (Self-Monitoring, Analysis and Reporting Technology یا SMART) تعبیهشده در اکثر دیسکهای سخت و درایوهای حالت جامد (SSD) از نوع ATA/SATA و SCSI/SAS را کنترل میکند. هدف SMART نظارت بر قابلیت اطمینان دیسک، پیشبینی خرابیهای درایو و اجرای انواع مختلف خودآزماییهای درایو است. همچنین smartctl از برخی ویژگیهای غیرمرتبط با SMART نیز پشتیبانی میکند. این نسخه از smartctl با استانداردهای ACS-3، ACS-2، ATA8-ACS، ATA/ATAPI-7 و استانداردهای قدیمیتر سازگار است (بخش مراجع (REFERENCES) در ادامه را ببینید).
همچنین smartctl از درایوهای نوار مغناطیسی (Tape Drives) و چنجرهای (Changers) از نوع SCSI پشتیبانی میکند (بخش درایوهای نوار مغناطیسی (TAPE DRIVES) در ادامه را ببینید).
کاربر باید دستگاه مورد نظر برای کنترل یا بازپرسی را به عنوان آرگومان نهایی به smartctl مشخص کند. مجموعه دستورات مورد استفاده توسط دستگاه اغلب از مسیر دستگاه استخراج میشود، اما ممکن است با استفاده از گزینهٔ '-d' نیاز به راهنمایی داشته باشد (برای اطلاعات بیشتر به بخش «مجموعه دستورات ATA، SCSI و SAT» در ادامه مراجعه کنید). مسیرهای دستگاه به شرح زیر است:
- LINUX:
- برای دستگاههای ATA/SATA و SCSI/SAS از قالبهای "/dev/sd[a-z]" استفاده کنید. برای درایوهای نوار مغناطیسی و چنجرهای SCSI از دستگاههای "/dev/nst*" و "/dev/sg*" استفاده کنید. برای دیسکهای پشت کنترلرهای 3ware ممکن است به "/dev/sd[a-z]" یا "/dev/twe[0-9]"، "/dev/twa[0-9]" یا "/dev/twl[0-9]" نیاز داشته باشید: جزئیات را در ادامه مشاهده کنید. برای دیسکهای پشت کنترلرهای HighPoint RocketRAID ممکن است به "/dev/sd[a-z]" نیاز داشته باشید. برای دیسکهای پشت کنترلرهای Areca SATA RAID به "/dev/sg[2-9]" نیاز دارید (توجه داشته باشید که smartmontools با کنترلرهای Areca از طریق یک دستگاه جنریک SCSI ارتباط برقرار میکند که با دستگاه SCSI مورد استفاده برای خواندن و نوشتن دادهها متفاوت است)! برای کنترلرهای HP Smart Array RAID در حال حاضر سه درایور پشتیبانی میشوند: cciss، hpsa و hpahcisr. برای دیسکهایی که از طریق درایور cciss به آنها دسترسی پیدا میشود، گرههای دستگاه به فرم "/dev/cciss/c[0-9]d0" هستند. برای دیسکهایی که از طریق درایورهای hpahcisr و hpsa به آنها دسترسی پیدا میشود، گرههای دستگاه مورد نیاز شما "/dev/sg[0-9]*" هستند. (دستور "lsscsi -g" در تشخیص اینکه کدام گره دستگاه جنریک scsi مربوط به کدام دستگاه است مفید است.) از گرههای متناظر با کنترلرهای RAID استفاده کنید، نه گرههای مربوط به درایوهای منطقی. همچنین گزینهٔ -d در ادامه را ببینید. برای دستگاههای NVMe از فرمهای "/dev/nvme[0-9]" (فضای نام همگانی / broadcast namespace) یا "/dev/nvme[0-9]n[1-9]" (فضای نام خاص ۱ تا ۹ / specific namespace 1-9) استفاده کنید.
اگر '-' به عنوان مسیر دستگاه مشخص شود، smartctl خروجی اشکالزدایی (debug) خود را از ورودی استاندارد (standard input) خوانده و تفسیر میکند. برای جزئیات بیشتر به گزینهٔ '-r ataioctl' در ادامه مراجعه کنید.
برنامهٔ smartctl در صورت امکان نوع دستگاه را حدس میزند. در صورت لزوم، میتوان از گزینهٔ '-d' برای لغو این حدس و تعیین صریح نوع دستگاه استفاده کرد.
توجه داشته باشید که خروجی چاپی smartctl اکثر مقادیر عددی را در مبنای ۱۰ (دهدهی / decimal) نمایش میدهد، اما برخی مقادیر در مبنای ۱۶ (هگزادسیمال / hexadecimal) نمایش داده میشوند. برای تمایز آنها، مقادیر مبنای ۱۶ همواره با پیشوند "0x" نمایش داده میشوند، به عنوان مثال: "0xff". این صفحهٔ راهنما نیز از همین قاعده پیروی میکند.
گزینهها (OPTIONS)
گزینهها در زیر به چند دسته تقسیم شدهاند. smartctl دستورات متناظر را به این ترتیب اجرا خواهد کرد: اطلاعات، فعالسازی/غیرفعالسازی، نمایش دادهها، اجرا/توقف آزمونها.
- گزینههای نمایش اطلاعات (SHOW INFORMATION OPTIONS):
- -h, --help, --usage
- پیام راهنمای نحوه استفاده از دستور را در STDOUT چاپ کرده و خارج میشود.
- -V, --version, --copyright, --license
- اطلاعات نسخه، حق نشر (کپیرایت)، پروانه، صفحه خانگی و بازبینی SVN مربوط به نسخه smartctl شما را در STDOUT چاپ کرده و سپس خارج میشود.
- -i, --info
- شماره مدل،
شماره
سریال،
نسخه
سفتافزار
(فریمور) و
اطلاعات
نسخه/ویرایش
استاندارد
ATA دستگاه را
چاپ میکند.
نشان
میدهد که
آیا دستگاه
از SMART
پشتیبانی
میکند یا
خیر، و در
صورت
پشتیبانی،
آیا
پشتیبانی
از SMART در حال
حاضر فعال
است یا
غیرفعال.
اگر دستگاه
از حالت
آدرسدهی
بلوک منطقی
(حالت LBA)
پشتیبانی
کند، ظرفیت
فعلی درایو
برای کاربر
را بر حسب
بایت چاپ
میکند.
(اگر درایو
دارای
ناحیه
محافظتشده
رزرو شده
برای کاربر
باشد، یا
"بریده
شده" (clipped)
باشد، این
مقدار ممکن
است کمتر از
حداکثر
ظرفیت
بالقوه
درایو
باشد.) مشخص
میکند که
آیا درایو
در
پایگاهداده
smartmontools موجود
است یا خیر
(گزینههای
'-v' در زیر را
ببینید). در
این صورت،
خانواده
مدل درایو
نیز ممکن
است چاپ
شود. اگر '-n' (در
زیر ببینید)
مشخص شده
باشد، حالت
مصرف انرژی
درایو نیز
چاپ میشود.
[NVMe] برای دستگاههای NVMe، این اطلاعات از ساختارهای داده Identify Controller و Identify Namespace بهدست میآید.
- --identify[=[w][nvb]]
- [فقط ATA] یک جدول حاوی حاشیهنویسی از دادههای IDENTIFY DEVICE را چاپ میکند. بهطور پیشفرض، فقط کلمات معتبر (کلماتی که برابر با 0x0000 یا 0xffff نیستند) و بیتها و فیلدهای بیتی غیرصفر چاپ میشوند. این رفتار را میتوان با آرگومان اختیاری که شامل یک یا دو نویسه از مجموعه 'wnvb' است تغییر داد. نویسه 'w' چاپ همه ۲۵۶ کلمه را فعال میکند. نویسه 'n' از چاپ بیتها جلوگیری میکند، 'v' چاپ تمام بیتهای کلمات معتبر را فعال میکند و 'b' چاپ تمام بیتها را فعال میسازد. برای مثال '--identify=n' (کلمات معتبر، بدون بیت) کوتاهترین خروجی و '--identify=wb' (تمام کلمات، تمام بیتها) طولانیترین خروجی را تولید میکند.
- -a, --all
- تمام
اطلاعات SMART
مربوط به
دستگاه را
چاپ میکند.
برای ATA، این معادل است با
'-H -i -c -A -l error -l selftest -l selective'.
این گزینه دیگر برای دیسکهای ATA توصیه نمیشود زیرا گزینههای SMART را که نیازمند پشتیبانی از دستورات ۴۸ بیتی ATA هستند فعال نمیکند (گزینه '-x' در زیر را ببینید).برای SCSI، این معادل است با
'-H -i -A -l error -l selftest'.برای NVMe، این معادل است با
'-H -i -c -A -l error -l selftest'. - -x, --xall
- تمام
اطلاعات SMART و
غیر SMART مربوط
به دستگاه
را چاپ
میکند.
برای ATA، این معادل است با
'-H -i -g all -c -A -f brief -l xerror,error -l xselftest,selftest -l selective -l directory -l scttemp -l scterc -l devstat -l defects -l sataphy'.
اگر '-a' نیز مشخص شده باشد، عبارت '-l error -l selftest' اضافه میشود.
[اصلاح تجربی جدید در SMARTCTL 7.5] گزینه '-g wcreorder' دیگر گنجانده نمیشود زیرا بررسی اینکه آیا این قابلیت توسط درایو پشتیبانی میشود یا خیر امکانپذیر نیست.برای دیسکهای SCSI، این معادل است با
'-H -i -g all -A -l error -l selftest -l background -l sasphy -l defects -l envrep -l genstats -l ssd -l zdevstat'
و برای درایوهای نوار مغناطیسی (tape) و تعویضکنندههای (changers) مبتنی بر SCSI، عبارت '-l tapedevstat' را اضافه کنید.برای NVMe، این معادل است با
'-H -i -c -A -l error -l selftest'. - --scan
- دستگاهها را پویش کرده و نام هر دستگاه، نوع دستگاه و اطلاعات پروتکل ([ATA] یا [SCSI]) را چاپ میکند. میتوان از این گزینه همراه با '-d TYPE' استفاده کرد تا پویش به یک TYPE خاص محدود شود. همچنین اطلاعات مربوط به پویش دستگاه وابسته به پلتفرم و دستورالعمل DEVICESCAN در صفحه راهنمای smartd(8) را ببینید.
- --scan-open
- مشابه --scan
است، اما
علاوه بر آن
تلاش
میکند تا
پیش از چاپ
اطلاعات
دستگاه، هر
دستگاه را
باز کند.
باز کردن
دستگاه
ممکن است به
دلیل تشخیص
خودکار،
نوع دستگاه
را تغییر
دهد (همچنین
'-d test' را
ببینید).
از این گزینه میتوان برای ایجاد یک پیشنویس از فایل smartd.conf استفاده کرد. تمام گزینههای بعد از '--' به انتهای هر خط خروجی افزوده میشوند. برای مثال:
smartctl --scan-open -- -a -W 4,45,50 -m admin@work > smartd.conf
میتوان چندین گزینه '-d TYPE' را همراه با '--scan[-open]' مشخص کرد تا نتایج پویش مربوط به بیش از یک TYPE با هم ترکیب شوند.
- -g NAME, --get=NAME
- تنظیمات غیر SMART دستگاه را دریافت میکند. برای اطلاعات بیشتر '-s, --set' در زیر را ببینید.
- گزینههای رفتار زمان اجرا (RUN-TIME BEHAVIOR OPTIONS):
- -j, --json[=cgiosuvy]
- حالت خروجی
JSON یا YAML را
فعال
میکند.
خروجی را میتوان با آرگومان اختیاری که شامل یک یا چند نویسه از مجموعه 'cgiosuvy' است اصلاح یا تقویت کرد:
'c': خروجی را در قالب فشرده (compact) بدون فاصلهها و خطوط جدید اضافی چاپ میکند. بهطور پیشفرض، خروجی بهصورت خوانا و زیبا (pretty-printed) نمایش داده میشود. اگر همراه با قالب YAML استفاده شود، تورفتگی آرایهها کاهش مییابد.
'g': ساختار JSON را بهصورت انتسابهای منفرد خروجی میدهد تا امکان استفاده از grep فراهم شود. هر انتساب نشاندهنده مسیر مطلق یک مقدار است. نحو آن با gron سازگار است:
'json.KEY1[INDEX2].KEY3 = VALUE;'.
'o': خروجی کامل متن ساده اصلی (original plaintext output) دستور smartctl را به عنوان یک آرایه JSON با نام 'smartctl.output[]' در بر میگیرد.
's': عناصر شیء JSON را مرتبشده (sorted) بر اساس کلید خروجی میدهد. بهطور پیشفرض، عناصر شیء به ترتیبی که در داخل برنامه تولید شدهاند چیده میشوند.
'v': خروجی با جزئیات بیشتر (verbose) را برای اعداد صحیح احتمالاً ناامن فعال میکند. در صورت مشخص شدن، مقادیری که ممکن است از محدوده اعداد صحیح امن JSON (۵۳ بیتی) فراتر بروند، فارغ از مقدار واقعیشان، همواره هم به عنوان عدد (با یک 'KEY') و هم به عنوان رشته ('KEY_s') خروجی داده میشوند. مقادیری که ممکن است از محدوده ۶۴ بیتی فراتر روند، بهصورت آرایه بایتی لیتلاندین ('KEY_le') نیز خروجی داده میشوند. بهطور پیشفرض، عناصر اضافی تنها زمانی خروجی داده میشوند که مقدار در عمل از محدوده فراتر رود.
'y': خروجی را در قالب YAML نمایش میدهد.دو آرگومان زیر اساساً برای توسعهدهندگان در نظر گرفته شدهاند:
'i': شامل خطوطی از خروجی متن ساده است که اطلاعاتی را چاپ میکنند که قبلاً برای خروجی JSON پیادهسازی (implemented) شدهاند. این خطوط بهصورت رشتههایی با کلید 'smartctl_NNNN_i' ظاهر میشوند.
'u': شامل خطوطی از خروجی متن ساده است که اطلاعاتی را چاپ میکنند که هنوز برای خروجی JSON پیادهسازی نشدهاند (unimplemented). این خطوط بهصورت رشتههایی با کلید 'smartctl_NNNN_u' ظاهر میشوند. - -q TYPE, --quietmode=TYPE
- مشخص
میکند که
smartctl باید در
یکی از
حالتهای
بیصدا (quiet modes)
که در اینجا
شرح داده
شده اجرا
شود.
آرگومانهای
معتبر برای
این گزینه
عبارتند از:
errorsonly - فقط موارد زیر را چاپ میکند: برای گزینه '-l error'، در صورت غیرصفر بودن، تعداد خطاهای ثبتشده در گزارش خطای SMART و زمان کارکرد درایو (power-on time) هنگام وقوع آنها؛ برای گزینه '-l selftest'، خطاهای ثبتشده در گزارش خودآزمایی دستگاه؛ برای گزینه '-H'، وضعیت "خرابی دیسک" (disk failing) در SMART یا مشخصههای (Attributes) دستگاه (پیش از خرابی یا نرخ استفاده) که در حال حاضر یا در گذشته دچار شکست شدهاند؛ برای گزینه '-A'، مشخصههای دستگاه (پیش از خرابی یا نرخ استفاده) که در حال حاضر یا در گذشته دچار شکست شدهاند.
silent - هیچ خروجی چاپ نمیکند. تنها راه برای آگاهی از آنچه پیدا شده، استفاده از وضعیت خروج smartctl است (وضعیت خروج (EXIT STATUS) در زیر را ببینید).
noserial - شماره سریال دستگاه را چاپ نمیکند. این کار همچنین شناسه دستگاه LU WWN در (ATA) و آدرسهای SAS در (SCSI) را پنهان میسازد. فیلدهای مرتبط در خروجیهای اشکالزدایی ATA و NVMe نیز نامعتبر میشوند.
نکته: در خروجی اشکالزدایی SCSI اینگونه نیست.
[قابلیت تجربی جدید در SMARTCTL 7.4] شناسه Namespace IEEE EUI-64 در (NVMe) نیز پنهان میشود.
[قابلیت تجربی جدید در SMARTCTL 7.5] شماره سریال و نام جهانی (World Wide Name) از گزارش FARM (گزینه '-l farm' در زیر را ببینید) نیز پنهان میشوند، به جز در خروجی اشکالزدایی. - -d TYPE, --device=TYPE
- نوع دستگاه
را مشخص
میکند.
آرگومانهای
معتبر برای
این گزینه
عبارتند از:
auto - تلاش برای حدس زدن نوع دستگاه از روی نام دستگاه یا از روی اطلاعات نوع کنترلر ارائهشده توسط سیستمعامل یا از یک مدخل منطبق USB ID در پایگاهداده درایوها. این حالت پیشفرض است.
test - مقدار TYPE حدسزدهشده را چاپ میکند، سپس دستگاه را باز کرده و نام (احتمالاً تغییریافته) TYPE را چاپ میکند و سپس بدون اجرای هیچ دستور دیگری خارج میشود.
ata - نوع دستگاه ATA است. این کار مانع از ارسال دستورات SCSI توسط smartctl به یک دستگاه ATA میشود.
scsi - نوع دستگاه SCSI است. این کار مانع از ارسال دستورات ATA توسط smartctl به یک دستگاه SCSI میشود.
nvme[,NSID] - نوع دستگاه NVM Express (NVMe) است. پارامتر اختیاری NSID شناسه فضای نام (namespace id به صورت هگزادسیمال) ارسالشده به درایور را مشخص میکند. از 0xffffffff برای شناسه فضای نام همگانی (broadcast namespace id) استفاده کنید. مقدار پیشفرض برای NSID همان شناسه فضای نامی است که توسط نام دستگاه آدرسدهی شده است.
sat[,auto][,N] - نوع دستگاه SCSI to ATA Translation (SAT) است. این مورد برای دیسکهای ATA است که دارای یک لایه ترجمه SCSI به SATL) ATA) میان دیسک و سیستمعامل هستند. استاندارد SAT دو دستور ATA PASS THROUGH SCSI را تعریف میکند، یکی با طول ۱۲ بایت و دیگری با طول ۱۶ بایت. حالت پیشفرض نوع ۱۶ بایتی است که میتوان آن را با '-d sat,12' یا '-d sat,16' جایگزین کرد.
اگر '-d sat,auto' مشخص شود، نوع دستگاه SAT (برای دیسکهای ATA/SATA) تنها در صورتی استفاده میشود که دادههای SCSI INQUIRY یک SATL را گزارش کنند (VENDOR: "ATA "). در غیر این صورت نوع دستگاه SCSI (برای دیسکهای SCSI/SAS) استفاده میشود.
usbasm1352r,PORT - [ویژگی جدید و آزمایشی در SMARTCTL 7.4] این نوع دستگاه برای یک یا دو دیسک SATA است که پشت یک پل ASMedia ASM1352R USB به SATA (RAID) قرار دارند. پارامتر PORT (مقدار 0 یا 1) دیسک مورد نظر برای پایش را انتخاب میکند.
نکته: این پل USB از '-d sat' نیز پشتیبانی میکند. این مورد دیسک اول را پایش میکند یا اگر دیسکی به درگاه اول متصل نباشد، دیسک دوم را پایش میکند.usbcypress - این نوع دستگاه برای دیسکهای ATA است که پشت یک پل Cypress USB به PATA قرار دارند. این گزینه از دستور اختصاصی ATACB scsi pass through استفاده خواهد کرد. کد عملیات (operation code) پیشفرض SCSI برابر 0x24 است، اما با اینکه میتوان آن را با '-d usbcypress,0xN' بازنویسی کرد (که در آن N کد عملیات scsi است)، شما با خطر آسیب دیدن دستگاه یا فایلسیستمهای روی آن مواجه میشوید.
usbjmicron[,p][,x][,PORT] - این نوع دستگاه برای دیسکهای SATA است که پشت یک پل JMicron USB به PATA/SATA قرار دارند. دستورات ۴۸-بیتی ATA (که برای مثال برای '-l xerror' لازم هستند، در ادامه را ببینید) با تمام این پلها کار نمیکنند و بنابراین به طور پیشفرض غیرفعال هستند. این دستورات را میتوان با '-d usbjmicron,x' فعال کرد. اگر دو دیسک به یک پل با دو درگاه متصل باشند، در صورتی که هیچ درگاهی (PORT مقدار 0 یا 1) مشخص نشود، یک پیام خطا چاپ میشود.
اگر دستگاه از یک تکثیرکننده درگاه (port multiplier) برای اتصال چند دیسک به یک درگاه استفاده کند، پارامتر PORT ضروری نیست. در این صورت دیسکها تحت نامهای مجزای /dev/ice ظاهر میشوند.
هشدار: مشخص کردن ',x' برای دستگاهی که از آن پشتیبانی نمیکند منجر به خطاهای ورودی/خروجی (I/O) شده و ممکن است ارتباط درایو را قطع کند. همین امر در صورتی که PORT مشخصشده وجود نداشته باشد یا به دیسکی متصل نباشد نیز صدق میکند.پلهای Prolific PL2507/3507 USB با سفتافزار قدیمیتر از یک دستور pass-through مشابه با JMicron پشتیبانی میکنند و با '-d usbjmicron,0' کار میکنند. سفتافزار جدیدتر Prolific به یک دستور تغییریافته نیاز دارد که میتوان آن را با '-d usbjmicron,p' انتخاب کرد. توجه داشته باشید که این مورد هنوز از دستور وضعیت SMART پشتیبانی نمیکند.
usbprolific - این نوع دستگاه برای دیسکهای SATA است که پشت یک پل Prolific PL2571/2771/2773/2775 USB به SATA قرار دارند.
usbsunplus - این نوع دستگاه برای دیسکهای SATA است که پشت یک پل SunplusIT USB به SATA قرار دارند.
sntasmedia[/sat] - این نوع دستگاه برای دیسکهای NVMe است که پشت یک پل ASMedia USB به NVMe قرار دارند.
[ویژگی جدید و آزمایشی در SMARTCTL 7.5] اگر پسوند '/sat' مشخص شود و دستور NVMe Identify Controller با شکست مواجه شود، نوع دستگاه به '-d sat' تغییر مییابد. این قابلیت برای مبدلهای USB M.2 که از هر دو دستگاههای NVMe و SATA پشتیبانی میکنند مفید است.sntjmicron[,NSID][/sat] - این نوع دستگاه برای دیسکهای NVMe است که پشت یک پل JMicron USB به NVMe قرار دارند. پارامتر اختیاری NSID شناسه فضای نام (namespace id به صورت هگزادسیمال) ارسالشده به درایور را مشخص میکند. شناسه فضای نام پیشفرض، شناسه فضای نام همگانی (0xffffffff) است. همچنین برای پسوند '/sat' بخش '-d sntasmedia' را ببینید.
sntrealtek[/sat] - این نوع دستگاه برای دیسکهای NVMe است که پشت یک پل Realtek USB به NVMe قرار دارند. همچنین برای پسوند '/sat' بخش '-d sntasmedia' را ببینید.
marvell - [فقط در لینوکس] (منسوخ شده و در آینده حذف خواهد شد).
megaraid,N - [فقط در FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک SCSI/SAS متصل به یک کنترلر MegaRAID است. عدد صحیح غیرمنفی N (در بازه ۰ تا ۱۲۷ شامل خود آنها) نشان میدهد کدام دیسک روی کنترلر پایش میشود. این رابط برای کنترلرهای Dell PERC نیز کار خواهد کرد. از ساختارهایی مانند موارد زیر استفاده کنید:
smartctl -a -d megaraid,2 /dev/sda
smartctl -a -d megaraid,0 /dev/sdb
smartctl -a -d megaraid,0 /dev/bus/0
امکان تعیین نام دستگاه RAID بهصورت /dev/bus/N وجود دارد، که در آن N شماره گذرگاه SCSI است.مدخل زیر در /proc/devices باید وجود داشته باشد:
برای کنترلرهای PERC2/3/4: megadevN
برای کنترلرهای PERC5/6: megaraid_sas_ioctlNaacraid,H,L,ID - [فقط در لینوکس، ویندوز و Cygwin] دستگاه شامل یک یا چند دیسک SCSI/SAS یا SATA متصل به یک کنترلر AacRaid است. اعداد صحیح غیرمنفی H,L,ID (شماره میزبان، Lun، و ID) نشان میدهند کدام دیسک روی کنترلر پایش میشود. از ساختارهایی مانند موارد زیر استفاده کنید:
smartctl -a -d aacraid,0,0,2 /dev/sda
smartctl -a -d aacraid,1,0,4 /dev/sdbگزینه '-d sat,auto+...' به طور ضمنی برای تشخیص دیسکهای SATA فعال است. برای غیرفعال کردن آن از '-d scsi+aacraid,H,L,ID' استفاده کنید.
در لینوکس، مدخل زیر در /proc/devices باید وجود داشته باشد: aac. گرههای دستگاه نویسهای /dev/aacH (که در آن H=شماره میزبان) در صورت نیاز ایجاد میشوند.
3ware,N - [فقط در FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک ATA متصل به یک کنترلر 3ware RAID است. عدد صحیح غیرمنفی N (در بازه ۰ تا ۱۲۷ شامل خود آنها) نشان میدهد کدام دیسک روی کنترلر پایش میشود. از ساختارهایی مانند موارد زیر استفاده کنید:
smartctl -a -d 3ware,2 /dev/sda [فقط در لینوکس]
smartctl -a -d 3ware,0 /dev/twe0
smartctl -a -d 3ware,1 /dev/twa0
smartctl -a -d 3ware,1 /dev/twl0 [فقط در لینوکس]
smartctl -a -d 3ware,1 /dev/tws0 [فقط در FreeBSD]
دو حالت اول، که به دستگاههای /dev/sda-z (منسوخ شده) و /dev/twe0-15 اشاره دارند، ممکن است با کنترلرهای سری 6000، 7000 و 8000 شرکت 3ware که از درایور 3x-xxxx استفاده میکنند به کار روند. دستگاههای /dev/twa0-15 باید با کنترلرهای سری 9000 شرکت 3ware استفاده شوند که از درایور 3w-9xxx استفاده میکنند. دستگاههای /dev/twl0-15 [لینوکس] یا /dev/tws0-15 [FreeBSD] باید با کنترلرهای سری 3ware/LSI 9750 استفاده شوند که از درایور 3w-sas استفاده میکنند.توجه داشته باشید که اگر گرههای دستگاه نویسهای ویژه /dev/tw[ls]?, /dev/twa? و /dev/twe? وجود نداشته باشند، یا با شمارههای ماژور یا مینور نادرست وجود داشته باشند، smartctl آنها را در حین اجرا دوباره ایجاد خواهد کرد.
areca,N - [فقط در FreeBSD، لینوکس، ویندوز و Cygwin] دستگاه شامل یک یا چند دیسک SATA متصل به یک کنترلر Areca SATA RAID است. عدد صحیح مثبت N (در بازه ۱ تا ۲۴ شامل خود آنها) نشان میدهد کدام دیسک روی کنترلر پایش میشود. در لینوکس از ساختارهایی مانند موارد زیر استفاده کنید:
smartctl -a -d areca,2 /dev/sg2
smartctl -a -d areca,3 /dev/sg3
خط اول بالا به دیسک دوم در اولین کنترلر Areca RAID اشاره میکند. خط دوم به دیسک سوم در دومین کنترلر Areca RAID اشاره میکند. برای کمک به شناسایی دستگاه صحیح در لینوکس، از دستور زیر استفاده کنید:
cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices
تا دستگاههای عمومی SCSI (یکی در هر خط، با شروع از /dev/sg0) نمایش داده شوند. دستگاههای عمومی صحیح SCSI برای آدرسدهی در smartmontools مواردی هستند که فیلد نوع (type) آنها برابر با ۳ است. اگر دستگاه نادرستی آدرسدهی شود، لطفاً پیامهای هشدار/خطا را به دقت بخوانید. آنها باید نکاتی درباره اینکه از چه دستگاههایی استفاده کنید ارائه دهند.مهم: کنترلر Areca باید دارای نگارش سفتافزار ۱.۴۶ یا بالاتر باشد. نگارشهای سفتافزار با شمارههای پایینتر پیامهای خطای SCSI (بیضرر) داده و هیچ اطلاعات SMART ارائه نمیدهند.
areca,N/E - [فقط در FreeBSD، لینوکس، ویندوز و Cygwin] دستگاه شامل یک یا چند دیسک SATA یا SAS متصل به یک کنترلر Areca SAS RAID است. عدد صحیح N (بازه ۱ تا ۱۲۸) نشاندهنده کانال (اسلات) و E (بازه ۱ تا ۸) نشاندهنده محفظه (enclosure) است. مهم: این مورد نیازمند نگارش سفتافزار ۱.۵۱ یا بالاتر کنترلر Areca SAS است.
cciss,N - [فقط در FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک SCSI/SAS یا SATA متصل به یک کنترلر cciss RAID است. عدد صحیح غیرمنفی N (در بازه ۰ تا ۱۲۷ شامل خود آنها) نشان میدهد کدام دیسک روی کنترلر پایش میشود.
گزینه '-d sat,auto+...' به طور ضمنی برای تشخیص دیسکهای SATA فعال است. برای غیرفعال کردن آن از '-d scsi+cciss,N' استفاده کنید.
برای بررسی دیسکهای پشت کنترلرهای HP Smart Array، از ساختارهایی مانند موارد زیر استفاده کنید:
smartctl -a -d cciss,0 /dev/cciss/c0d0 (درایور cciss در لینوکس)
smartctl -a -d cciss,0 /dev/sg2 (درایورهای hpsa یا hpahcisr در لینوکس)hpt,L/M/N - [فقط در FreeBSD و لینوکس] دستگاه شامل یک یا چند دیسک ATA متصل به یک کنترلر HighPoint RocketRAID است. عدد صحیح L شناسه کنترلر، عدد صحیح M شماره کانال، و عدد صحیح N شماره PMPort در صورت موجود بودن است. مقادیر مجاز L از ۱ تا ۴، برای M از ۱ تا ۱۲۸ و برای N در صورت وجود PMPort از ۱ تا ۴ (شامل خود آنها) است. همچنین این مقادیر بر اساس مدل کنترلر HighPoint RocketRAID محدود میشوند. از ساختارهایی مانند موارد زیر استفاده کنید:
smartctl -a -d hpt,1/3 /dev/sda (در لینوکس)
smartctl -a -d hpt,1/2/3 /dev/sda (در لینوکس)
توجه داشته باشید که فرمت /dev/sda-z باید گره دستگاهی باشد که بیانگر دیسکهای مشتقشده از کنترلرهای HighPoint RocketRAID در لینوکس است، و در FreeBSD، دستگاه نویسهای است که درایور ثبت کرده است (مانند /dev/hptrr, /dev/hptmv6).sssraid,E,S - [فقط در لینوکس: ویژگی جدید و آزمایشی در SMARTCTL 7.4] دستگاه شامل یک یا چند دیسک SCSI/SAS یا SATA متصل به یک کنترلر SSSRAID است. عدد صحیح غیرمنفی E (در بازه ۰ تا ۸) نشاندهنده محفظه (enclosure) و S (بازه ۰ تا ۱۲۸) نشاندهنده اسلات است. از ساختاری مانند مورد زیر استفاده کنید:
smartctl -a -d sssraid,0,1 /dev/bsg/sssraid0
امکان تعیین نام دستگاه RAID بهصورت /dev/bsg/sssraidN وجود دارد، که در آن N شماره گذرگاه SCSI است.intelliprop,N[+TYPE] - (منسوخ شده و در آینده حذف خواهد شد).
jmb39x[-q[2]],N[,sLBA][,force][+TYPE] - دستگاه شامل چندین دیسک SATA متصل به یک تکثیرکننده درگاه JMicron JMB39x RAID است. پسوند '-q' نوع متفاوتی از دستور را که توسط دستگاههای ذخیرهساز تحت شبکه (NAS) مدل QNAP TR-004 استفاده میشود انتخاب میکند. عدد صحیح N شماره درگاه از ۰ تا ۴ است.
[ویژگی جدید و آزمایشی در SMARTCTL 7.5] پسوند '-q2' نوع دیگری از دستور را که توسط دستگاههای NAS مدل QNAP TR-002 استفاده میشود انتخاب میکند.
هشدار: دستورات ATA pass-through از طریق دستورات READ/WRITE به یک LBA از حجم RAID ارسال میشوند. استفاده از این گزینه با سایر دستگاهها ممکن است باعث بازنویسی و رونویسی این سکتور شود.
مقدار پیشفرض LBA برابر ۳۳ است. مقدار LBA را میتوان در بازه ۱ تا ۲۵۵ (شامل هر دو) انتخاب کرد.
اگر جدول پارتیشن GPT استفاده شود، LBA 33 حاوی ۴ مدخل آخر (از ۱۲۸ مدخل) جدول پارتیشن است. این مدخلها در اکثر موارد با صفر پر شدهاند. اگر جدول پارتیشن MBR استفاده شود، LBA 33 ممکن است با صفر پر شده باشد یا شامل کدی از یک بوتلودر (boot loader) باشد.
به طور پیشفرض، اگر سکتور انتخابشده با صفر پر نشده باشد، دسترسی به دستگاه رد میشود. فلگ 'force' این بررسی را غیرفعال میکند.
هشدار: اگر smartctl با یک سیگنال متوقف شود، دادههای اصلی سکتور دوباره بازنویسی و بازیابی نمیشوند.jms56x,N[,sLBA][,force][+TYPE] - دستگاه شامل چندین دیسک SATA متصل به یک پل JMicron JMS56x USB به SATA RAID است. برای آرگومانهای معتبر، 'jmb39x...' در بالا را ببینید.
- -T TYPE, --tolerance=TYPE
- [فقط ATA] مشخص
میکند که
smartctl چقدر
باید در
برابر
خطاهای
دستورات ATA و
SMART بردبار
باشد.
رفتار smartctl به این بستگی دارد که دستور «اختیاری» (optional) باشد یا «اجباری» (mandatory). در اینجا منظور از «اجباری» این است که «در صورت پیادهسازی مجموعه دستورات SMART توسط دستگاه، طبق مشخصات استانداردهای ATA الزامی است» و منظور از «اختیاری» این است که «حتی اگر دستگاه مجموعه دستورات SMART را پیادهسازی کرده باشد، طبق مشخصات استانداردهای ATA الزامی نیست.» دستورات ATA و SMART «اجباری» عبارتند از: (۱) ATA IDENTIFY DEVICE، (۲) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE، (۳) SMART ENABLE/DISABLE و (۴) SMART RETURN STATUS.
آرگومانهای معتبر برای این گزینه عبارتند از:
normal - در صورت بروز خطا در هر دستور اجباری SMART خارج میشود و تمام خطاهای دستورات اختیاری SMART را نادیده میگیرد. این مقدار پیشفرض است. توجه داشته باشید که در برخی دستگاهها، صدور دستورات اختیاری پیادهسازینشده SMART خطایی ایجاد نمیکند. این میتواند منجر به پیامهای گمراهکننده smartctl مانند «Feature X not implemented» شود که بلافاصله پیام «Feature X: enabled» در پی آن میآید. در بیشتر چنین مواردی، برخلاف پیام نهایی، ویژگی X فعال نشده است.
conservative - در صورت بروز خطا در هر دستور اختیاری SMART خارج میشود.
permissive - خطا(های) دستورات اجباری SMART را نادیده میگیرد. این گزینه را میتوان بیش از یکبار مشخص کرد. هر استفاده اضافی از این گزینه باعث میشود یک خطای دیگر نادیده گرفته شود. توجه داشته باشید که استفاده از این گزینه میتواند به پیامهایی مانند «Feature X not supported» منجر شود که اندکی بعد «Feature X enable failed» به دنبال آن میآید. در تعداد اندکی از این موارد، برخلاف پیام نهایی، ویژگی X در واقع فعال شده است.
verypermissive - معادل مشخص کردن تعداد زیادی از گزینه '-T permissive' است: خطاهای هر تعداد از دستورات اجباری SMART را نادیده میگیرد. لطفاً یادداشت بالا را ببینید.
- -b TYPE, --badsum=TYPE
- [فقط ATA]
اقداماتی
را که smartctl در
صورت
شناسایی
خطای چکسام
(checksum error) در هر یک
از این
ساختارها
باید انجام
دهد، مشخص
میکند: (۱)
ساختار
هویت
دستگاه (Device Identity
Structure)، (۲)
ساختار
گزارش
خودآزمایی
SMART (SMART Self-Test Log Structure)، (۳)
ساختار
مقادیر
ویژگیهای
SMART (SMART Attribute Value Structure)، (۴)
ساختار
آستانه
ویژگیهای
SMART (SMART Attribute Threshold Structure)، یا
(۵) ساختار
گزارش خطای
ATA (ATA Error Log Structure).
آرگومانهای معتبر برای این گزینه عبارتند از:
warn - چکسام نادرست را گزارش میدهد اما با وجود آن به کار ادامه میدهد. این مقدار پیشفرض است.
exit - از smartctl خارج میشود.
ignore - بدون صدور هشدار، به صورت خاموش به کار ادامه میدهد.
- -r TYPE, --report=TYPE
- در درجه اول
برای کمک به
توسعهدهندگان
smartmontools در جهت
درک رفتار
smartmontools روی
سختافزارهایی
که با
استانداردها
مطابقت
ندارند یا
مطابقت
ضعیفی
دارند در
نظر گرفته
شده است.
این گزینه
جزئیات
تراکنشهای
smartctl با
دستگاه را
گزارش
میدهد. از
این گزینه
میتوان
چندین بار
استفاده
کرد. هنگامی
که فقط
یکبار
استفاده
شود،
سابقهای
از
تراکنشهای
ioctl() با دستگاه
را نشان
میدهد.
هنگامی که
بیش از
یکبار
استفاده
شود،
جزئیات این
تراکنشهای
ioctl() با تفصیل و
دقت بیشتری
گزارش
میشوند.
آرگومانهای
معتبر برای
این گزینه
عبارتند از:
ioctl - تمام تراکنشهای ioctl() را گزارش میدهد.
ataioctl - فقط تراکنشهای ioctl() با دستگاههای ATA را گزارش میدهد.
scsiioctl - فقط تراکنشهای ioctl() با دستگاههای SCSI را گزارش میدهد. فراخوانی یکباره این آرگومان، دستورات SCSI را به صورت هگزادسیمال و وضعیت متناظر با آنها را نشان میدهد. فراخوانی دوباره آن، فهرست هگزادسیمالی از ۶۴ بایت اول دادههای ارسالشده به دستگاه یا دریافتشده از آن را اضافه میکند.
nvmeioctl - فقط تراکنشهای ioctl() با دستگاههای NVMe را گزارش میدهد.
هر آرگومان میتواند شامل یک عدد صحیح مثبت برای تعیین سطح جزئیاتی باشد که باید گزارش شود. آرگومان باید با یک کاما و سپس بدون هیچ فاصلهای با یک عدد صحیح دنبال شود. به عنوان مثال، ataioctl,2 سطح پیشفرض ۱ است، بنابراین '-r ataioctl,1' و '-r ataioctl' معادل هستند.
برای اهداف آزمایشی، اگر از '-' به عنوان آرگومان مسیر دستگاه استفاده شود، خروجی '-r ataioctl,2' میتواند بعداً توسط خود smartctl تجزیه شود. پارامترهای ورودی دستور ATA، دادههای سکتور و مقادیر بازگشتی از گزارش اشکالزدایی خواندهشده از ورودی استاندارد (stdin) بازسازی میشوند. سپس smartctl به صورت داخلی یک دستگاه ATA با همان رفتار را شبیهسازی میکند. این قابلیت هنوز برای دستگاههای SCSI کار نمیکند.
- -n POWERMODE[,STATUS[,STATUS2]], --nocheck=POWERMODE[,STATUS[,STATUS2]]
- [ATA، SCSI] مشخص
میکند که
در صورت
قرار داشتن
دستگاه در
یک حالت
کممصرف (low-power
mode)، آیا smartctl
باید قبل از
انجام
هرگونه
بررسی خارج
شود یا خیر.
میتوان از
این گزینه
برای
جلوگیری از
چرخیدن
مجدد (spin-up)
دیسک توسط
smartctl استفاده
کرد. حالت
مصرف توان
به صورت
پیشفرض
نادیده
گرفته
میشود.
نکته: در صورت استفاده از این گزینه، ممکن است لازم باشد نوع دستگاه را نیز با گزینه '-d' مشخص کنید. در غیر این صورت ممکن است دیسک به دلیل دستوراتی که در حین تشخیص خودکار نوع دستگاه صادر میشوند، به چرخش درآید.
به طور پیشفرض، اگر دستگاه در یکی از حالتهای کممصرف مشخصشده باشد، وضعیت خروج ۲ بازگردانده میشود. این وضعیت همچنین در صورت ناموفق بودن باز کردن یا شناسایی دستگاه برگردانده میشود (بخش «وضعیت خروج» یا EXIT STATUS را در ادامه ببینید). پارامتر اختیاری STATUS امکان تغییر دادن این مقدار پیشفرض را فراهم میکند. پارامتر STATUS یک عدد صحیح در محدوده ۰ تا ۲۵۵ (شامل هر دو) است. به عنوان مثال، از '-n standby,0' استفاده کنید تا در صورتی که دستگاه در حالت SLEEP یا STANDBY بود وضعیت موفقیتآمیز بازگردانده شود. از '-n standby,3' برای بازگرداندن یک وضعیت خروج یکتا در این حالت استفاده کنید.
آرگومانهای معتبر برای این گزینه عبارتند از:
never - دستگاه را همیشه بررسی میکند، اما در صورتی که '-i' مشخص شده باشد، حالت مصرف توان را چاپ میکند.
sleep[,STATUS[,STATUS2]] - دستگاه را بررسی میکند مگر اینکه در حالت SLEEP باشد.
standby[,STATUS[,STATUS2]] - دستگاه را بررسی میکند مگر اینکه در حالت SLEEP یا STANDBY باشد. در این حالتها بیشتر دیسکها در حال چرخش نیستند، بنابراین اگر میخواهید از شروع چرخش دیسک جلوگیری کنید، احتمالاً این همان چیزی است که میخواهید.
idle[,STATUS[,STATUS2]] - دستگاه را بررسی میکند مگر اینکه در حالت SLEEP، STANDBY یا IDLE باشد. در وضعیت IDLE، بیشتر دیسکها هنوز در حال چرخش هستند، بنابراین احتمالاً این گزینه مد نظر شما نیست.
اگر بررسی حالت مصرف توان پشتیبانی نشود یا مقدار ناشناختهای برگرداند، گزینه '-n' نادیده گرفته میشود.
[فقط ATA] اگر پارامتر اختیاری STATUS2 مشخص شده باشد، smartctl در این حالت بلافاصله با کد خروج STATUS2 خارج میشود. به عنوان مثال از '-n standby,3,5' برای بازگرداندن وضعیتهای خروج یکتا در حالتهای STANDBY و UNSUPPORTED استفاده کنید. - دستورات فعالسازی/غیرفعالسازی ویژگیهای SMART:
- نکته: اگر از گزینههای متعددی هم برای فعالسازی و هم برای غیرفعالسازی یک ویژگی استفاده شود، آنگاه هر دو دستور فعالسازی و غیرفعالسازی صادر خواهند شد. دستور فعالسازی همیشه پیش از دستور غیرفعالسازی متناظر صادر خواهد شد.
- -s VALUE, --smart=VALUE
- قابلیت SMART را
روی دستگاه
فعال یا
غیرفعال
میکند.
آرگومانهای
معتبر برای
این گزینه
on و off هستند.
[ATA] توجه داشته باشید که دستورات ATA مربوط به SMART ENABLE/DISABLE OPERATIONS در ویرایش ۱۰ استاندارد ATA ACS-4 (نوامبر ۲۰۱۵) منسوخ اعلام شدند.
[درایو یا تعویضکننده نواری SCSI] برای مشاهده پیامهای TapeAlert نیازی به فعال کردن SMART نیست (و فایدهای هم ندارد).
- -o VALUE, --offlineauto=VALUE
- [فقط ATA] آزمون
خودکار
آفلاین SMART را
فعال یا
غیرفعال
میکند، که
درایو را هر
چهار ساعت
یکبار
برای یافتن
نواقص دیسک
اسکن
میکند. این
دستور را
میتوان در
طول کارکرد
عادی سیستم
صادر کرد.
آرگومانهای
معتبر برای
این گزینه
on و off هستند.
توجه داشته باشید که دستور آزمون خودکار آفلاین SMART در تمام نسخههای مشخصات ATA و ATA/ATAPI به عنوان «منسوخ» (Obsolete) فهرست شده است. این ویژگی در ابتدا بخشی از مشخصات SFF-8035i ویرایش ۲.۰ بود، اما هرگز بخشی از هیچیک از مشخصات استانداردهای ATA نبوده است. با این حال توسط بسیاری از تولیدکنندگان پیادهسازی شده و مورد استفاده قرار میگیرد. میتوانید با بررسی اینکه آیا این دستور آن را فعال یا غیرفعال میکند، از پشتیبانی شدن آزمون آفلاین خودکار مطلع شوید؛ همانطور که در بخش «Auto Offline Data Collection» از گزارش قابلیتهای SMART (که با '-c' نمایش داده میشود) نشان داده شده است.
قابلیت SMART سه دسته اصلی آزمون را فراهم میکند. دسته اول، تحت عنوان آزمون «آنلاین» (online)، هیچ تاثیری بر عملکرد دستگاه ندارد. این حالت با گزینه '-s on' فعال میشود.
دسته دوم آزمون، آزمون «آفلاین» (offline) نامیده میشود. این نوع آزمون در اصل میتواند کارایی و عملکرد دستگاه را کاهش دهد. گزینه '-o on' باعث میشود این آزمون آفلاین به صورت خودکار و بر اساس یک زمانبندی منظم انجام شود. به طور معمول، دیسک در حین انجام دسترسیها به دادههای دیسک، آزمون آفلاین را متوقف میکند و سپس هنگامی که دیسک در حالت بیکار قرار میگیرد، به طور خودکار آن را از سر میگیرد، بنابراین در عمل تاثیر ناچیزی دارد. توجه داشته باشید که یک آزمون آفلاین یکباره نیز میتواند بلافاصله پس از دریافت دستور کاربر انجام شود. به گزینه '-t offline' در زیر مراجعه کنید که باعث میشود یک آزمون آفلاین یکباره بلافاصله انجام شود.
انتخاب واژه testing (آزمون) برای این دو دسته نخست (که توسط نویسندگان مشخصات SFF-8035i و ATA انجام شده) نامناسب بوده و اغلب موجب سردرگمی میشود. در واقع این دو دسته نخست از آزمونهای آنلاین و آفلاین میتوانستند با دقت بیشتری تحت عنوان جمعآوری داده (data collection) آنلاین و آفلاین توصیف شوند.
نتایج این آزمون (جمعآوری داده) آفلاین خودکار یا فوری در مقادیر ویژگیهای (Attributes) SMART منعکس میشود. بنابراین، در صورت شناسایی مشکلات یا خطاها، مقادیر این ویژگیها به زیر آستانههای خرابی خود خواهند رفت؛ برخی از انواع خطاها نیز ممکن است در گزارش خطای SMART ظاهر شوند. این موارد به ترتیب با گزینههای '-A' و '-l error' قابل مشاهده هستند.
برخی مقادیر ویژگیهای SMART فقط در طول فعالیتهای جمعآوری دادههای آفلاین بهروزرسانی میشوند؛ بقیه در طول کارکرد عادی دستگاه یا در هر دو حالت کارکرد عادی و آزمون آفلاین بهروز میگردند. جدول مقادیر ویژگیها که توسط گزینه '-A' تولید میشود این موضوع را در ستون UPDATED مشخص میکند. ویژگیهای نوع اول با برچسب «Offline» و ویژگیهای نوع دوم با برچسب «Always» علامتگذاری میشوند.
دسته سوم آزمون (و تنها دستهای که واژه 'testing' واقعاً برای آن برازنده و مناسب است) «خودآزمایی» (self-testing) است. این نوع سوم آزمون تنها زمانی (بلافاصله) انجام میشود که دستوری برای اجرای آن صادر شود. گزینههای '-t' و '-X' را میتوان برای اجرا و لغو چنین خودآزماییهایی به کار برد؛ لطفاً برای جزئیات بیشتر به بخشهای زیر مراجعه کنید.
هر خطای شناساییشده در خودآزمایی، در گزارش خودآزمایی SMART نشان داده خواهد شد که میتوان آن را با استفاده از گزینه '-l selftest' بررسی کرد.
نکته: در این صفحه راهنما، واژه "Test" در ارتباط با دسته دومی که شرح داده شد (مانند آزمون «آفلاین») استفاده میشود. واژههای "Self-test" در ارتباط با دسته سوم به کار میروند.
- -S VALUE, --saveauto=VALUE
- [ATA]
ذخیرهسازی
خودکار (autosave)
ویژگیهای
اختصاصی
سازنده
دستگاه در SMART
را فعال یا
غیرفعال
میکند.
آرگومانهای
معتبر برای
این گزینه
on و off هستند.
توجه داشته
باشید که
این ویژگی
در
چرخههای
خاموش و
روشن شدن
دیسک حفظ
میشود،
بنابراین
تنها کافی
است یکبار
آن را صادر
کنید.
استاندارد ATA روشی را برای بررسی اینکه آیا ذخیرهسازی خودکار SMART فعال است یا خیر مشخص نکرده است. برخلاف SCSI (در زیر)، smartctl در صورت غیرفعال بودن ذخیرهسازی خودکار قادر به چاپ هشدار نیست.
توجه داشته باشید که دستورات ATA مربوط به SMART ENABLE/DISABLE AUTOSAVE در ویرایش ۱۰ استاندارد ATA ACS-4 (نوامبر ۲۰۱۵) منسوخ اعلام شدند.
[SCSI] برای دستگاههای SCSI، این گزینه مقدار بیت Global Logging Target Save Disabled (GLTSD) را در صفحه حالت کنترل (Control Mode Page) تغییر میدهد. برخی از تولیدکنندگان دیسک این بیت را به طور پیشفرض تنظیم میکنند. این کار مانع از قرار گرفتن شمارندههای خطا، ساعات کارکرد دیسک و سایر دادههای مفید در حافظه پایدار و غیرفرار (non-volatile) میشود، بنابراین ممکن است دفعه بعد که دستگاه خاموش و روشن شد این مقادیر صفر شوند. اگر بیت GLTSD تنظیم شده باشد، دستور 'smartctl -a' هشداری صادر خواهد کرد. از on برای پاک کردن بیت GLTSD و در نتیجه فعال کردن ذخیره شمارندهها در حافظه غیرفرار استفاده کنید. برای کاربردهای بسیار سنگین از نوع پخش پیوسته ویدیو (streaming-video)، ممکن است بخواهید از off برای تنظیم بیت GLTSD استفاده کنید.
- -g NAME, --get=NAME, -s NAME[,VALUE], --set=NAME[,VALUE]
- تنظیمات
غیر SMART
دستگاه را
دریافت/تنظیم
میکند.
توجه داشته
باشید که
گزینه
کوتاه '-s' در
گزینه '--set' با
'--smart' مشترک
است.
آرگومانهای
معتبر
عبارتند از:
all - تمام مقادیر را دریافت میکند. این معادل است با
'-g aam -g apm -g lookahead -g security -g wcache -g rcache -g dsn'aam[,N|off] - [فقط ATA] ویژگی مدیریت صوتی خودکار (Automatic Acoustic Management یا AAM) را دریافت/تنظیم میکند (در صورت پشتیبانی). مقدار ۱۲۸ ساکتترین (کندترین) حالت و ۲۵۴ سریعترین (پرصداترین) حالت را تنظیم میکند، 'off' قابلیت AAM را غیرفعال میکند. دستگاهها ممکن است از سطوح میانی نیز پشتیبانی کنند. مقادیر کمتر از ۱۲۸ به عنوان اختصاصی سازنده (۰) یا بازنشسته/منسوخ (۱ تا ۱۲۷) تعریف شدهاند. توجه داشته باشید که ویژگی AAM در ویرایش 4a استاندارد ATA ACS-2 (دسامبر ۲۰۱۰) منسوخ اعلام شد.
apm[,N|off] - [فقط ATA] ویژگی مدیریت توان پیشرفته (Advanced Power Management یا APM) را روی دستگاه دریافت/تنظیم میکند (در صورت پشتیبانی). اگر مقداری بین ۱ تا ۲۵۴ ارائه شود، تلاش میکند APM را فعال کرده و مقدار مشخصشده را تنظیم کند، 'off' قابلیت APM را غیرفعال میکند. توجه داشته باشید که رفتار واقعی به درایو بستگی دارد؛ برای مثال برخی درایوها در صورتی که مقدار آنها بالای ۱۲۸ تنظیم شود، APM را غیرفعال میکنند. مقادیر کمتر از ۱۲۸ قرار است امکان توقف چرخش دیسک (spindown) را فراهم کنند و مقادیر ۱۲۸ و بالاتر فقط بسامد پارک هد را تنظیم میکنند، اگرچه رفتار واقعی تعریفشده نیز وابسته به سازنده است.
lookahead[,on|off] - [فقط ATA] ویژگی پیشخوانی (read look-ahead) را دریافت/تنظیم میکند (در صورت پشتیبانی). پیشخوانی معمولاً به طور پیشفرض فعال است.
security - [فقط ATA] وضعیت ویژگی امنیت ATA را دریافت میکند (در صورت پشتیبانی). اگر امنیت ATA فعال باشد، گذرواژه کاربر ATA تنظیم شده است. در این حالت درایو در بازنشانی (reset) بعدی قفل خواهد شد.
security-freeze - [فقط ATA] ویژگی امنیت ATA را روی حالت منجمد (frozen mode) قرار میدهد. این کار مانع از آن میشود که درایو تا بازنشانی بعدی هرگونه دستور امنیتی را بپذیرد. توجه داشته باشید که حالت منجمد ممکن است از قبل توسط BIOS یا سیستمعامل تنظیم شده باشد.
standby,[N|off] - [ATA] زمانسنج حالت آمادهباش (standby/spindown timer) را تنظیم کرده و درایو را در حالت IDLE قرار میدهد. مقدار ۰ یا 'off' زمانسنج آمادهباش را غیرفعال میکند. مقادیر ۱ تا ۲۴۰ وقفه زمانی را از ۵ ثانیه تا ۲۰ دقیقه با افزایشهای ۵ ثانیهای مشخص میکنند. مقادیر ۲۴۱ تا ۲۵۱ وقفه زمانی را از ۳۰ دقیقه تا ۳۳۰ دقیقه با افزایشهای ۳۰ دقیقهای مشخص میکنند. مقدار ۲۵۲ مدت زمان ۲۱ دقیقه را مشخص میکند. مقدار ۲۵۳ یک زمان اختصاصی سازنده بین ۸ تا ۱۲ ساعت را مشخص میکند. مقدار ۲۵۵ مدت زمان ۲۱ دقیقه و ۱۵ ثانیه را تعیین میکند. برخی درایوها ممکن است از تفسیری اختصاصی برای این مقادیر استفاده کنند. توجه داشته باشید که هیچ گزینه get وجود ندارد زیرا استانداردهای ATA روشی را برای خواندن زمانسنج آمادهباش مشخص نکردهاند. اگر '-s standby,now' نیز مشخص شده باشد، درایو بلافاصله در حالت STANDBY قرار میگیرد بدون آنکه موقتاً در حالت IDLE قرار گیرد. توجه داشته باشید که استانداردهای ATA دستوری برای تنظیم زمانسنج آمادهباش بدون تاثیر بر حالت توان ارائه نمیدهند.
[SCSI] فقط گزینه تنظیم با 'standby,off' یا 'standby,0' پذیرفته میشود و دیسک SCSI را در وضعیت توان "ACTIVE" قرار میدهد.standby,now - [ATA] درایو را در حالت STANDBY قرار میدهد. این کار معمولاً چرخش درایو را متوقف میکند. تنظیم زمانسنج آمادهباش تغییری نمیکند مگر اینکه '-s standby,[N|off]' نیز مشخص شده باشد.
[SCSI] فقط گزینه تنظیم پذیرفته میشود و دیسک SCSI را در وضعیت توان "STANDBY_Z" قرار میدهد.wcache[,on|off] - [ATA] ویژگی حافظه نهان نوشتن فرار (volatile write cache) را دریافت/تنظیم میکند (در صورت پشتیبانی). حافظه نهان نوشتن معمولاً به طور پیشفرض فعال است.
wcache[,on|off] - [SCSI] بیت «Write Cache Enable» (WCE) را دریافت/تنظیم میکند (در صورت پشتیبانی). حافظه نهان نوشتن معمولاً به طور پیشفرض فعال است.
wcache-sct[,ata|on|off[,p]] - [فقط ATA] ویژگی حافظه نهان نوشتن را از طریق SCT Feature Control دریافت/تنظیم میکند (در صورت پشتیبانی). وضعیت حافظه نهان نوشتن در SCT Feature Control میتواند «Controlled by ATA»، «Force Enabled» یا «Force Disabled» باشد. قابلیت SCT Feature Control تنظیمات اعمالشده توسط دستور ATA Set Features (گزینه wcache[,on|off]) را بازنویسی میکند. اگر SCT Feature Control حافظه نهان نوشتن را روی «Force Enabled» یا «Force Disabled» تنظیم کند، تنظیمات wcache[,on|off] توسط درایو نادیده گرفته میشود. قابلیت SCT Feature Control معمولاً حافظه نهان نوشتن را به طور پیشفرض روی «Controlled by ATA» قرار میدهد. اگر ',p' مشخص شده باشد، تنظیمات در چرخههای خاموش و روشن شدن حفظ میشوند.
wcreorder[,on|off[,p]] - [فقط ATA] چینش مجدد حافظه نهان نوشتن (Write Cache Reordering) را دریافت/تنظیم میکند. اگر غیرفعال (off) باشد، زمانبندی نوشتن روی دیسک بر اساس خروج به ترتیب ورود (FIFO) انجام میشود. اگر چینش مجدد حافظه نهان نوشتن فعال (on) باشد، ترتیب نوشتن روی دیسک ممکن است توسط درایو بازچینی شود. اگر حافظه نهان نوشتن غیرفعال باشد، وضعیت فعلی Write Cache Reordering به خاطر سپرده میشود اما بر نوشتنهای بدون کش (که همیشه به همان ترتیب دریافتشده نوشته میشوند) تاثیری ندارد. وضعیت Write Cache Reordering تاثیری بر دستورات درون صف NCQ یا LCQ ندارد. اگر ',p' مشخص شده باشد، تنظیمات در چرخههای خاموش و روشن شدن حفظ میشوند.
rcache[,on|off] - [فقط SCSI] بیت «Read Cache Disable» (RCE) را دریافت/تنظیم میکند. مقدار 'Off' حافظه نهان خواندن را غیرفعال میکند (در صورت پشتیبانی). حافظه نهان خواندن معمولاً به طور پیشفرض فعال است.
dsn[,on|off] - [فقط ATA] ویژگی DSN را دریافت/تنظیم میکند (در صورت پشتیبانی). قابلیت dsn معمولاً به طور پیشفرض غیرفعال است. گزینههای خواندن و نمایش دادههای SMART (SMART READ AND DISPLAY DATA OPTIONS):
- -H, --health
- وضعیت
سلامت
دستگاه را
چاپ میکند.
اگر دستگاه وضعیت سلامت معیوب را گزارش کند، به این معنی است که یا دستگاه از قبل از کار افتاده است، یا اینکه پیشبینی میکند ظرف ۲۴ ساعت آینده دچار خرابی خواهد شد. اگر این اتفاق افتاد، از گزینه '-x' برای دریافت اطلاعات بیشتر استفاده کنید، و در سریعترین زمان ممکن دادههای خود را از دیسک خارج کرده و به جایی امن منتقل کنید.
[ATA] وضعیت سلامت با بررسی نتیجه (بولی) بازگردانده شده توسط دستور SMART RETURN STATUS به دست میآید. مقدار بازگشتی این دستور ATA ممکن است به دلیل محدودیتها یا باگهایی در برخی لایهها (مانند سفتافزار کنترلر RAID یا پل USB) بین دیسک و سیستمعامل نامشخص باشد. در این حالت، smartctl یک هشدار چاپ کرده و بررسی میکند که آیا مقدار هر یک از مشخصههای (Attributes) پیشازخرابی (Prefailure) SMART کمتر یا مساوی آستانه (threshold) آن است یا خیر (به '-A' در زیر مراجعه کنید).
[SCSI] وضعیت سلامت با بررسی کد حسگر اضافی (ASC) و تعیینکننده کد حسگر اضافی (ASCQ) از صفحه گزارش Informal Exceptions (IE) (در صورت پشتیبانی) و/یا از دادههای حسگر (sense data) اسکازی (SCSI) به دست میآید.
[درایو یا تعویضکننده نوار SCSI] وضعیت TapeAlert با خواندن صفحه گزارش TapeAlert به دست میآید، اما تنها در صورتی که این گزینه دو بار داده شود (برای دلیل آن به TAPE DRIVES مراجعه کنید).
[NVMe] وضعیت NVMe با خواندن بایت «Critical Warning» (هشدار بحرانی) از گزارش اطلاعات SMART/Health به دست میآید.
- -c, --capabilities
- [ATA] تنها
قابلیتهای
عمومی SMART را
چاپ میکند.
این موارد
نشان
میدهند چه
ویژگیهای
SMART
پیادهسازی
شدهاند و
دستگاه به
برخی از
دستورات
مختلف SMART
چگونه پاسخ
میدهد.
برای مثال
نشان
میدهد که
آیا دستگاه
خطاها را
ثبت
میکند،
آیا از اسکن
سطح آفلاین
پشتیبانی
میکند و
غیره. اگر
دستگاه
بتواند
خودآزماییها
را انجام
دهد، این
گزینه
همچنین
زمان
تخمینی
مورد نیاز
برای اجرای
آن
آزمایشها
را نمایش
میدهد.
[NVMe] قابلیتهای مختلف دستگاه NVMe را که از ساختارهای داده Identify Controller و Identify Namespace به دست میآیند چاپ میکند.
- -A, --attributes
- [ATA] تنها
مشخصههای
(Attributes) خاص
سازنده SMART را
چاپ میکند.
این
مشخصهها
از ۱ تا ۲۵۳
شمارهگذاری
شدهاند و
دارای
نامها و
شمارههای
شناسه خاصی
هستند. برای
مثال مشخصه
۱۲ «power cycle count»
(تعداد
دفعات
روشن/خاموش
شدن) است:
دیسک چند
بار روشن
شده است.
هر مشخصه دارای یک مقدار خام («Raw») است که زیر عنوان «RAW_VALUE» چاپ میشود، و یک مقدار نرمالشده («Normalized») که زیر عنوان «VALUE» چاپ میشود. [نکته: smartctl این مقادیر را در مبنای ۱۰ چاپ میکند.] در مثالی که داده شد، مقدار خام (Raw Value) برای مشخصه ۱۲، تعداد دفعات واقعی روشن و خاموش شدن دیسک خواهد بود؛ برای مثال ۳۶۵ اگر دیسک دقیقاً یک سال، روزی یک بار روشن شده باشد. هر سازنده از الگوریتم اختصاصی خود برای تبدیل این مقدار خام («Raw») به یک مقدار نرمالشده («Normalized») در بازه ۱ تا ۲۵۴ استفاده میکند. لطفاً توجه داشته باشید که smartctl تنها انواع مختلف مشخصه، مقادیر و آستانهها را همانگونه که از دستگاه خوانده شدهاند گزارش میدهد. این ابزار تبدیل بین مقادیر «Raw» و «Normalized» را انجام نمیدهد: این کار توسط سفتافزار (firmware) دیسک انجام میشود.
تبدیل از مقدار خام به یک کمیت با واحدهای فیزیکی در استاندارد SMART مشخص نشده است. در بیشتر موارد، مقادیر چاپشده توسط smartctl معقول و معنادار هستند. برای مثال مقدار خام مشخصه دما معمولاً برابر با دما به سلسیوس است. با این حال در برخی موارد سازندگان از قراردادهای غیرمعمول استفاده میکنند. برای مثال دیسک هیتاچی در لپتاپ من، ساعات روشن بودن را به دقیقه گزارش میدهد، نه ساعت. برخی از دیسکهای IBM به جای یک دما، سه دما را در مقادیر خام خود ثبت میکنند، و مواردی از این دست.
هر مشخصه همچنین دارای یک مقدار آستانه (Threshold) است (که بازه آن ۰ تا ۲۵۵ است) و زیر عنوان «THRESH» چاپ میشود. اگر مقدار نرمالشده کمتر یا مساوی مقدار آستانه باشد، گفته میشود که مشخصه شکست خورده (fail شده) است. اگر مشخصه از نوع پیشازخرابی (pre-failure) باشد، خرابی دیسک قریبالوقوع است.
هر مشخصه همچنین دارای یک مقدار «بدترین» (Worst) است که زیر عنوان «WORST» نشان داده میشود. این کوچکترین (نزدیکترین به خرابی) مقداری است که دیسک در طول عمر خود در زمانی که SMART فعال بوده ثبت کرده است. [با این حال توجه داشته باشید که سفتافزار برخی سازندگان ممکن است در واقع مقدار «Worst» را برای برخی مشخصههای از نوع نرخ (rate-type) افزایش دهد.]
جدول مشخصههای چاپشده توسط smartctl همچنین «TYPE» (نوع) مشخصه را نشان میدهد. مشخصهها یکی از دو نوع ممکن هستند: Pre-failure (پیشازخرابی) یا Old age (کهولت سن / استهلاک). مشخصههای Pre-failure مواردی هستند که اگر کمتر یا مساوی مقادیر آستانه خود شوند، نشاندهنده خرابی قریبالوقوع دیسک هستند. مشخصههای Old age یا مصرفی، مواردی هستند که در صورت کمتر یا مساوی بودن مقدار مشخصه با آستانه، نشاندهنده پایان عمر محصول به دلیل کهولت سن یا استهلاک و فرسودگی طبیعی هستند. لطفاً توجه داشته باشید: این واقعیت که یک مشخصه از نوع «Pre-fail» است به این معنی نیست که دیسک شما در آستانه خرابی قرار دارد! این موضوع تنها در صورتی چنین معنایی دارد که مقدار نرمالشده فعلی مشخصه کمتر یا مساوی مقدار آستانه باشد.
اگر مقدار نرمالشده فعلی مشخصه کمتر یا مساوی مقدار آستانه باشد، ستون «WHEN_FAILED» عبارت «FAILING_NOW» را نمایش خواهد داد. اگر چنین نباشد، اما بدترین مقدار ثبتشده کمتر یا مساوی مقدار آستانه باشد، این ستون عبارت «In_the_past» را نمایش میدهد. اگر ستون «WHEN_FAILED» هیچ مقداری نداشته باشد (که با یک خط تیره: '-' نشان داده میشود) در این صورت این مشخصه اکنون سالم است (دچار خرابی نیست) و در گذشته نیز هرگز دچار نقص نشده است.
ستون جدول با برچسب «UPDATED» نشان میدهد که آیا مقادیر مشخصه SMART هم در طول عملیات عادی و هم در طول آزمایش آفلاین بهروزرسانی میشوند، یا فقط در طول آزمایش آفلاین. اولی با برچسب «Always» و دومی با برچسب «Offline» مشخص میشود.
بنابراین برای خلاصه: مقادیر خام مشخصه (Raw) مواردی هستند که ممکن است یک تفسیر فیزیکی واقعی داشته باشند، مانند «دمای سلسیوس»، «ساعتها» یا «چرخههای شروع-توقف» (Start-Stop Cycles). هر سازنده با استفاده از دانش دقیق خود از عملکرد دیسک و حالتهای خرابی، این موارد را به مقادیر نرمالشده مشخصه در بازه ۱–۲۵۴ تبدیل میکند. مقادیر فعلی و بدترین (کمترین مقدار اندازهگیریشده) این مقادیر مشخصه نرمالشده بر روی دیسک ذخیره میشوند، به همراه یک مقدار آستانه (Threshold) که سازنده تعیین کرده است تا نشان دهد دیسک در حال خرابی است، یا اینکه از طول عمر طراحیشده یا محدودیت فرسودگی خود فراتر رفته است. smartctl هیچیک از مقادیر مشخصه، آستانهها یا انواع را محاسبه نمیکند، بلکه صرفاً آنها را از دادههای SMART روی دستگاه گزارش میدهد.
توجه داشته باشید که از زمان ATA/ATAPI-4، ویرایش ۴، معنای این فیلدهای مشخصه کاملاً مختص سازنده (vendor-specific) شده است. با این حال به نظر میرسد اکثر دیسکهای جدیدتر ATA/SATA به معنای آنها پایبند هستند، بنابراین ما گزینه چاپ مقادیر مشخصه را حفظ کردهایم.
درایوهای حالت جامد (SSD) برای برخی از مشخصهها از معانی متفاوتی استفاده میکنند. در این حالت نام مشخصه چاپشده توسط smartctl نادرست است، مگر اینکه درایو از قبل در پایگاه داده درایو smartmontools وجود داشته باشد.
توجه داشته باشید که دستور ATA با عنوان SMART READ DATA در ویرایش ۱۰ از ATA ACS-4 (نوامبر ۲۰۱۵) منسوخ اعلام شد.
[SCSI] برای دستگاههای SCSI، «مشخصهها» از صفحات گزارش دما و شمارنده چرخه شروع-توقف به دست میآیند. برخی مشخصههای خاص سازنده در صورت شناسایی فهرست میشوند. مشخصهها در قالبی نسبتاً آزاد (در مقایسه با مشخصههای دیسک ATA) خروجی داده میشوند.
[NVMe] برای دستگاههای NVMe مشخصهها از گزارش اطلاعات SMART/Health به دست میآیند.
[ویژگی تجربی جدید SMARTCTL 7.5] اگر دستگاه از اطلاعات SMART/Health به ازای هر فضای نام (namespace) پشتیبانی کند، شناسه فضای نامی که توسط نام دستگاه آدرسدهی شده استفاده میشود، در غیر این صورت شناسه فضای نام پخش همگانی (broadcast namespace) استفاده میشود. - -f FORMAT, --format=FORMAT
- [فقط ATA] قالب
خروجی
مشخصهها
را انتخاب
میکند:
old - قالب قدیمی smartctl. این حالت پیشفرض است مگر اینکه گزینه '-x' مشخص شده باشد.
brief - قالب جدید که در ۸۰ ستون جا میشود (به جز در برخی موارد نادر). این قالب همچنین چهار فلگ مشخصه اضافی را رمزگشایی میکند. اگر گزینه '-x' مشخص شده باشد، این حالت پیشفرض است.
hex,id - تمام شناسههای مشخصه را به عنوان اعداد هگزادسیمال چاپ میکند.
hex,val - تمام مقادیر نرمالشده را به عنوان اعداد هگزادسیمال چاپ میکند.
hex - همانند '-f hex,id -f hex,val' عمل میکند.
- -l TYPE, --log=TYPE
- گزارشهای
(logs) مختلف
دستگاه را
چاپ میکند.
آرگومانهای
معتبر برای
این گزینه
عبارتند از:
error - [ATA] گزارش خلاصه خطای SMART (Summary SMART error log) را چاپ میکند. دیسکهای SMART گزارشی از پنج خطای غیرجزئی اخیر را نگه میدارند. برای هر یک از این خطاها، طول عمر دیسک در زمان روشن بودن که خطا در آن رخ داده ثبت میشود، همچنین وضعیت دستگاه (idle، standby و غیره) در زمان وقوع خطا ثبت میگردد. برای برخی از انواع رایج خطاها، مقادیر ثبات خطا (ER یا Error Register) و ثبات وضعیت (SR یا Status Register) رمزگشایی شده و به صورت متنی چاپ میشوند. معانی این موارد عبارتند از:
ABRT: Command ABoRTed AMNF: Address Mark Not Found CCTO: Command Completion Timed Out EOM: End Of Media ICRC: Interface Cyclic Redundancy Code (CRC) error IDNF: IDentity Not Found ILI: (packet command-set specific) MC: Media Changed MCR: Media Change Request NM: No Media obs: obsolete TK0NF: TracK 0 Not Found UNC: UNCorrectable Error in Data WP: Media is Write Protected
علاوه بر این، حداکثر تا پنج دستور آخری که قبل از خطا صادر شدهاند فهرست میشوند، همراه با یک برچسب زمانی که از ابتدای چرخه روشنشدن مربوطه محاسبه میشود. این زمان به صورت Dd+HH:MM:SS.msec نمایش داده میشود که در آن D تعداد روزها، HH ساعت، MM دقیقه، SS ثانیه و msec میلیثانیه است. [نکته: این برچسب زمانی پس از ۲^۳۲ میلیثانیه، یعنی ۴۹ روز و ۱۷ ساعت و ۲ دقیقه و ۴۷٫۲۹۶ ثانیه سرریز (wrap) میکند.] ثباتهای کلیدی دیسک ATA نیز در گزارش ثبت میشوند. ستون پایانی گزارش خطا، توصیفی متنی از دستور ATA است که توسط مقادیر ثبات دستور (CR) و ثبات ویژگی (FR) تعریف شده است. دستوراتی که در جدیدترین مشخصات منسوخ شدهاند به این صورت فهرست میشوند: READ LONG (w/ retry) [OBS-4]، که نشان میدهد این دستور با مشخصات ATA-4 یا در آن منسوخ شده است. به طور مشابه، نماد [RET-N] برای نشان دادن اینکه یک دستور در مشخصات ATA-N بازنشسته شده استفاده میشود. برخی از دستورات در هیچ نسخهای از مشخصات ATA تعریف نشدهاند اما با این وجود کاربرد رایج دارند؛ این موارد با [NS] به معنی غیر استاندارد مشخص شدهاند.مشخصات ATA (ویرایش ۷ از ATA ACS-2، بخش A.7.1) میگوید: «ساختارهای داده گزارش خطا باید شامل خطاهای غیرقابل تصحیح، خطاهای شناسه پیدا نشد (ID Not Found) که برای آنها LBA درخواستی معتبر بوده است، خطاهای سروو (servo) و خطاهای نقص نوشتن باشند، اما محدود به این موارد نیستند. ساختارهای داده گزارش خطا نباید شامل خطاهای ناشی از دریافت دستورات معیوب باشند.» تعاریف این اصطلاحات عبارتند از:
UNC (UNCorrectable): دادهها غیرقابل تصحیح هستند. این به دادههایی اشاره دارد که از دیسک خوانده شدهاند، اما کدهای بررسی و تصحیح خطا (ECC) برای آنها ناسازگار است. در عمل، این بدان معناست که دادهها قابل خواندن نیستند.
IDNF (ID Not Found): آدرس قابل دسترسی برای کاربر پیدا نشد. برای دستورات نوع READ LOG، نماد IDNF همچنین میتواند نشان دهد که جمع کنترلی (checksum) ساختار داده گزارش دستگاه نادرست بوده است.اگر دستوری که باعث ایجاد خطا شده است یک دستور READ یا WRITE بوده باشد، آدرس بلوک منطقی (LBA یا Logical Block Address) که خطا در آن رخ داده است در مبنای ۱۰ و مبنای ۱۶ چاپ خواهد شد. آدرس LBA یک آدرس خطی است که بخشهای (sectors) ۵۱۲ بایتی روی دیسک را با شروع از صفر میشمارد. (به دلیل محدودیتهای گزارش خطای SMART، اگر LBA بزرگتر از 0xfffffff باشد، یا هیچ ورودی در گزارش خطا ثبت نمیشود، یا ورودی گزارش خطا دارای LBA نادرستی خواهد بود. این ممکن است برای درایوهایی با ظرفیت بیشتر از ۱۲۸ گیبیبایت (GiB) یا ۱۳۷ گیگابایت (GB) رخ دهد.) در سیستمهای لینوکس، صفحه وب smartmontools دستورالعملهایی در مورد نحوه تبدیل آدرس LBA به نام فایل دیسکی که حاوی بخش معیوب است ارائه میدهد.
لطفاً توجه داشته باشید که برخی از سازندگان مشخصات ATA را نادیده میگیرند، و در صورتی که دستگاه دستوری را دریافت کند که پیادهسازی نشده یا نامعتبر است، ورودیهایی را در گزارش خطا ثبت میکنند.
error - [SCSI] صفحات گزارش شمارنده خطا را برای خواندن، نوشتن و اعتبارسنجیها (verifies) چاپ میکند. ردیف verify تنها در صورتی خروجی داده میشود که عنصری غیر از صفر داشته باشد.
error[,NUM] - [NVMe] گزارش اطلاعات خطای NVMe (NVMe Error Information log) را چاپ میکند. به طور پیشفرض تنها ۱۶ ورودی اخیر گزارش چاپ میشوند. این تعداد را میتوان با پارامتر اختیاری NUM تغییر داد. حداکثر تعداد ورودیهای گزارش وابسته به سازنده است (در بازه بین ۱ تا ۲۵۶ شامل خود آنها).
توجه داشته باشید که محتویات این گزارش در طول چرخههای خاموش/روشن یا بازنشانیهای کنترلر حفظ نمیشود، اما مقدار «Error Information Log Entries» از گزارش اطلاعات SMART/Health حفظ میگردد.
xerror[,NUM][,error] - [فقط ATA] گزارش خطای جامع و گسترشیافته SMART (Extended Comprehensive SMART error log) را چاپ میکند (آدرس General Purpose Log برابر با 0x03). بر خلاف گزارش خلاصه خطای SMART (به '-l error' در بالا مراجعه کنید)، این گزارش فضای کافی برای ثبت محتویات مجموعه ثباتهای ۴۸ بیتی LBA که با ATA-6 معرفی شدند را فراهم میکند. همچنین از گزارشهای دارای بیش از یک بخش (sector) پشتیبانی میکند. هر بخش تا ۴ ورودی گزارش را نگهداری میکند. تعداد واقعی بخشهای گزارش مختص سازنده است.
به طور پیشفرض تنها ۸ ورودی اخیر گزارش خطا چاپ میشوند. این تعداد را میتوان با پارامتر اختیاری NUM تغییر داد.
اگر ',error' به انتهای آن اضافه شود و گزارش خطای گسترشیافته جامع SMART پشتیبانی نشود، گزارش خلاصه خودآزمایی SMART چاپ میشود.
لطفاً توجه داشته باشید که درایوهای جدیدتر ممکن است خطاها را تنها در گزارش خطای گسترشیافته جامع SMART گزارش دهند. ممکن است گزارش خلاصه خطای SMART به عنوان پشتیبانیشده گزارش شود اما در این حالت همیشه خالی باشد.
selftest - [ATA] گزارش خودآزمایی SMART را چاپ میکند. دیسک گزارشی از خودآزماییها نگه میدارد که نتایج خودآزماییهایی را که میتوان با استفاده از گزینه '-t' شرح داده شده در زیر اجرا کرد نشان میدهد. برای هر یک از بیستویک خودآزمایی اخیر، این گزارش نوع آزمایش (کوتاه یا گسترده، آفلاین یا اسیر/انحصاری [captive]) و وضعیت نهایی آزمایش را نشان میدهد. اگر آزمایش با موفقیت به پایان نرسیده باشد، درصد باقیمانده از آزمایش نمایش داده میشود. زمانی که آزمایش در آن انجام شده است، که بر حسب ساعات طول عمر دیسک اندازهگیری میشود، نیز چاپ میگردد. [نکته: این برچسب زمانی پس از ۲^۱۶ ساعت، یعنی ۲۷۳۰ روز و ۱۶ ساعت، یا حدود ۷٫۵ سال سرریز میکند.] در صورت شناسایی هرگونه خطا، آدرس بلوک منطقی (LBA) اولین خطا در نماد دهدهی چاپ میشود.
selftest - [SCSI] گزارش خودآزمایی برای یک دستگاه SCSI قالبی کمی متفاوت از دستگاه ATA دارد. برای هر یک از بیست خودآزمایی اخیر، نوع آزمایش و وضعیت (نهایی یا در حال انجام) آزمایش را نشان میدهد. استانداردهای SCSI از اصطلاحات «پیشزمینه» (foreground) و «پسزمینه» (background) (به جای معادلهای «captive» و «off-line» در ATA) و «کوتاه» (short) و «طولانی» (long) (به جای معادلهای «short» و «extended» در ATA) برای توصیف نوع آزمایش استفاده میکنند. شماره بخش (segment number) چاپشده تنها زمانی اهمیت دارد که یک آزمایش در بخش آزمایشی سوم یا بعد از آن با شکست مواجه شود. این شماره، آزمایشی را که شکست خورده مشخص میکند و شامل شماره بخشی است که در حین آزمایش با شکست مواجه شده، یا شماره آزمایشی که شکست خورده و شماره بخشی که آزمایش در آن اجرا شده است، با استفاده از یک روش خاص سازنده برای قرار دادن هر دو عدد در یک بایت منفرد. آدرس بلوک منطقی (LBA) اولین خطا در نماد هگزادسیمال چاپ میشود. در صورت ارائه، کلید حسگر اسکازی (Sense Key یا SK)، کد حسگر اضافی (ASC) و تعیینکننده کد حسگر اضافی (ASCQ) نیز چاپ میشوند. خودآزماییها را میتوان با استفاده از گزینه '-t' که در زیر شرح داده شده است (با استفاده از اصطلاحات آزمایشی ATA) اجرا کرد.
selftest - [NVMe: ویژگی تجربی جدید SMARTCTL 7.4] گزارش خودآزمایی NVMe را چاپ میکند.
[رفع نقص تجربی جدید SMARTCTL 7.5] این مورد همیشه از فضای نام پخش همگانی (broadcast namespace) استفاده میکند. نتایج خودآزمایی از فضاهای نام مجزا در این گزارش واحد ظاهر میشوند.xselftest[,NUM][,selftest] - [فقط ATA] گزارش خودآزمایی گسترشیافته SMART (آدرس General Purpose Log برابر با 0x07) را چاپ میکند. بر خلاف گزارش خودآزمایی SMART (به '-l selftest' در بالا مراجعه کنید)، این گزارش از LBA چهلوهشت بیتی و گزارشهای با بیش از یک بخش پشتیبانی میکند. هر بخش تا ۱۹ ورودی گزارش را نگهداری میکند. تعداد واقعی بخشهای گزارش مختص سازنده است.
به طور پیشفرض تنها ۲۵ ورودی اخیر گزارش چاپ میشوند. این تعداد را میتوان با پارامتر اختیاری NUM تغییر داد.
اگر ',selftest' به انتهای آن اضافه شود و گزارش خودآزمایی گسترشیافته SMART پشتیبانی نشود، گزارش قدیمی خودآزمایی SMART چاپ میشود.
selective - [فقط ATA] لطفاً برای توضیحات در مورد خودآزماییهای انتخابی به گزینه '-t select' در زیر مراجعه کنید. گزارش خودآزمایی انتخابی، آدرسهای بلوک منطقی (LBA) شروع/پایان هر یک از پنج بازه آزمایشی (test spans) و وضعیت فعلی آزمایش آنها را نشان میدهد. اگر بازه در حال آزمایش باشد یا باقیمانده دیسک در حال اسکن خواندن باشد، بلوک فعلی ۶۵۵۳۶ بخشی از LBAها که در حال آزمایش است نیز نمایش داده میشود. گزارش خودآزمایی انتخابی همچنین نشان میدهد که آیا پس از تکمیل خودآزمایی انتخابی، اسکن خواندن از باقیمانده دیسک انجام خواهد شد یا خیر (به گزینه '-t afterselect' مراجعه کنید) و تأخیر زمانی قبل از راهاندازی مجدد این اسکن خواندن در صورت وقفه در آن (به گزینه '-t pending' مراجعه کنید).
directory[,gs] - [فقط ATA] اگر دستگاه از مجموعه ویژگیهای General Purpose Logging (ATA-6 و بالاتر) پشتیبانی کند، این گزینه دایرکتوری گزارش (Log Directory - گزارش در آدرس 0) را چاپ میکند. دایرکتوری گزارش نشان میدهد که چه گزارشهایی در دسترس هستند و طول آنها بر حسب بخش (۵۱۲ بایت) چقدر است. محتویات گزارشها در آدرس ۱ [گزارش خلاصه خطای SMART] و در آدرس ۶ [گزارش خودآزمایی SMART] ممکن است با استفاده از آرگومانهای error و selftest که قبلاً برای این گزینه شرح داده شد، چاپ شوند. اگر نسخه smartctl شما از دستورات ۴۸ بیتی ATA پشتیبانی کند، هر دو دایرکتوری General Purpose Log (GPL) و SMART Log (SL) در یک جدول ترکیبی چاپ میشوند. خروجی را میتوان به ترتیب با '-l directory,g' یا '-l directory,s' به دایرکتوری GPL یا دایرکتوری SL محدود کرد.
background - [فقط SCSI] گزارش نتایج اسکن پسزمینه، اطلاعات بهدستآمده از اسکنهای پسزمینه رسانه (BMS یا Background Media Scans) را که پس از روشن شدن و/یا به صورت دورهای (مانند هر ۲۴ ساعت) در دیسکهای جدید SCSI انجام شده است، خروجی میدهد. در صورت پشتیبانی، وضعیت BMS ابتدا خروجی داده میشود که نشان میدهد آیا یک اسکن پسزمینه در حال حاضر در جریان است (و در این صورت درصد پیشرفت)، مدت زمانی که دیسک روشن بوده است و تعداد اسکنهایی که قبلاً تکمیل شدهاند. سپس یک هدر و یک خط برای هر «رویداد» اسکن پسزمینه وجود دارد. این رویدادها معمولاً خطاهای بازیابیشده یا غیرقابل بازیابی خواهند بود. گروه اخیر ممکن است به توجه نیاز داشته باشد. توصیفی از سازوکار اسکن پسزمینه در بخش 4.18 از ویرایش ۶ استاندارد SBC-3 وجود دارد (به www.t10.org مراجعه کنید).
scttemp, scttempsts, scttemphist - [فقط ATA] اطلاعات دمای دیسک ارائهشده توسط دستورات SMART Command Transport (SCT) را چاپ میکند. گزینه 'scttempsts' دمای فعلی و محدودههای دمایی بازگرداندهشده توسط دستور SCT Status را چاپ میکند، 'scttemphist' محدودیتهای دما و جدول تاریخچه دمای بازگرداندهشده توسط دستور SCT Data Table را چاپ میکند، و 'scttemp' هر دو را چاپ میکند. مقادیر دما در طول چرخههای خاموش/روشن حفظ میشوند. فاصله زمانی ثبت گزارش را میتوان با گزینه '-l scttempint,N[,p]' پیکربندی کرد، به زیر مراجعه کنید. دستورات SCT در ATA8-ACS معرفی شدند و همچنین توسط بسیاری از دیسکهای ATA-7 پشتیبانی میشدند.
scttempint,N[,p] - [فقط ATA] جدول تاریخچه دمای SCT را پاک کرده و فاصله زمانی برای ثبت دمای گزارش را روی N دقیقه تنظیم میکند. اگر ',p' مشخص شده باشد، این تنظیم در طول چرخههای خاموش/روشن حفظ میشود. در غیر این صورت، این تنظیم فرار (غیرپایدار) است و با بازنشانی سختافزاری بعدی (hard reset) به آخرین تنظیم غیرفرار بازگردانده خواهد شد. فاصله زمانی پیشفرض وابسته به سازنده است؛ مقادیر معمول ۱، ۲ یا ۵ دقیقه هستند.
scterc[,READTIME,WRITETIME][,p|reset] - [فقط ATA] مقادیر و توضیحات تنظیمات کنترل بازیابی خطای SCT (یا SCT Error Recovery Control) را چاپ میکند. این تنظیمات معادل TLER (مورد استفاده وسترن دیجیتال)، CCTL (مورد استفاده سامسونگ و هیتاچی/HGST) و ERC (مورد استفاده سیگیت) هستند. آرگومانهای READTIME و WRITETIME (بر حسب دسیثانیه) مقادیر مشخصشده را تنظیم میکنند. مقدار 0 این ویژگی را غیرفعال میکند، سایر مقادیر کمتر از 65 احتمالاً پشتیبانی نمیشوند. برای پیکربندیهای RAID، این مقدار معمولاً روی 70,70 دسیثانیه تنظیم میشود.
اگر 'scterc,READTIME,WRITETIME,p' مشخص شود، این مقادیر زمانی پس از بازنشانی هنگام روشن شدن (power-on reset) پایدار خواهند ماند. اگر 'scterc,p' مشخص شود، مقادیر پایدار پس از روشن شدن چاپ میشوند. اگر 'scterc,reset' مشخص شود، تمام تنظیمات تایمر SCT به مقادیر پیشفرض سازنده بازگردانده میشوند. گزینههای ',p' و ',reset' نیازمند آن هستند که دستگاه از ATA ACS-4 یا بالاتر پشتیبانی کند.devstat[,PAGE] - [فقط ATA] مقادیر و توضیحات صفحات گزارش Device Statistics در ATA (آدرس General Purpose Log برابر با 0x04) را چاپ میکند. اگر هیچ شماره صفحهای (PAGE) مشخص نشود، ورودیهای تمام صفحات پشتیبانیشده چاپ میشوند. اگر PAGE 0 مشخص شود، فهرستی از صفحات پشتیبانیشده چاپ میشود. قابلیت Device Statistics در ACS-2 معرفی شد و تنها توسط برخی از دستگاههای جدید پشتیبانی میشود.
defects[,NUM] - [ATA] مقادیر LBA و ساعات کارکرد را از گزارش نقصهای معلق ATA (یا ATA Pending Defects log با آدرس General Purpose Log برابر با 0x0c) چاپ میکند. به طور پیشفرض تنها ۳۱ ورودی از صفحه اول گزارش چاپ میشوند. این تعداد را میتوان با پارامتر اختیاری NUM تغییر داد. اندازه گزارش و ترتیب ورودیها وابسته به سازنده است. گزارش نقصهای معلق در ACS-4 ویرایش 01 (مارس ۲۰۱۴) معرفی شد.
defects - [SCSI] مقادیر LBAهایی را که اسکن پسزمینه قادر به خواندن آنها نبوده است (یعنی یک نقص یا defect) چاپ میکند. ورودیها (در صورت وجود) LBA معیوب و مقدار ساعات روشن بودن (از زمان ساخت) را در لحظهای که اسکن پسزمینه نقص را پیدا کرده نشان میدهند. توجه داشته باشید که این نقصهای معلق ممکن است قبل از تلاش هر برنامهای برای خواندن یک LBA معیوب ظاهر شوند.
envrep - [فقط SCSI] مقادیر و توضیحات صفحه گزارش Environmental reporting در SCSI را چاپ میکند. این گزارش شامل یک یا چند دما است و ممکن است شامل رطوبتهای نسبی نیز باشد. حداکثرها و حداقلهای طول عمر دستگاه نیز گزارش میشوند.
genstats - [فقط SCSI: ویژگی تجربی جدید SMARTCTL 7.4] مقادیر و توضیحات صفحه گزارش آمار عمومی و عملکرد (General statistics and performance) در SCSI را چاپ میکند.
sataphy[,reset] - [فقط SATA] مقادیر و توضیحات شمارندههای رویداد SATA Phy (آدرس General Purpose Log برابر با 0x11) را چاپ میکند. اگر '-l sataphy,reset' مشخص شود، تمام شمارندهها پس از خواندن مقادیر بازنشانی میشوند. این گزینه همچنین برای دستگاههای SATA با رابط Packet مانند درایوهای CD/DVD نیز کار میکند.
sasphy[,reset] - [فقط SAS (SCSI)] مقادیر و توضیحات صفحه گزارش خاص پروتکل SAS (SSP) (صفحه گزارش 0x18) را چاپ میکند. اگر '-l sasphy,reset' مشخص شود، تمام شمارندهها پس از خواندن مقادیر بازنشانی میشوند.
tapealert - [درایوها و تعویضکنندههای نوار SCSI] مقادیر و توضیحات صفحه گزارش Tape Alert (SSC) را چاپ میکند. برای مسائل مربوط به چاپ این صفحه گزارش، به TAPE DRIVES در زیر مراجعه کنید.
tapedevstat - [درایوها و تعویضکنندههای نوار SCSI] مقادیر و توضیحات صفحه گزارش Device Statistics (SSC) را چاپ میکند.
zdevstat - [دیسکهای منطقهبندیشده SCSI] مقادیر و توضیحات صفحه گزارش Zoned Block Device Statistics (ZBC-2) را چاپ میکند.
gplog,ADDR[,FIRST[-LAST|+SIZE]] - [فقط ATA] یک دامپ هگزادسیمال از هر گزارشی که از طریق ویژگی General Purpose Logging (GPL) قابل دسترسی است چاپ میکند. آدرس گزارش ADDR آدرس هگزادسیمال فهرستشده در دایرکتوری گزارش است (به '-l directory' در بالا مراجعه کنید). محدوده بخشهای گزارش (صفحات) را میتوان با مقادیر دهدهی FIRST-LAST یا FIRST+SIZE مشخص کرد. مقدار پیشفرض FIRST برابر با 0 و مقدار پیشفرض SIZE برابر با 1 است. LAST را میتوان روی 'max' تنظیم کرد تا آخرین صفحه گزارش مشخص شود.
smartlog,ADDR[,FIRST[-LAST|+SIZE]] - [فقط ATA] یک دامپ هگزادسیمال از هر گزارشی که از طریق دستور SMART Read Log قابل دسترسی است چاپ میکند. برای نحو پارامترها به '-l gplog,...' در بالا مراجعه کنید.
برای مثال، تمام این دستورات:
smartctl -l gplog,0x80,10-15 /dev/sda smartctl -l gplog,0x80,10+6 /dev/sda smartctl -l smartlog,0x80,10-15 /dev/sda
صفحات 10–15 از گزارش 0x80 (اولین گزارش اختصاصی سازنده میزبان) را چاپ میکنند.قالب دامپ هگزادسیمال با دستور 'xxd -r' سازگار است. این دستور:
smartctl -l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
یک نمایش باینری از گزارش یکبخشی 0x11 (شمارندههای رویداد SATA Phy) را در فایل log.bin مینویسد.nvmelog,PAGE,SIZE - [فقط NVMe] یک دامپ هگزادسیمال از اولین SIZE بایت از گزارش NVMe با شناسه PAGE را چاپ میکند. شناسه PAGE یک عدد هگزادسیمال در محدوده 0x1 تا 0xff است. اندازه SIZE یک عدد هگزادسیمال در محدوده 0x4 تا 0x4000 (معادل ۱۶ کیبیبایت) است. هشدار: شناسه یک صفحه گزارش ناشناخته را مشخص نکنید. خواندن یک صفحه گزارش ممکن است عوارض جانبی ناخواستهای به همراه داشته باشد.
ssd - [ATA] صفحه گزارش Solid State Device Statistics را چاپ میکند. این گزینه همان تأثیر '-l devstat,7' را دارد، به بالا مراجعه کنید.
ssd - [SCSI] نشانگر درصد دوام مصرفشده (percentage used endurance) رسانه حالت جامد را چاپ میکند. مقدار 0 نشاندهنده وضعیت نو است، در حالی که 100 نشان میدهد دستگاه طبق پیشبینی سازنده در پایان طول عمر خود قرار دارد. این مقدار ممکن است به 255 برسد.
farm - [فقط Seagate ATA یا SAS (SCSI): ویژگی تجربی جدید SMARTCTL 7.4] هنگامی که روی درایوی با پشتیبانی از FARM استفاده شود، معیارها و مقادیر پیشبینی سلامت درایو را از گزارش اختصاصی Field Access Reliability Metrics (FARM) شرکت سیگیت چاپ میکند. گزارشهای ATA و SAS کمی تفاوت دارند. هشدار: برخی از درایوهای سیگیت از FARM پشتیبانی نمیکنند.
- -v ID,FORMAT[:BYTEORDER][,NAME], --vendorattribute=ID,FORMAT...
- [فقط ATA] یک
قالب (FORMAT) چاپ
مقدار خام
اختصاصی
سازنده، یک
ترتیب بایت
(BYTEORDER) اختیاری
و یک نام (NAME)
اختیاری را
برای شناسه
ویژگی (Attribute ID)
تنظیم
میکند. این
گزینه ممکن
است چندین
بار
استفاده
شود.
شناسه ویژگی (Attribute ID) میتواند در محدوده ۱ تا ۲۵۵ باشد. اگر 'N' به عنوان ID مشخص شود، تنظیمات برای تمام ویژگیها تغییر میکند.
آرگومان اختیاری BYTEORDER شامل ۱ تا ۸ نویسه از مجموعه '012345rvwz' است. نویسههای '0' تا '5' بایتهای ۰ تا ۵ را از مقدار خام ۴۸ بیتی انتخاب میکنند، 'r' بایت رزروشده بلوک داده ویژگی را انتخاب میکند، 'v' مقدار نرمالشده را انتخاب میکند، 'w' بدترین مقدار را انتخاب میکند و 'z' یک بایت صفر درج میکند. مقدار پیشفرض BYTEORDER برابر با '543210' برای تمام قالبهای ۴۸ بیتی، 'r543210' برای قالبهای ۵۴ بیتی و '543210wv' برای قالبهای ۶۴ بیتی است. برای مثال، '-v 5,raw48:012345' مقدار خام ویژگی ۵ را با ترتیب بایت بزرگاندیان (big endian) به جای کوچکاندیان (little endian) چاپ میکند.
مقدار NAME رشتهای از حروف، ارقام و زیرخط (underscore) است. طول آن نباید از ۲۳ نویسه تجاوز کند. در صورتی که این مورد رعایت نشود، گزینه '-P showall' یک خطا گزارش میدهد.
-v help - فهرستی از تمام آرگومانهای معتبر برای این گزینه را (در STDOUT) چاپ کرده و سپس خارج میشود.
آرگومانهای معتبر برای FORMAT عبارتند از:
raw8 - مقدار خام (Raw) را به صورت شش عدد صحیح مبنای ۱۰ بدون علامت ۸ بیتی چاپ میکند. این ممکن است برای رمزگشایی معنای مقدار خام مفید باشد.
raw16 - مقدار خام را به صورت سه عدد صحیح مبنای ۱۰ بدون علامت ۱۶ بیتی چاپ میکند. این ممکن است برای رمزگشایی معنای مقدار خام مفید باشد.
raw48 - مقدار خام را به صورت یک عدد صحیح مبنای ۱۰ بدون علامت ۴۸ بیتی چاپ میکند. این حالت پیشفرض برای اکثر ویژگیها است.
hex48 - مقدار خام را به صورت یک عدد هگزادسیمال ۱۲ رقمی چاپ میکند. این ممکن است برای رمزگشایی معنای مقدار خام مفید باشد.
raw56 - مقدار خام را به صورت یک عدد صحیح مبنای ۱۰ بدون علامت ۵۴ بیتی چاپ میکند. این شامل بایت رزروشدهای است که پس از مقدار خام ۴۸ بیتی قرار دارد.
hex56 - مقدار خام را به صورت یک عدد هگزادسیمال ۱۴ رقمی چاپ میکند. این شامل بایت رزروشدهای است که پس از مقدار خام ۴۸ بیتی قرار دارد.
raw64 - مقدار خام را به صورت یک عدد صحیح مبنای ۱۰ بدون علامت ۶۴ بیتی چاپ میکند. این شامل دو بایت از مقادیر ویژگی نرمالشده و بدترین است. این قالب خام توسط برخی دستگاههای SSD با کنترلر Indilinx استفاده میشود.
hex64 - مقدار خام را به صورت یک عدد هگزادسیمال ۱۶ رقمی چاپ میکند. این شامل دو بایت از مقادیر ویژگی نرمالشده و بدترین است. این قالب خام توسط برخی دستگاههای SSD با کنترلر Indilinx استفاده میشود.
min2hour - ویژگی خام، مدت زمان روشن بودن (power-on time) بر حسب دقیقه است. مقدار خام آن به فرمت "Xh+Ym" نمایش داده خواهد شد. در اینجا X ساعت و Y دقیقه در محدوده 0–59 (شامل ابتدا و انتها) است. Y همیشه با دو رقم چاپ میشود، برای مثال "06" یا "31" یا "00".
sec2hour - ویژگی خام، مدت زمان روشن بودن بر حسب ثانیه است. مقدار خام آن به فرمت "Xh+Ym+Zs" نمایش داده خواهد شد. در اینجا X ساعت، Y دقیقه در محدوده 0–59 و Z ثانیه در محدوده 0–59 است. Y و Z همیشه با دو رقم چاپ میشوند، برای مثال "06" یا "31" یا "00".
halfmin2hour - ویژگی خام، مدت زمان روشن بودن است که در واحدهای ۳۰ ثانیهای اندازهگیری میشود. این قالب توسط برخی دیسکهای سامسونگ استفاده میشود. مقدار خام آن به فرمت "Xh+Ym" نمایش داده خواهد شد. در اینجا X ساعت و Y دقیقه در محدوده 0–59 است. Y همیشه با دو رقم چاپ میشود، برای مثال "06" یا "31" یا "00".
msec24hour32 - ویژگی خام، مدت زمان روشن بودن اندازهگیری شده در ساعت ۳۲ بیتی و میلیثانیههای ۲۴ بیتی از زمان آخرین بهروزرسانی ساعت است. این مقدار به فرمت "Xh+Ym+Z.Ms" نمایش داده خواهد شد. در اینجا X ساعت، Y دقیقه، Z ثانیه و M میلیثانیه است.
tempminmax - ویژگی خام، دمای دیسک بر حسب سلسیوس است. اطلاعات مربوط به کمینه/بیشینه دما در صورت در دسترس بودن چاپ میشود. این حالت پیشفرض برای ویژگیهای ۱۹۰ و ۱۹۴ است. بازه زمانی ثبت (طول عمر، آخرین چرخه روشنشدن، آخرین بازنشانی نرمافزاری) مقادیر کمینه/بیشینه مختص دستگاه است.
temp10x - ویژگی خام، ۱۰ برابر دمای دیسک بر حسب سلسیوس است.
raw16(raw16) - ویژگی خام را به صورت یک مقدار ۱۶ بیتی و دو مقدار اختیاری ۱۶ بیتی در صورت غیرصفر بودن این کلمات (words) چاپ میکند. این حالت پیشفرض برای ویژگیهای ۵ و ۱۹۶ است.
raw16(avg16) - ویژگی خام، زمان راهاندازی چرخش (spin-up time) است. به صورت یک مقدار ۱۶ بیتی و یک مقدار اختیاری "Average" (میانگین) ۱۶ بیتی در صورت غیرصفر بودن کلمه چاپ میشود. این حالت پیشفرض برای ویژگی ۳ است.
raw24(raw8) - ویژگی خام را به صورت یک مقدار ۲۴ بیتی و سه مقدار اختیاری ۸ بیتی در صورت غیرصفر بودن این بایتها چاپ میکند. این حالت پیشفرض برای ویژگی ۹ است.
raw24/raw24 - ویژگی خام شامل دو مقدار ۲۴ بیتی است. مقدار اول تعداد چرخههای بارگذاری (load cycles) است. مقدار دوم تعداد چرخههای تخلیه/پارک هد (unload cycles) است. تفاوت بین این دو مقدار، تعداد دفعاتی است که برق درایو به طور غیرمنتظره قطع شده است (تخلیه اضطراری یا emergency unload نیز نامیده میشود). به عنوان یک قاعده تجربی، تنش مکانیکی ایجاد شده توسط یک تخلیه اضطراری معادل تنش ناشی از صد تخلیه عادی است.
raw24/raw32 - ویژگی خام، یک نرخ خطا است که از یک شمارنده خطای ۲۴ بیتی و یک شمارنده کل ۳۲ بیتی تشکیل شده است.
آرگومانهای قدیمی زیر برای '-v' نیز همچنان معتبر هستند:
9,minutes - همانند: 9,min2hour,Power_On_Minutes.
9,seconds - همانند: 9,sec2hour,Power_On_Seconds.
9,halfminutes - همانند: 9,halfmin2hour,Power_On_Half_Minutes.
9,temp - همانند: 9,tempminmax,Temperature_Celsius.
192,emergencyretractcyclect - همانند: 192,raw48,Emerg_Retract_Cycle_Ct
193,loadunload - همانند: 193,raw24/raw24.
194,10xCelsius - همانند: 194,temp10x,Temperature_Celsius_x10.
194,unknown - همانند: 194,raw48,Unknown_Attribute.
197,increasing - همانند: 197,raw48,Total_Pending_Sectors. همچنین به این معناست که ویژگی شماره ۱۹۷ (Current Pending Sector Count) در صورت تخصیص مجدد سکتورهای غیرقابل تصحیح، بازنشانی نمیشود (صفحه راهنمای smartd.conf(5) را ببینید).
198,increasing - همانند: 198,raw48,Total_Offl_Uncorrectabl. همچنین به این معناست که ویژگی شماره ۱۹۸ (Offline Uncorrectable Sector Count) در صورت تخصیص مجدد سکتورهای غیرقابل تصحیح، بازنشانی نمیشود (صفحه راهنمای smartd.conf(5) را ببینید).
198,offlinescanuncsectorct - همانند: 198,raw48,Offline_Scan_UNC_SectCt.
200,writeerrorcount - همانند: 200,raw48,Write_Error_Count.
201,detectedtacount - همانند: 201,raw48,Detected_TA_Count.
220,temp - همانند: 220,tempminmax,Temperature_Celsius.
- -F TYPE, --firmwarebug=TYPE
- [فقط ATA] رفتار
smartctl را برای
جبران برخی
باگهای
شناختهشده
و مشخص در
سفتافزار
یا درایور
دستگاه
تغییر
میدهد. این
گزینه ممکن
است چندین
بار
استفاده
شود.
آرگومانهای
معتبر
عبارتند از:
none - فرض میکند که سفتافزار دستگاه از مشخصات ATA پیروی میکند. این حالت پیشفرض است، مگر اینکه دستگاه پیشتنظیماتی برای '-F' در پایگاهداده درایو داشته باشد. استفاده از این گزینه در خط فرمان هرگونه مقدار پیشتنظیم را لغو خواهد کرد.
nologdir - تلاشها برای خواندن دایرکتوری گزارش SMART یا GP را متوقف میسازد. پشتیبانی از تمام گزارشهای استاندارد بدون بررسی واقعی فرض میشود. برخی SSDهای Intel در صورت خواندن آدرس گزارش 0 ممکن است هنگ کنند (freeze شوند).
samsung - در برخی دیسکهای سامسونگ (Samsung) (برای مثال: مدل SV4012H نسخه سفتافزار: RM100-08) برخی از مقادیر دو و چهار بایتی در ساختارهای داده SMART دارای ترتیب بایت معکوس هستند (نسبت به مشخصات استاندارد ATA). فعال کردن این گزینه به smartctl میگوید که این مقادیر را با ترتیب بایت معکوس ارزیابی کند. برخی از نشانههایی که نشان میدهد دیسک شما به این گزینه نیاز دارد عبارتند از: (۱) هیچ گزارش خودآزمایی چاپ نمیشود، حتی اگر خودآزماییها را اجرا کرده باشید؛ (۲) تعداد بسیار زیادی خطای ATA در گزارش خطای ATA گزارش میشود؛ (۳) مقادیر عجیب و غیرممکن برای برچسبهای زمانی گزارش خطای ATA ثبت شده است.
samsung2 - در برخی دیسکهای سامسونگ تعداد خطاهای ATA گزارششده دارای ترتیب بایت معکوس است. فعال کردن این گزینه به smartctl میگوید که این مقدار را با ترتیب بایت معکوس ارزیابی کند. نشانهای از اینکه دیسک سامسونگ شما به این گزینه نیاز دارد این است که گزارش خودآزمایی به درستی چاپ میشود، اما تعداد بسیار زیادی خطا در گزارش خطای SMART وجود دارد. این به دلیل معکوس بودن بایتهای شمارش خطا است؛ بنابراین دیسکی با پنج خطا (0x0005) به نظر میرسد که ۲۰۴۸۰ خطا (0x5000) دارد.
samsung3 - برخی دیسکهای سامسونگ (حداقل مدل SP2514N با سفتافزار VF100-37) گزارش میدهند که خودآزمایی همچنان با ۰٪ باقیمانده در حال انجام است در حالی که آزمون از قبل تکمیل شده است. فعال کردن این گزینه خروجی وضعیت اجرای خودآزمایی (گزینههای '-c' یا '-a' در بالا را ببینید) را مطابق با آن اصلاح میکند.
xerrorlba - ترتیب بایت LBA را در گزارش جامع و گسترده خطای SMART (Extended Comprehensive SMART error log) اصلاح میکند. برخی دیسکها به جای ترتیب ثبات ATA، از ترتیب بایت کوچکاندیان (little endian) برای تعیین آدرسهای LBA در ورودیهای گزارش استفاده میکنند.
swapid - رشتههای شناسایی ATA (نام دستگاه، شماره سریال، نسخه سفتافزار) دارای ترتیب بایت معکوس که توسط برخی درایورهای معیوب دستگاه بازگردانده میشوند را اصلاح میکند.
- -P TYPE, --presets=TYPE
- [فقط ATA] مشخص
میکند که
آیا smartctl باید
از
گزینههای
پیشتنظیم
موجود برای
این درایو
استفاده
کند یا خیر.
به طور
پیشفرض،
اگر درایو
در
پایگاهداده
smartmontools
شناسایی
شود،
پیشتنظیمات
استفاده
میشوند.
آرگومان show هرگونه گزینه پیشتنظیم را برای درایو شما نمایش میدهد و آرگومان showall تمام درایوهای شناختهشده در پایگاهداده smartmontools را همراه با گزینههای پیشتنظیم آنها نمایش میدهد. اگر هیچ پیشتنظیمی برای درایو شما وجود ندارد و فکر میکنید باید وجود داشته باشد (برای مثال، گزینه -v یا -F برای نمایش مقادیر صحیح توسط smartctl لازم است)، لطفاً با توسعهدهندگان smartmontools تماس بگیرید تا این اطلاعات بتواند به پایگاهداده smartmontools افزوده شود. اطلاعات تماس در انتهای این صفحه راهنما قرار دارد.
آرگومانهای معتبر برای این گزینه عبارتند از:
use - اگر درایو شناسایی شد، از پیشتنظیمات ذخیرهشده برای آن استفاده کن. این حالت پیشفرض است. توجه داشته باشید که پیشتنظیمات گزینههای تفسیری ویژگیها در خط فرمان ('-v N,something') یا گزینههای صریح خط فرمان '-F' را لغو نخواهند کرد.
ignore - از پیشتنظیمات استفاده نکن.
show - نشان میدهد که آیا درایو در پایگاهداده شناسایی شده است یا خیر، و در صورت شناسایی، پیشتنظیمات آن را نمایش داده و سپس خارج میشود.
showall - فهرستی از تمام درایوهای شناساییشده و پیشتنظیماتی که برای آنها تعیین شده است را نمایش داده و سپس خارج میشود. این کار همچنین عبارات باقاعده و تنظیمات پایگاهداده درایو را از نظر خطاهای نحوی بررسی میکند.
گزینه '-P showall' تا دو آرگومان اختیاری برای تطابق با نوع خاصی از درایو و نسخه سفتافزار میپذیرد. دستور:
smartctl -P showall
تمام ورودیها را فهرست میکند، دستور:smartctl -P showall 'MODEL'
تمام ورودیهای منطبق با MODEL را فهرست میکند، و دستور:smartctl -P showall 'MODEL' 'FIRMWARE'
تمام ورودیها برای این MODEL و یک نسخه سفتافزار (FIRMWARE) مشخص را فهرست میکند. - -B [+]FILE, --drivedb=[+]FILE
- [فقط ATA]
پایگاهداده
درایو را از
FILE میخواند.
پایگاهداده
جدید به طور
پیشفرض
جایگزین
پایگاهداده
توکار
میشود. اگر
'+' مشخص شود،
ورودیهای
جدید به
ابتدای
ورودیهای
توکار
افزوده
میشوند.
اگر این گزینه مشخص نشده باشد، ورودیهای اختیاری از فایل /etc/smart_drivedb.h خوانده میشوند.
اگر /usr/share/smartmontools/drivedb.h موجود باشد، محتویات این فایل به جای جدول توکار استفاده میشود.
دستور /usr/bin/update-smart-drivedb را برای بهروزرسانی این فایل از مخزن SVN پروژه smartmontools اجرا کنید.
فایلهای پایگاهداده از همان نحو C/C++ استفاده میکنند که برای مقداردهی اولیه آرایه پایگاهداده توکار استفاده میشود. توضیحات (کامنتهای) سبک C/C++ مجاز هستند. مثال:
/* Full entry: */ { "Model family", // Info about model family/series. "MODEL1.*REGEX", // Regular expression to match model of device. "VERSION.*REGEX", // Regular expression to match firmware version(s). "Some warning", // Warning message. "-v 9,minutes" // String of preset -v and -F options. }, /* Minimal entry: */ { "", // No model family/series info. "MODEL2.*REGEX", // Regular expression to match model of device. "", // All firmware versions. "", // No warning. "" // No options preset. }, /* USB ID entry: */ { "USB: Device; Bridge", // Info about USB device and bridge name. "0x1234:0xabcd", // Regular expression to match vendor:product ID. "0x0101", // Regular expression to match bcdDevice. "", // Not used. "-d sat" // String with device type option. }, /* ... */ - گزینههای اجرای/توقف آزمونهای برونخط و خودآزمایی SMART (SMART RUN/ABORT OFFLINE TEST AND self-test OPTIONS):
- -t TEST, --test=TEST
- آزمون TEST را
بیدرنگ
اجرا
میکند.
گزینه '-C'
میتواند
همراه با
این گزینه
برای اجرای
خودآزماییهای
کوتاه یا
طولانی (و
همچنین
برای
دستگاههای
ATA، گزینشی
یا
حملونقل)
در حالت
دربند (که
برای
دستگاههای
SCSI به عنوان
«حالت
پیشزمینه»
شناخته
میشود)
استفاده
شود. توجه
داشته
باشید که در
هر زمان فقط
یک نوع
آزمون
میتواند
اجرا شود،
بنابراین
در هر خط
فرمان باید
فقط یک نوع
آزمون مشخص
شود. همچنین
توجه داشته
باشید که
اگر رایانه
در حین
خودآزمایی
خاموش شود
یا چرخه قطع
و وصل برق (power cycle)
رخ دهد، هیچ
آسیبی وارد
نخواهد شد.
خودآزمایی
یا متوقف
میشود یا
به طور
خودکار از
سر گرفته
خواهد شد.
تمام دستورات '-t TEST' میتوانند در طول عملکرد عادی سیستم صادر شوند، مگر اینکه از حالت دربند (گزینه '-C') استفاده شود. با این حال، یک خودآزمایی در حال اجرا میتواند کارایی درایو را کاهش دهد. درخواستهای ورودی/خروجی (I/O) مکرر از سوی سیستمعامل مدت زمان آزمون را افزایش میدهند. این اثرات ممکن است از دستگاهی به دستگاه دیگر متفاوت باشد.
اگر خطایی در آزمون رخ دهد، ممکن است دستگاه روند آزمایش را متوقف کرده و نتیجه را فوراً گزارش کند.
[ATA] توجه داشته باشید که دستور ATA با عنوان SMART EXECUTE OFF-LINE IMMEDIATE (دستور شروع آزمون) در استاندارد ATA ACS-4 Revision 10 (نوامبر ۲۰۱۵) منسوخ اعلام شد.
آرگومانهای معتبر برای این گزینه عبارتند از:
offline - [ATA] آزمون برونخط فوری SMART (SMART Immediate Offline Test) را اجرا میکند. این دستور بیدرنگ آزمون شرحدادهشده در بالا را آغاز مینماید. این دستور میتواند در حین عملکرد عادی سیستم صادر شود. اثرات این آزمون تنها از این نظر قابل مشاهده است که مقادیر مشخصههای SMART را بهروزرسانی میکند، و اگر خطاهایی یافت شوند در گزارش خطای SMART ظاهر خواهند شد که با گزینه '-l error' قابل مشاهده است.
اگر گزینه '-c' در smartctl نشان دهد که دستگاه دارای قابلیت «Suspend Offline collection upon new command» است، میتوانید پیشرفت آزمون فوری برونخط را با استفاده از گزینه '-c' در smartctl دنبال کنید. اگر گزینه '-c' نشان دهد که دستگاه دارای قابلیت «Abort Offline collection upon new command» است، بیشتر دستورات باعث لغو آزمون فوری برونخط میشوند، بنابراین نباید تلاش کنید پیشرفت آزمون را با '-c' پیگیری کنید، زیرا باعث لغو آزمون خواهد شد.
offline - [SCSI] خودآزمایی پیشفرض را در پیشزمینه اجرا میکند. هیچ ورودی در گزارش خودآزمایی ثبت نمیشود.
short - [ATA] خودآزمایی کوتاه SMART (معمولاً کمتر از ده دقیقه) را اجرا میکند. این دستور میتواند در طول عملکرد عادی سیستم صادر شود (مگر اینکه در حالت دربند اجرا شود - گزینه '-C' در زیر را ببینید). این آزمونی در دستهای متفاوت از آزمونهای برونخط فوری یا خودکار است. آزمونهای «Self» عملکرد الکتریکی و مکانیکی و همچنین عملکرد خواندن دیسک را بررسی میکنند. نتایج آنها در گزارش خطای خودآزمایی (Self Test Error Log) گزارش میشود که با گزینه '-l selftest' قابل خواندن است. توجه داشته باشید که در برخی دیسکها میتوان پیشرفت خودآزمایی را با مشاهده این گزارش در طول خودآزمایی نظارت کرد؛ در دیسکهای دیگر برای نظارت بر پیشرفت از گزینه '-c' استفاده کنید.
short - [SCSI] خودآزمایی «Background short» را اجرا میکند.
short - [NVMe: ویژگی تجربی جدید در SMARTCTL 7.4] خودآزمایی «Short» را برای فضای نام (namespace) فعلی اجرا میکند.
long - [ATA] خودآزمایی گسترده SMART (از دهها دقیقه تا چندین ساعت) را اجرا میکند. این یک نسخه طولانیتر و دقیقتر از خودآزمایی کوتاه است که در بالا توضیح داده شد. توجه داشته باشید که این دستور میتواند در حین عملکرد عادی سیستم صادر شود (مگر اینکه در حالت دربند اجرا شود - گزینه '-C' در زیر را ببینید).
long - [SCSI] خودآزمایی «Background long» را اجرا میکند.
long - [NVMe: ویژگی تجربی جدید در SMARTCTL 7.4] خودآزمایی «Extended» را برای فضای نام فعلی اجرا میکند.
conveyance - [فقط ATA] یک خودآزمایی حملونقل SMART (چند دقیقه) را اجرا میکند. این روتین خودآزمایی برای شناسایی آسیبهای واردشده در حین جابهجایی و انتقال دستگاه در نظر گرفته شده است. این روتین خودآزمایی باید در حدود چند دقیقه تکمیل شود. توجه داشته باشید که این دستور میتواند در حین عملکرد عادی سیستم صادر شود (مگر اینکه در حالت دربند اجرا شود - گزینه '-C' در زیر را ببینید).
select,N-M, select,N+SIZE - [فقط ATA] یک خودآزمایی گزینشی SMART را برای آزمایش یک محدوده از آدرسهای بلوک منطقی دیسک (LBAs)، به جای کل دیسک، اجرا میکند. هر محدوده از LBAها که بررسی میشود یک «بازه» (span) نامیده میشود و با یک LBA شروع (N) و یک LBA پایان (M) مشخص میگردد که در آن N کمتر یا مساوی با M است. محدوده را میتوان به صورت N+SIZE نیز مشخص کرد. یک بازه در انتهای دیسک را میتوان با N-max مشخص نمود.
برای مثال دستورات:
smartctl -t select,10-20 /dev/sda smartctl -t select,10+11 /dev/sda
هر دو یک خودآزمایی را روی یک بازه متشکل از LBAهای شماره ۱۰ تا ۲۰ (شامل هر دو) اجرا میکنند. دستور:smartctl -t select,100000000-max /dev/sda
یک خودآزمایی را از LBA شماره ۱۰۰۰۰۰۰۰۰ تا انتهای دیسک اجرا میکند. گزینه '-t' میتواند تا پنج بار داده شود تا حداکثر پنج بازه را آزمایش کند. برای مثال دستور:smartctl -t select,0-100 -t select,1000-2000 /dev/sda
یک خودآزمایی را روی دو بازه اجرا میکند. بازه اول شامل ۱۰۱ بلوک LBA و بازه دوم شامل ۱۰۰۱ بلوک LBA است. توجه داشته باشید که بازهها میتوانند به طور جزئی یا کامل همپوشانی داشته باشند، برای مثال:smartctl -t select,0-10 -t select,5-15 -t select,10-20 /dev/sda
نتایج خودآزمایی گزینشی را میتوان (هم در طول آزمون و هم پس از آن) با چاپ گزارش خودآزمایی SMART، با استفاده از گزینه '-l selftest' در smartctl به دست آورد.خودآزماییهای گزینشی به ویژه با افزایش ظرفیت دیسکها بسیار مفید هستند: یک خودآزمایی گسترده (smartctl -t long) میتواند چندین ساعت طول بکشد. اگر (بر اساس پیامهای خطای SYSLOG، خودآزماییهای ناموفق قبلی یا ورودیهای گزارش خطای SMART) مشکوک هستید که دیسک در محدوده خاصی از آدرسهای منطقی بلوک (LBAs) دچار مشکل شده است، خودآزماییهای گزینشی مفید خواهند بود.
خودآزماییهای گزینشی میتوانند در طول عملکرد عادی سیستم اجرا شوند (مگر اینکه در حالت دربند انجام شوند - گزینه '-C' در زیر را ببینید).
انواع زیر از دستور خودآزمایی گزینشی از بازههایی بر اساس محدودههای آزمونهای پیشین که از قبل روی دیسک ذخیره شدهاند استفاده میکنند:
select,redo[+SIZE] - [فقط ATA] تکرار آخرین خودآزمایی گزینشی SMART با استفاده از همان محدوده LBA. LBA شروع، مشابه LBA استفادهشده در آخرین آزمون است و LBA پایان نیز به همین صورت است مگر اینکه اندازه بازه جدیدی با آرگومان اختیاری +SIZE مشخص شود.
برای مثال دستورات:
smartctl -t select,10-20 /dev/sda smartctl -t select,redo /dev/sda smartctl -t select,redo+20 /dev/sda
تأثیری مشابه موارد زیر دارند:smartctl -t select,10-20 /dev/sda smartctl -t select,10-20 /dev/sda smartctl -t select,10-29 /dev/sda
select,next[+SIZE] - [فقط ATA] یک خودآزمایی گزینشی SMART را روی محدوده LBA که پس از محدوده آخرین آزمون قرار دارد اجرا میکند. LBA شروع روی (LBA پایان + ۱) از آخرین آزمون تنظیم میشود. اندازه بازه جدید ممکن است با آرگومان اختیاری +SIZE مشخص شود.
برای مثال دستورات:
smartctl -t select,0-999 /dev/sda smartctl -t select,next /dev/sda smartctl -t select,next+2000 /dev/sda
تأثیری مشابه موارد زیر دارند:smartctl -t select,0-999 /dev/sda smartctl -t select,1000-1999 /dev/sda smartctl -t select,2000-3999 /dev/sda
اگر آخرین آزمون در آخرین LBA دیسک به پایان رسیده باشد، محدوده جدید از LBA 0 شروع میشود. اندازه بازه برای آخرین بازه دیسک به گونهای تنظیم میشود که تعداد کل بازهها برای بررسی کامل دیسک با استفادههای بعدی از '-t select,next' تغییر نکند.
select,cont[+SIZE] - [فقط ATA] در صورتی که وضعیت خودآزمایی گزارش دهد که آخرین آزمون توسط میزبان لغو شده است، عملیات 'redo' (در بالا) را انجام میدهد. در غیر این صورت آزمون 'next' (در بالا) را اجرا میکند.
afterselect,on - [فقط ATA] پس از تکمیل خودآزمایی گزینشی، یک پویش خواندن برونخط را انجام میدهد. این گزینه باید همراه با یک یا چند مورد از گزینههای select,N-M در بالا استفاده شود. اگر LBAهایی که در خودآزمایی گزینشی مشخص شدهاند بدون یافتن خطا آزمون را بگذرانند، باقیمانده دیسک تحت پویش خواندن قرار میگیرد. اگر دستگاه در حین انجام این پویش خواندن قطع و وصل برق (power-cycled) شود، پویش خواندن پس از زمانی که توسط زمانسنج تعلیق (pending timer - به زیر مراجعه کنید) مشخص شده است، به طور خودکار از سر گرفته میشود. مقدار این گزینه بین خودآزماییهای گزینشی حفظ میشود.
afterselect,off - [فقط ATA] پس از تکمیل یک خودآزمایی گزینشی، باقیمانده دیسک را تحت پویش خواندن قرار ندهید. این گزینه باید همراه با یک یا چند مورد از گزینههای select,N-M در بالا استفاده شود. مقدار این گزینه بین خودآزماییهای گزینشی حفظ میشود.
pending,N - [فقط ATA] زمانسنج پویش خواندن برونخط معلق را روی N دقیقه تنظیم میکند. در اینجا N یک عدد صحیح در محدوده 0 تا 65535 (شامل هر دو) است. اگر دستگاه در طول پویش خواندن پس از یک خودآزمایی گزینشی خاموش شود، آزمون به طور خودکار N دقیقه پس از روشن شدن مجدد از سر گرفته میشود. این گزینه باید همراه با یک یا چند مورد از گزینههای select,N-M در بالا استفاده شود. مقدار این گزینه بین خودآزماییهای گزینشی حفظ میشود.
vendor,N - [فقط ATA] دستور ATA با عنوان SMART EXECUTE OFF-LINE IMMEDIATE را با زیردستور N در ثبات LBA LOW صادر میکند. زیردستور به عنوان یک مقدار هگز در محدوده 0x00 تا 0xff مشخص میشود. زیردستورهای 0x40–0x7e و 0x90–0xff برای استفادههای اختصاصی سازنده رزرو شدهاند؛ جدول ۶۱ از T13/1699-D Revision 6a (ATA8-ACS) را ببینید. توجه داشته باشید که زیردستورهای 0x00–0x04، 0x7f، 0x81–0x84 توسط سایر گزینههای smartctl پشتیبانی میشوند (مانند 0x01: '-t short'، 0x7f: '-X'، 0x82: '-C -t long').
هشدار: فقط زیردستوراتی را اجرا کنید که توسط سازنده دستگاه مستند شدهاند.
مثال فقط برای برخی از SSDهای اینتل (Intel): زیردستور 0x40 ('-t vendor,0x40') مشخصههای SMART مربوط به بار کاری زمانبندیشده (226، 227، 228) را پاک میکند. توجه داشته باشید که مقادیر خام این مشخصهها تا زمانی که زمانسنج بار کاری به ۶۰ دقیقه برسد، روی 65535 (0xffff) باقی میمانند.
force - شروع یک خودآزمایی جدید حتی اگر آزمون دیگری در حال اجرا باشد. به طور پیشفرض، یک خودآزمایی در حال اجرا برای آغاز آزمونی دیگر قطع نخواهد شد.
- -C, --captive
- [ATA]
خودآزماییها
را در حالت
دربند (captive mode)
اجرا
میکند. این
گزینه با '-t offline'
یا در صورتی
که گزینه '-t'
استفاده
نشده باشد،
هیچ اثری
ندارد.
هشدار: آزمونهای اجراشده در حالت دربند ممکن است درایو را در تمام طول مدت آزمون کاملاً مشغول کنند. آزمونهای دربند را فقط روی درایوهایی اجرا کنید که هیچ پارتیشن مانتشدهای ندارند!
[SCSI] خودآزمایی را در حالت «پیشزمینه» (Foreground) اجرا میکند.
- -X, --abort
- خودآزماییهای غیر دربند (non-captive) SMART را متوقف و لغو میکند. توجه داشته باشید که این دستور روتین آزمون فوری برونخط را تنها در صورتی لغو میکند که دیسک شما قابلیت «Abort Offline collection upon new command» را داشته باشد.
مجموعه دستورات ATA، SCSI و SAT (ATA, SCSI command sets and SAT)
در گذشته تمایز آشکاری میان دستگاههای ذخیرهسازی که از مجموعهدستورهای ATA و SCSI استفاده میکردند وجود داشت. این تمایز اغلب در نامگذاری دستگاهها و سختافزار آنها منعکس میشد. امروزه لایههای انتقال مختلف SCSI (مانند SAS، FC و iSCSI) میتوانند هم به دیسکهای SCSI (مانند FC و SAS) و هم به دیسکهای ATA (بهویژه SATA) متصل شوند. دستگاههای ذخیرهسازی USB و IEEE 1394 از نظر بیرونی از مجموعهدستورهای SCSI استفاده میکنند، اما تقریباً همیشه حاوی دیسکهای ATA یا SATA (یا حافظه فلش) هستند. زیرسیستمهای ذخیرهسازی در برخی سیستمعاملها شروع به حذف تمایز میان ATA و SCSI در سیاستهای نامگذاری دستگاههای خود کردهاند.
۹۹٪ از عملیاتی که یک سیستمعامل روی یک دیسک انجام میدهد شامل دستورهای SCSI مانند INQUIRY، READ CAPACITY، READ و WRITE یا معادلهای ATA آنها است. از آنجا که دستورهای SCSI کمی عمومیتر از معادلهای ATA خود هستند، بسیاری از سیستمعاملها دستورهای SCSI (عمدتاً READ و WRITE) را تولید میکنند و اجازه میدهند یک لایه پایینتر در صورت نیاز آنها را به معادلهای ATA خود ترجمه کند. یک نکته مهم در اینجا این است که «لایه پایینتر» ممکن است در تجهیزات خارجی باشد و بنابراین خارج از کنترل سیستمعامل قرار گیرد.
ترجمه SCSI به ATA یا SAT (مخفف SCSI to ATA Translation) استانداردی است (ANSI INCITS 431-2007) که نحوه انجام این ترجمه را مشخص میکند. برای ۱٪ باقیمانده از عملیاتی که یک سیستمعامل روی یک دیسک انجام میدهد، SAT دو گزینه ارائه میدهد. نخست، یک دستور اختیاری SCSI موسوم به ATA PASS-THROUGH است (که دو گونه دارد). دومین گزینه، ترجمه از نزدیکترین دستور SCSI است. بیشترین توجه فعلی به گزینه «pass-through» (عبور مستقیم) معطوف است.
ارتباط این موضوع با smartmontools (و در نتیجه smartctl) در این است که تعاملات آن با دیسکها کاملاً در دستهبندی «۱٪» قرار میگیرد. بنابراین حتی اگر سیستمعامل بتواند بدون مشکل با یک دیسک مانند «SCSI» رفتار کند (و آن را نامگذاری کند)، smartmontools باید مجموعهدستورهای بومی را شناسایی کرده و بر اساس آن عمل نماید. با سازگاری بیشتر سازندگان تجهیزات ذخیرهسازی (از جمله درایوهای خارجی SATA) با استاندارد SAT، برنامه smartmontools قادر است مجموعهدستورهای بومی دستگاه را بهطور خودکار تشخیص دهد. در برخی موارد، استفاده از گزینه -d sat در خط فرمان ضروری است.
همچنین دیسکهای مجازی نیز وجود دارند که معمولاً اطلاعات مفیدی برای ارائه به smartmontools ندارند، اما ممکن است در آینده داشته باشند. نمونهای از دیسک مجازی، دید سیستمعامل از یک باکس RAID 1 است. به احتمال زیاد دو دیسک SATA درون یک باکس RAID 1 وجود دارد. آدرسدهی آن دیسکهای SATA از یک سیستمعامل دوردست، چالشی برای smartmontools محسوب میشود. رویکرد دیگر، اجرای ابزاری مانند smartmontools در داخل خود باکس RAID 1 (مثلاً یک باکس ذخیرهساز متصل به شبکه یا NAS) و واکشی گزارشها از طریق یک مرورگر است.
درایوهای نوار (TAPE DRIVES)
دستورات برای درایوهای نوار SCSI همانطور که در استاندارد SSC-4 تعریف شده است (ANSI INCITS 516-2013). عبارت SSC مخفف «SCSI Streaming Commands» (دستورات جریانی SCSI) است. پیشنویس استانداردها را میتوان در https://www.t10.org یافت.
بسیاری از ویژگیهای مرتبط با SMART دیسکهای SCSI میان درایوهای نوار SCSI نیز مشترک هستند. یک صفحه گزارش (log page) مهم و ویژه درایوهای نوار، «TapeAlert» نام دارد که برای گزارش شرایط غیرعادی به کار میرود. برخلاف اکثر صفحات گزارش دیگر، صفحه گزارش TapeAlert هشدارهای در انتظار را پس از واکشی آن صفحه (یعنی خواندن از درایو نوار) پاک میکند به بیان دقیقتر، صفحه گزارش TapeAlert برای پیوندگاه آغازگر-هدف (I_T nexus) که دستور (SCSI LOG SENSE) را ارسال کرده است پاک میشود؛ بنابراین آغازگر دیگر (مثلاً یک HBA در ماشینی دیگر) همچنان هشدارهای در انتظار گزارششده را خواهد داشت. [این عمل پاکسازی را میتوان توسط بیت TAPLSD در صفحه حالت [SSC] Device Configuration Extension کنترل کرد، اما عمل اصلی و پیشفرض همچنان باقی است: پاک کردن هرگونه هشدار در انتظار TapeAlert. از ابزار sdparm میتوان برای دسترسی و تغییر TAPLSD استفاده کرد.]
نسخههای پیشین smartctl از نظرسنجی (polling) صفحه گزارش TapeAlert در صورت ارائه گزینه --health پشتیبانی میکردند. این پاک شدن هشدارهای در انتظار، مشکلاتی را برای سایر ابزارهای ویژه نوار ایجاد کرده است. این نسخه از smartctl تنها در صورتی صفحه گزارش TapeAlert را واکشی میکند که گزینه --health بهصورت دوبار در فراخوانی خط فرمان داده شود (یا گزینه --log=tapealert داده شده باشد).
صفحات گزارش ویژه نوار دیگری مانند --log=tapedevstat نیز وجود دارند که رفتار عادی دارند (یعنی هیچ اطلاعات وضعیتی را در درایو نوار تغییر نمیدهند).
مثالها (EXAMPLES)
smartctl -a /dev/sda
چاپ مقدار
زیادی از
اطلاعات SMART
برای درایو
/dev/sda.
smartctl -s off /dev/sdd
غیرفعال
کردن نظارت
SMART و
جمعآوری
گزارش
دادهها
روی درایو
/dev/sdd.
smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
فعال کردن SMART
روی درایو
/dev/sda، فعال
کردن
آزمایش
آفلاین
خودکار در
هر چهار
ساعت و فعال
کردن ذخیره
خودکار
مشخصههای
SMART. این خط
دستوری
مناسب برای
فایلهای
راهاندازی
(init) سیستم شما
است.
میتوانید
این دستور
را روی یک
سیستم در
حال اجرا
صادر کنید.
smartctl -t long /dev/sdc
آغاز یک
خودآزمایی
طولانی
(گسترده)
برای درایو
/dev/sdc.
میتوانید
این دستور
را روی یک
سیستم در
حال اجرا
صادر کنید.
نتایج را
میتوان پس
از اتمام،
در گزارش
خودآزمایی
با استفاده
از گزینه -l selftest
مشاهده
کرد.
smartctl -s on -t offline /dev/sda
فعال کردن SMART
روی دیسک و
آغاز یک
آزمایش
آفلاین
فوری برای
درایو /dev/sda.
میتوانید
این دستور
را روی یک
سیستم در
حال اجرا
صادر کنید.
نتایج تنها
برای
بهروزرسانی
مشخصههای
SMART استفاده
میشوند که
با گزینه -A
قابل
مشاهده است.
در صورت
بروز
هرگونه
خطای
دستگاه،
آنها در
گزارش خطای
SMART ثبت
میشوند که
با گزینه -l error
قابل
مشاهده
است.
smartctl -A -v 9,minutes /dev/sda
نمایش
مشخصههای
سازنده (vendor)،
هنگامی که
دیسک زمان
روشن بودن
خود را در
داخل
بهجای
ساعت بر حسب
دقیقه
ذخیره کند.
smartctl -q errorsonly -H -l selftest /dev/sda
تولید
خروجی تنها
در صورتی که
دستگاه
وضعیت
ناموفق SMART
بازگرداند
یا برخی از
خودآزماییهای
ثبتشده با
خطا پایان
یافته
باشند.
smartctl -q silent -a /dev/sda
بررسی تمام
دادههای SMART
برای
دستگاه /dev/sda
بدون تولید
هیچگونه
خروجی چاپی.
شما باید از
وضعیت خروج
(متغیر شل $?)
استفاده
کنید تا
متوجه شوید
که آیا
مشخصهای
خارج از
محدوده
مجاز است،
آیا وضعیت SMART
ناموفق
است، آیا
خطاهایی در
گزارش
خودآزمایی
ثبت شده
است، یا
اینکه آیا
خطاهایی در
گزارش خطای
دیسک ثبت
شده است یا
خیر.
smartctl -a -d 3ware,0 /dev/twl0
بررسی تمام
دادههای SMART
برای اولین
دیسک SATA (نه SAS)
متصل به یک
کارت
کنترلر 3ware RAID 9750.
smartctl -t long -d areca,4 /dev/sg2
شروع یک
خودآزمایی
طولانی روی
چهارمین
دیسک SATA متصل
به یک
کنترلر Areca RAID با
آدرس /dev/sg2.
smartctl -a -d hpt,1/3 /dev/sda (در
لینوکس)
smartctl -a -d hpt,1/3 /dev/hptrr (در FreeBSD)
بررسی تمام
دادههای SMART
برای دیسک (S)ATA
متصل
مستقیم به
کانال سوم
از اولین
کارت
کنترلر HighPoint RocketRAID.
smartctl -t short -d hpt,1/1/2 /dev/sda (در
لینوکس)
smartctl -t short -d hpt,1/1/2 /dev/hptrr (در FreeBSD)
شروع یک
خودآزمایی
کوتاه روی
دیسک (S)ATA متصل
به پورت pmport
دوم در
کانال اول
از اولین
کارت
کنترلر HighPoint RocketRAID.
smartctl -t select,10-100 -t select,30-300 -t afterselect,on -t
pending,45 /dev/sda
اجرای یک
خودآزمایی
انتخابی
روی LBAهای ۱۰
تا ۱۰۰ و ۳۰
تا ۳۰۰. پس از
آزمایش این
LBAها، بقیه
دیسک را
اسکن
خواندن
کنید. اگر
برق دیسک در
طول اسکن
خواندن قطع
و وصل شود،
اسکن را ۴۵
دقیقه پس از
بازگشت برق
به دستگاه
از سر
بگیرید.
smartctl -a -d cciss,0 /dev/cciss/c0d0
بررسی تمام
دادههای SMART
برای اولین
دیسک SCSI متصل
به یک کارت
کنترلر cciss RAID.
وضعیت خروج (EXIT STATUS)
وضعیتهای خروج smartctl توسط یک ماسک بیتی (bitmask) تعریف میشوند. اگر همهچیز درباره دیسک خوب باشد، وضعیت خروج (مقدار بازگشتی) smartctl برابر با ۰ است (تمام بیتها خاموش هستند). اگر مشکلی رخ دهد یا خطا، خطای بالقوه یا نقصی شناسایی شود، یک وضعیت غیرصفر بازگردانده میشود. در این حالت، هشت بیت مختلف در وضعیت خروج دارای معانی زیر برای دیسکهای ATA هستند؛ برخی از این مقادیر ممکن است برای دیسکهای SCSI نیز بازگردانده شوند.
- بیت ۰:
- خط فرمان تجزیه نشد (خطای ساختاری در گزینههای خط فرمان).
- بیت ۱:
- باز کردن دستگاه ناموفق بود، دستگاه ساختار IDENTIFY DEVICE را بازنگرداند، یا دستگاه در حالت کممصرف است (گزینه -n در بالا را ببینید).
- بیت ۲:
- برخی از دستورات SMART یا سایر دستورات ATA به دیسک با شکست مواجه شدند، یا یک خطای چکسام (checksum) در ساختار دادههای SMART وجود داشت (گزینه -b در بالا را ببینید).
- بیت ۳:
- بررسی وضعیت SMART مقدار «DISK FAILING» (دیسک در حال خرابی است) را بازگرداند.
- بیت ۴:
- مشخصههای پیشخرابی (prefail) کمتر یا مساوی آستانه (threshold) یافت شدند.
- بیت ۵:
- بررسی وضعیت SMART مقدار «DISK OK» را بازگرداند، اما مشخص شد که برخی از مشخصهها (کارکردی یا پیشخرابی) در زمانی در گذشته کمتر یا مساوی آستانه بودهاند.
- بیت ۶:
- گزارش خطای دستگاه حاوی سوابق خطا است.
- بیت ۷:
- گزارش خودآزمایی دستگاه حاوی سوابق خطا است. [فقط ATA] خودآزماییهای ناموفقی که با یک خودآزمایی گسترده موفق جدیدتر منسوخ شدهاند نادیده گرفته میشوند.
برای
آزمایش
اینکه آیا
بیتهای
مختلف در شل
روشن یا
خاموش
هستند یا
خیر،
میتوانید
از ساختار
زیر
استفاده
کنید (که
باید با هر
شل سازگار
با POSIX کار کند):
smartstat=$(($? & 8))
این عبارت
فقط به بیت ۳
از وضعیت
خروج $? نگاه
میکند
(زیرا 2^3=8).
متغیر شل smartstat$
در صورتی که
بررسی
وضعیت SMART
مقدار «disk failing»
را
بازگرداند
غیرصفر و در
غیر این
صورت صفر
خواهد بود.
این اسکریپت شل تمام بیتهای وضعیت را چاپ میکند:
val=$?; mask=1 for i in 0 1 2 3 4 5 6 7; do echo "Bit $i: $(((val & mask) && 1))" mask=$((mask << 1)) done
فایلها (FILES)
- /usr/bin/smartctl
- مسیر کامل این فایل اجرایی.
- /usr/share/smartmontools/drivedb.h
- پایگاه داده درایو (گزینه -B را ببینید).
- /etc/smart_drivedb.h
- پایگاه داده محلی اختیاری درایو (گزینه -B را ببینید).
نویسندگان (AUTHORS)
Bruce Allen
(آغازگر
پروژه)،
Christian Franke (مدیر
پروژه،
پورت
ویندوز و
موارد
گوناگون
دیگر)،
Douglas Gilbert
(زیرسیستم
SCSI)،
Volker Kuhlmann (مدیر
لیست پستی
پشتیبانی و
پایگاه
داده)،
Gabriele Pohl
(پشتیبانی
از ویکی و
تیم توسعه)،
Alex Samorukov (پورت FreeBSD و
موارد
بیشتر،
ویکی جدید Trac).
بسیاری از افراد دیگر نیز مشارکتها و اصلاحاتی انجام دادهاند؛ فایلهای AUTHORS، ChangeLog و فایلهای مخزن را ببینید.
اولین کد smartmontools از بسته smartsuite که توسط Michael Cornwell و Andre Hedrick نوشته شده بود مشتق شد.
گزارش باگها (REPORTING BUGS)
برای
ارسال
گزارش باگ،
یک تیکت در
ویکی smartmontools
ایجاد کنید:
https://www.smartmontools.org.
همچنین
میتوانید
اطلاعات را
به لیست
پستی
پشتیبانی
smartmontools ارسال
کنید:
<https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.
همچنین ببینید (SEE ALSO)
مراجع (REFERENCES)
لطفاً برای اطلاعات بیشتر به وبسایت زیر مراجعه کنید: https://www.smartmontools.org
یک مقاله مقدماتی درباره smartmontools، مقاله Monitoring Hard Disks with SMART نوشته Bruce Allen در Linux Journal، ژانویه ۲۰۰۴، صفحات ۷۴–۷۷ است. ببینید: https://www.linuxjournal.com/article/6983.
اگر مایلید نحوه کارکرد SMART و عملکرد آن را بهتر درک کنید، نقطه شروع مناسب، بخشهای ۴.۸ و ۶.۵۴ از جلد اول مشخصات «AT Attachment with Packet Interface-7» (ATA/ATAPI-7) ویرایش 4b است. این سند، قابلیتهای SMART را که ابزارهای smartmontools دسترسی به آن را فراهم میکنند مستند میسازد.
عملکرد SMART در ابتدا با مشخصات SFF-8035i ویرایش ۲ و SFF-8055i ویرایش ۱.۴ تعریف شد. اینها انتشارات کمیته فرمفاکتورهای کوچک (SFF) هستند.
پیوندها به این اسناد و سایر مدارک را میتوان در صفحه پیوندهای ویکی smartmontools در نشانی https://www.smartmontools.org/wiki/Links یافت.
نسخه بسته (PACKAGE VERSION)
smartmontools-7.5 2025-04-30 r5714
$Id: smartctl.8.in 5692 2025-04-21 15:21:15Z chrfranke $
| 2023-05-09 | smartmontools-7.4 |