smartctl

Från Wiki.linux.se
Version från den 30 augusti 2024 kl. 13.57 av Admin (diskussion | bidrag) (→‎Självtest - [SCSI])
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Namn

smartctl - Kontroll- och övervakningsverktyg för SMART-diskar

Synopsis

smartctl [alternativ] enhet

Fullständig sökväg

/usr/sbin/smartctl

Paketversion

smartmontools-5.43 2012-06-30 r3573

Beskrivning

[Denna man-sida är genererad för Linux-versionen av smartmontools. Den innehåller ingen information specifik för andra plattformar.]

smartctl styr Self-Monitoring, Analysis and Reporting Technology (SMART)-systemet som är inbyggt i många ATA-3 och senare ATA-, IDE- och SCSI-3-hårddiskar. Syftet med SMART är att övervaka hårddiskens tillförlitlighet och förutsäga diskfel, samt att utföra olika typer av självtester på disken. Denna version av smartctl är kompatibel med ATA/ATAPI-7 och tidigare standarder (se REFERENSER nedan).

smartctl är ett kommandoradsverktyg som är utformat för att utföra SMART-uppgifter som att skriva ut SMART:s självtest- och fellogg, aktivera och inaktivera SMART:s automatiska tester, samt att initiera enhetens självtester. Notera: om användaren utfärdar ett SMART-kommando som (uppenbarligen) inte implementerats av enheten, kommer smartctl att skriva ut ett varningsmeddelande men ändå utfärda kommandot (se -T, --tolerance-alternativet nedan). Detta bör inte orsaka problem: på de flesta enheter ignoreras eller returnerar ett fel om ett ej implementerat SMART-kommando utfärdas.

smartctl ger också stöd för att avläsa TapeAlert-meddelanden från SCSI-bandstationer och växlare.

Användaren måste specificera vilken enhet som ska styras eller avfrågas som det sista argumentet till smartctl. Kommandomängden som används av enheten härleds ofta från enhetssökvägen men kan behöva hjälp med alternativet -d (för mer information, se avsnittet "ATA, SCSI-kommandosatser och SAT" nedan). Enhetssökvägar är som följer:

LINUX

Använd formerna "/dev/hd[a-t]" för IDE/ATA-enheter och "/dev/sd[a-z]" för SCSI-enheter. För SCSI-bandstationer och växlare med TapeAlert-stöd, använd enheterna "/dev/nst*" och "/dev/sg*". För SATA-diskar som nås med libata, använd "/dev/sd[a-z]" och lägg till "-d ata". För diskar bakom 3ware-kontroller, kan du behöva använda "/dev/sd[a-z]" eller "/dev/twe[0-9]", "/dev/twa[0-9]" eller "/dev/twl[0-9]": se detaljer nedan. För diskar bakom HighPoint RocketRAID-kontroller, kan du behöva använda "/dev/sd[a-z]". För diskar bakom Areca SATA RAID-kontroller, använd "/dev/sg[2-9]" (observera att smartmontools interagerar med Areca-kontroller via en SCSI-generisk enhet som är annorlunda än SCSI-enheten som används för läsning och skrivning av data)! För HP Smart Array RAID-kontroller finns det tre för närvarande stödda drivrutiner: cciss, hpsa och hpahcisr. För diskar som nås via cciss-drivrutinen är enhetsnoderna av formen "/dev/cciss/c[0-9]d0". För diskar som nås via hpahcisr och hpsa-drivrutiner, är enhetsnoderna du behöver "/dev/sg[0-9]*". ("lsscsi -g" är användbart för att bestämma vilken scsi-generisk enhetsnod som motsvarar vilken enhet.) Använd noder som motsvarar RAID-kontrollerna, inte noderna som motsvarar logiska diskar. Se även alternativet -d nedan.

Om "-" anges som enhetssökväg, läser smartctl och tolkar sitt eget felsökningsutdata från standardingången. Se -r ataioctl nedan för detaljer.

Baserat på enhetssökvägen, kommer smartctl att gissa enhetstypen (ATA eller SCSI). Om det behövs kan alternativet -d användas för att åsidosätta denna gissning.

Observera att det utskrivna utdata från smartctl visar de flesta numeriska värden i bas 10 (decimal), men vissa värden visas i bas 16 (hexadecimal). För att skilja dem åt, visas bas 16-värden alltid med ett inledande "0x", till exempel: "0xff". Denna man-sida följer samma konvention.

Alternativ

Alternativen är grupperade nedan i flera kategorier. smartctl kommer att köra motsvarande kommandon i ordningen: INFORMATION, AKTIVERA/INAKTIVERA, VISA DATA, KÖR/AVBRYT TESTER.

VISA INFORMATIONSALTERNATIV

-h, --help, --usage

Skriv ut ett användningsmeddelande till STDOUT och avsluta.

-V, --version, --copyright, --license

Skriv ut version, copyright, licens, hemsida och SVN-revisionsinformation för din kopia av smartctl till STDOUT och avsluta sedan. Vänligen inkludera denna information om du rapporterar buggar eller problem.

-i, --info

Skriv ut enhetsmodellnummer, serienummer, firmwareversion och ATA-standardversion/revision. Anger om enheten stöder SMART, och i så fall om SMART-stöd för närvarande är aktiverat eller inaktiverat. Om enheten stöder Logisk Blockadressläge (LBA-läge), skriv ut den aktuella användardiskkapaciteten i byte. (Om disken har ett användarskyddat område reserverat, eller är "klippt", kan detta vara mindre än den potentiella maximala diskkapaciteten.) Anger om disken finns i smartmontools-databasen (se alternativen -v nedan). Om så är fallet, kan enhetsmodellfamiljen också skrivas ut. Om -n (se nedan) är angivet, skrivs enhetens strömläge ut.

-a, --all

Skriv ut all SMART-information om disken, eller TapeAlert-information om bandstationen eller växlaren. För ATA-enheter är detta ekvivalent med

-H -i -c -A -l error -l selftest -l selective och för SCSI är detta ekvivalent med -H -i -A -l error -l selftest. Observera att för ATA-diskar aktiveras inte de icke-SMART-alternativen och SMART-alternativen som kräver stöd för 48-bitars ATA-kommandon. -x, --xall

Skriv ut all SMART- och icke-SMART-information om enheten. För ATA-enheter är detta ekvivalent med

-H -i -g all -c -A -f brief -l xerror,error -l xselftest,selftest -l selective -l directory -l scttemp -l scterc -l sataphy. och för SCSI är detta ekvivalent med -H -i -A -l error -l selftest -l background -l sasphy. --scan

Söker efter enheter och skriver ut varje enhets namn, enhetstyp och protokoll ([ATA] eller [SCSI])-information. Kan användas tillsammans med -d TYPE för att begränsa sökningen till en specifik TYPE. Se även info om plattformsspecifik enhetssökning och direktivet DEVICESCAN på man-sidan smartd(8).

--scan-open

Samma som --scan, men försöker också öppna varje enhet innan enhetsinformationen skrivs ut. Enhetsöppningen kan ändra enhetstypen på grund av autodetektering (se även -d test).

Detta alternativ kan användas för att skapa en utkast till smartd.conf-fil. Alla alternativ efter -- läggs till varje utskriven rad. Exempel:

smartctl --scan-open -- -a -W 4,45,50 -m admin@work > smartd.conf

-g NAME, --get=NAME

Hämta icke-SMART-enhetsinställningar. Se -s, --set nedan för mer information.

KÖRTIDSALTERNATIV

-q TYPE, --quietmode=TYPE

Anger att smartctl ska köras i ett av de två tysta lägen som beskrivs här. De giltiga argumenten till detta alternativ är:
    • errorsonly - skriv endast ut: För alternativet -l error, om antalet är icke-noll, antalet fel som registrerats i SMART-felloggen och den uppmätta driftstiden när de inträffade; För alternativet -l selftest, fel som registrerats i enhetens självtestlogg; För alternativet -H, SMART "diskfällande" status eller enhetsattribut (före-fel eller användning) som misslyckades nu eller tidigare; För alternativet -A, enhetsattribut (före-fel eller användning) som misslyckades nu eller tidigare.
    • silent - skriv inte ut något. Det enda sättet att få reda på vad som hittades är att använda exitstatusen för smartctl (se RETURN VALUES nedan).
    • noserial - Skriv inte ut enhetens serienummer.

-d TYPE, --device=TYPE

Anger vilken typ av enheten. De giltiga argumenten till detta alternativ är:
    • auto - försök att gissa enhetstypen från enhetsnamnet eller från kontrollertypinformation som tillhandahålls av operativsystemet eller från en matchande USB ID-post i enhetsdatabasen. Detta är standardinställningen.
    • test - skriver ut den gissade typen, öppnar sedan enheten och skriver ut (möjligen ändrad) TYPE-namn och avslutar sedan utan att utföra några ytterligare kommandon.
    • ata - enhetstypen är ATA. Detta förhindrar att smartctl utfärdar SCSI-kommandon till en ATA-enhet.
    • scsi - enhetstypen är SCSI. Detta förhindrar att smartctl utfärdar ATA-kommandon till en SCSI-enhet.
    • sat[,auto][,N] - enhetstypen är SCSI till ATA-översättning (SAT). Detta är för ATA-diskar som har ett SCSI till ATA-översättningslager (SATL) mellan disken och operativsystemet. SAT definierar två ATA PASS THROUGH SCSI-kommandon, ett 12 byte långt och det andra 16 byte långt. Standardinställningen är 16 byte-varianten, som kan åsidosättas med antingen -d sat,12 eller -d sat,16.
    • [NYTT EXPERIMENTELLT SMARTCTL-FUNKTION] Om -d sat,auto anges, används enhetstypen SAT (för ATA/SATA-diskar) endast om SCSI INQUIRY-data rapporterar ett SATL (LEVERANTÖR: "ATA "). Annars används enhetstypen SCSI (för SCSI/SAS-diskar).
    • usbcypress - denna enhetstyp är för ATA-diskar som är anslutna via en Cypress USB till PATA-brygga. Detta kommer att använda det ATACB proprietära SCSI-genomgångskommandot. Standard SCSI-driftkod är 0x24, men den kan åsidosättas med -d usbcypress,0xN, där N är SCSI-driftkoden, men du riskerar skada på enheten eller filsystemen på den.
    • usbjmicron - denna enhetstyp är för SATA-diskar som är anslutna via en JMicron USB till PATA/SATA-brygga. 48-bitars ATA-kommandon (nödvändiga t.ex. för -l xerror, se nedan) fungerar inte med alla dessa bryggor och är därför inaktiverade som standard. Dessa kommandon kan aktiveras med -d usbjmicron,x. Om två diskar är anslutna till en brygga med två portar, skrivs ett felmeddelande ut om ingen PORT anges. Porten kan specificeras med -d usbjmicron[,x],PORT där PORT är 0 (master) eller 1 (slave). Detta är inte nödvändigt om enheten använder en portmultiplikator för att ansluta flera diskar till en port. Disken visas då under separata /dev/enhetsnamn. OBS: Om du anger ',x' för en enhet som inte stöder detta, resulterar det i I/O-fel och kan koppla bort enheten. Detsamma gäller om den angivna PORTEN inte existerar eller inte är ansluten till en disk.
    • usbsunplus - denna enhetstyp är för SATA-diskar som är anslutna via en SunplusIT USB till SATA-brygga.
    • marvell - [Endast Linux] interagera med SATA-diskar bakom Marvell-chipsetkontroller (med Marvell-drivrutinen istället för libata-drivrutinen).
    • megaraid,N - [Endast Linux] enheten består av en eller flera SCSI/SAS-diskar anslutna till en MegaRAID-kontroller. Det icke-negativa heltalet N (i intervallet 0 till 127 inklusive) anger vilken disk på kontrollern som övervakas. Använd syntax som:
smartctl -a -d megaraid,2 /dev/sda
smartctl -a -d megaraid,0 /dev/sdb

Detta gränssnitt fungerar även för Dell PERC-kontroller. Följande /dev/XXX-post måste existera:

    • För PERC2/3/4-kontroller: /dev/megadev0
    • För PERC5/6-kontroller: /dev/megaraid_sas_ioctl_node
    • 3ware,N - [Endast FreeBSD och Linux] enheten består av en eller flera ATA-diskar anslutna till en 3ware RAID-kontroller. Det icke-negativa heltalet N (i intervallet från 0 till 127 inklusive) anger vilken disk på kontrollern som övervakas. Använd syntax som:
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

De två första formerna, som hänvisar till enheter /dev/sda-z och /dev/twe0-15, kan användas med 3ware-serie 6000, 7000 och 8000-seriekontroller som använder 3x-xxxx-drivrutinen. Observera att /dev/sda-z-formen är avvecklad från och med Linux 2.6-kärnserien och kanske inte stöds av Linux-kärnan i en nära framtid. Den sista formen, som hänvisar till enheter /dev/twa0-15, måste användas med 3ware 9000-seriekontroller, som använder 3w-9xxx-drivrutinen.

    • Enheterna /dev/twl0-15 måste användas med 3ware/LSI 9750-seriekontroller som använder 3w-sas-drivrutinen.
    • Observera att om de speciella teckenenhetsnoderna /dev/twl?, /dev/twa? och /dev/twe? inte existerar, eller existerar med felaktiga större eller mindre nummer, kommer smartctl att återskapa dem direkt. Vanligtvis hänvisar /dev/twa0 till den första 9000-seriekontrollern, /dev/twa1 hänvisar till den andra 9000-seriekontrollern, och så vidare. Enheterna /dev/twl0 hänvisar till den första 9750-seriekontrollern, /dev/twl1 hänvisar till den andra 9750-seriekontrollern, och så vidare. På samma sätt hänvisar /dev/twe0 till den första 6/7/8000-seriekontrollern, /dev/twe1 hänvisar till den andra 6/7/8000-seriekontrollern, och så vidare.
    • Observera att för 6/7/8000-kontrollerna kan alla fysiska diskar undersökas eller granskas med hjälp av någon av 3ware:s SCSI-logiska enhet /dev/sd? inlägg. Så om den logiska enheten /dev/sda består av två fysiska diskar (3ware-portar noll och ett) och den logiska enheten /dev/sdb består av två andra fysiska diskar (3ware-portar två och tre), då kan du granska SMART-data på någon av de fyra fysiska diskarna med hjälp av antingen SCSI-enheten /dev/sda eller /dev/sdb. Om du behöver veta vilken logisk SCSI-enhet en viss fysisk disk (3ware-port) är associerad med, använd dmesg eller SYSLOG-utgången för att visa vilken SCSI-ID som motsvarar en viss 3ware-enhet, och använd sedan 3ware CLI eller 3dm-verktyget för att avgöra vilka portar (fysiska diskar) som motsvarar vissa 3ware-enheter.
    • Om värdet på N motsvarar en port som inte finns på 3ware-kontrollern, eller till en port som inte fysiskt har en disk ansluten till den, beror beteendet hos smartctl på den specifika kontrollermodellen, firmware, Linux-kärnan och plattformen. I vissa fall kommer du att få ett varningsmeddelande om att enheten inte existerar. I andra fall kommer du att presenteras med 'tomma' data för en icke-existerande enhet.
    • Observera att om /dev/sd?-adressformen används, då skickar äldre 3w-xxxx-drivrutiner inte kommandona "Enable Autosave" ('-S on') och "Enable Automatic Offline" ('-o on') till disken, och producerar dessa typer av ofarliga syslog-felmeddelanden istället: "3w-xxxx: tw_ioctl(): Passthru size (123392) too big". Detta kan åtgärdas genom att uppgradera till version 1.02.00.037 eller senare av 3w-xxxx-drivrutinen, eller genom att tillämpa en patch på äldre versioner. Alternativt använd teckenenhetsgränssnittet /dev/twe0-15.

De selektiva självtestfunktionerna ('-t select,A-B') stöds endast med hjälp av teckenenhetsgränssnittet /dev/twl0-15, /dev/twa0-15 och /dev/twe0-15. De nödvändiga WRITE LOG-kommandona kan inte skickas via SCSI-gränssnittet.

    • areca,N - [Endast FreeBSD, Linux, Windows och Cygwin] enheten består av en eller flera SATA-diskar anslutna till en Areca SATA RAID-kontroller. Det positiva heltalet N (i intervallet från 1 till 24 inklusive) anger vilken disk på kontrollern som övervakas. På Linux använd syntax som:
smartctl -a -d areca,2 /dev/sg2
smartctl -a -d areca,3 /dev/sg3

Den första raden ovan adresserar den andra disken på den första Areca RAID-kontrollern. Den andra raden adresserar den tredje disken på den andra Areca RAID-kontrollern. För att identifiera rätt enhet på Linux, använd kommandot:

cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices

för att visa SCSI-generiska enheter (en per rad, börjar med /dev/sg0). De korrekta SCSI-generiska enheterna att adressera för smartmontools är de med typfältet lika med 3. Om fel enhet adresseras, läs varnings-/felmeddelandena noggrant. De bör ge ledtrådar om vilka enheter som ska användas. Viktigt: Areca-kontrollern måste ha firmwareversion 1.46 eller senare. Lägre firmwareversioner kommer att ge (ofarliga) SCSI-felmeddelanden och ingen SMART-information.

    • areca,N/E - [Endast FreeBSD, Linux, Windows och Cygwin] [NYTT EXPERIMENTELLT SMARTCTL-FUNKTION] enheten består av en eller flera SATA-diskar anslutna till en Areca SAS RAID-kontroller. Heltalet N (intervallet 1 till 128) anger kanalen (platsen) och E (intervallet 1 till 8) anger höljet. Viktigt: Detta kräver kommande firmwareversion 1.51 eller en nyare beta-version för Areca SAS-kontroller.
    • cciss,N - [Endast FreeBSD och Linux] enheten består av en eller flera SCSI/SAS- eller SATA-diskar anslutna till en cciss RAID-kontroller. Det icke-negativa heltalet N (i intervallet från 0 till 15 inklusive) anger vilken disk på kontrollern som övervakas.

För att se på diskar bakom HP Smart Array-kontrollers, använd syntax som:

smartctl -a -d cciss,0 /dev/cciss/c0d0 (cciss-drivrutinen under Linux)

Detta ger SMART-informationen om den första fysiska diskenheten (0) ansluten till kontrollern på /dev/cciss/c0d0. (Diskenhetens numrering börjar från 0)

smartctl -a -d cciss,1 /dev/sg2 (hpsa eller hpahcisr-drivrutiner under Linux)

Detta ger SMART-informationen om den andra fysiska diskenheten (1) ansluten till kontrollern på /dev/sg0 För att få kontrollerns enhetsnod, behöver du köra lsscsi -g.

    • hpt,L/M/N - [Endast FreeBSD och Linux] enheten består av en eller flera ATA-diskar anslutna till en HighPoint RocketRAID-kontroller. Heltalet L är kontrollernummer, heltalet M är kanalnummer och heltalet N är PMPort-nummer om det finns tillgängligt. De tillåtna värdena för L är från 1 till 4 inklusive, M är från 1 till 16 inklusive och N från 1 till 4 om PMPort är tillgänglig. Och dessa värden är också begränsade av modellen av HighPoint RocketRAID-kontrollern. Använd syntax som:
smartctl -a -d hpt,1/3 /dev/sda (under Linux)
smartctl -a -d hpt,1/2/3 /dev/sda (under Linux)

Observera att formen /dev/sda-z bör vara enhetsnoden som står för diskarna som härrör från HighPoint RocketRAID-kontrollerna under Linux och under FreeBSD, är det teckenenheten som drivrutinen registrerat (t.ex. /dev/hptrr, /dev/hptmv6).

-T TYPE, --tolerance=TYPE

[Endast ATA] Anger hur tolerant smartctl ska vara mot ATA- och SMART-kommandofel.

Beteendet hos smartctl beror på om kommandot är "valfritt" eller "obligatoriskt". Här betyder "obligatoriskt" "krävs av ATA/ATAPI-5-specifikationen om enheten implementerar SMART-kommandosatsen" och "valfritt" betyder "inte krävs av ATA/ATAPI-5-specifikationen även om enheten implementerar SMART-kommandosatsen." De "obligatoriska" ATA- och SMART-kommandona är: (1) ATA IDENTIFIERA ENHET, (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3) SMART ENABLE/DISABLE och (4) SMART RETURN STATUS.

De giltiga argumenten till detta alternativ är:

    • normal - avsluta vid fel på något obligatoriskt SMART-kommando och ignorera alla fel på valfria SMART-kommandon. Detta är standardinställningen. Observera att på vissa enheter orsakar inte utfärdandet av ej implementerade valfria SMART-kommandon ett fel. Detta kan resultera i vilseledande meddelanden från smartctl som "Funktion X inte implementerad", följt kort därefter av "Funktion X: aktiverad". I de flesta sådana fall, i motsats till det slutliga meddelandet, är Funktion X inte aktiverad.
    • conservative - avsluta vid fel på något valfritt SMART-kommando.
    • permissive - ignorera fel på obligatoriska SMART-kommandon. Detta alternativ kan ges mer än en gång. Varje ytterligare användning av detta alternativ kommer att orsaka att ett ytterligare fel ignoreras. Observera att användningen av detta alternativ kan leda till meddelanden som "Funktion X inte implementerad", följt kort därefter av "Fel: kunde inte aktivera Funktion X". I några sådana fall, i motsats till det slutliga meddelandet, är Funktion X aktiverad.
    • verypermissive - motsvarar att ge ett stort antal -T permissive-alternativ: ignorera fel på ett valfritt antal obligatoriska SMART-kommandon. Se noten ovan.

-b TYPE, --badsum=TYPE

[Endast ATA] Anger vilken åtgärd smartctl ska vidta om ett checksummfel upptäcks i: (1) Enhetsidentitetsstrukturen, (2) SMART:s självtestloggstruktur, (3) SMART-attributvärdesstrukturen, (4) SMART-attributtröskelstrukturen eller (5) ATA:s felloggstruktur.

De giltiga argumenten till detta alternativ är:

    • warn - rapportera den felaktiga checksumman men fortsätt trots detta. Detta är standardinställningen.
    • exit - avsluta smartctl.
    • ignore - fortsätt tyst utan att utfärda en varning.

-r TYPE, --report=TYPE

Främst avsedd för att hjälpa smartmontools-utvecklare att förstå beteendet hos smartmontools på icke-konformerande eller dåligt konformerande hårdvara. Detta alternativ rapporterar detaljer om smartctl-transaktioner med enheten. Alternativet kan användas flera gånger. När det används en gång, visar det en journal över ioctl()-transaktionerna med enheten. När det används mer än en gång rapporteras detaljerna för dessa ioctl()-transaktioner i större detalj. De giltiga argumenten till detta alternativ är:
    • ioctl - rapportera alla ioctl()-transaktioner.
    • ataioctl - rapportera endast ioctl()-transaktioner med ATA-enheter.
    • scsiioctl - rapportera endast ioctl()-transaktioner med SCSI-enheter. Om detta utfärdas en gång visas SCSI-kommandon i hexadecimal form och motsvarande status. Om det utfärdas en andra gång läggs en hexadecimal lista över de första 64 byte av data som skickas till, eller tas emot från enheten.

Alla argument kan inkludera ett positivt heltal för att specificera nivån av detaljer som ska rapporteras. Argumentet bör följas av ett kommatecken och sedan heltalet utan mellanslag. Till exempel, ataioctl,2. Standardnivån är 1, så -r ataioctl,1 och -r ataioctl är ekvivalenta.

För teständamål kan utdata från -r ataioctl,2 senare tolkas av smartctl självt om "-" används som enhetssökvägsargument. ATA-kommandoinställningsparametrar, sektordata och returvärden återskapas från felsökningsrapporten som läses från standardingången. Detta fungerar ännu inte för SCSI-enheter.

-n POWERMODE, --nocheck=POWERMODE

[Endast ATA] Anger om smartctl ska avsluta innan några kontroller utförs när enheten är i ett lågeffektläge. Det kan användas för att förhindra att en disk snurras upp av smartctl. Strömläget ignoreras som standard. En icke-noll exitstatus returneras om enheten är i ett av de specificerade lågeffektlägena (se RETURN VALUES nedan).

OBS: Om detta alternativ används kan det också vara nödvändigt att specificera enhetstypen med -d-alternativet. Annars kan enheten snurra upp på grund av kommandon som utfärdas under enhetstypens autodetektering.

De giltiga argumenten till detta alternativ är:

    • never - kontrollera alltid enheten, men skriv ut strömläget om -i anges.
    • sleep - kontrollera enheten om den inte är i SLEEP-läget.
    • standby - kontrollera enheten om den inte är i SLEEP- eller STANDBY-läget. I dessa lägen snurrar de flesta diskar inte, så om du vill förhindra att en disk snurrar upp, är detta förmodligen vad du vill ha.
    • idle - kontrollera enheten om den inte är i SLEEP-, STANDBY- eller IDLE-läget. I IDLE-läget snurrar de flesta diskar fortfarande, så detta är förmodligen inte vad du vill ha.

SMART FUNKTION AKTIVERING/INAKTIVERING KOMMANDON

OBS: Om flera alternativ används för att både aktivera och inaktivera en funktion, kommer både aktiverings- och inaktiveringskommandon att utfärdas. Aktiveringskommandot kommer alltid att utfärdas före motsvarande inaktiveringskommando.

-s VALUE, --smart=VALUE

Aktiverar eller inaktiverar SMART på enheten. De giltiga argumenten till detta alternativ är on och off. Observera att kommandot -s on (kanske använt tillsammans med -o on och -S on-alternativen) bör placeras i ett startskript för din maskin, till exempel i rc.local eller rc.sysinit. I princip bevaras SMART-funktionsinställningarna över strömcykler, men det skadar inte att vara säker. Det är inte nödvändigt (eller användbart) att aktivera SMART för att se TapeAlert-meddelanden.

-o VALUE, --offlineauto=VALUE

[Endast ATA] Aktiverar eller inaktiverar SMART:s automatiska offlinetest, som skannar disken var fjärde timme efter diskdefekter. Detta kommando kan ges under normal systemdrift. De giltiga argumenten till detta alternativ är on och off.

Observera att kommandot SMART Automatic Offline Test anges som "Föråldrat" i varje version av ATA- och ATA/ATAPI-specifikationerna. Det var ursprungligen en del av specifikationen SFF-8035i Revision 2.0, men var aldrig en del av någon ATA-specifikation. Dock är det implementerat och används av många leverantörer. [Bra dokumentation kan hittas i IBM:s Official Published Disk Specifications. Till exempel IBM Travelstar 40GNX Hard Disk Drive Specifications (Revision 1.1, 22 april 2002, Publikation # 1541, Dokument S07N-7715-02) sida 164. Du kan också läsa SFF-8035i-specifikationen -- se REFERENSER nedan.] Du kan se om automatiskt offlinetest stöds genom att se om detta kommando aktiverar och inaktiverar det, vilket anges av "Auto Offline Data Collection" delen av SMART-funktionalitetsrapporten (visas med -c).

SMART tillhandahåller tre grundläggande kategorier av tester. Den första kategorin, kallad "online"-testning, har ingen inverkan på enhetens prestanda. Den är påslagen med alternativet -s on.

Den andra kategorin av testning kallas "offline"-testning. Denna typ av test kan i princip försämra enhetens prestanda. Alternativet -o on orsakar att denna offline-testning utförs automatiskt på en regelbunden schemalagd basis. Normalt avbryter disken offline-testning medan diskåtkomst sker och återupptar sedan automatiskt den när disken annars skulle vara inaktiv, så i praktiken har det liten effekt. Observera att ett engångsofflinetest också kan utföras omedelbart vid mottagandet av ett användarkommando. Se alternativet -t offline nedan, som orsakar att ett engångsofflinetest utförs omedelbart.

Valet (gjort av SFF-8035i och ATA-specifikationsförfattarna) av ordet "Test" för dessa två första kategorier är olyckligt och leder ofta till förvirring. Faktum är att dessa två första kategorier av online- och offline-testning mer exakt kunde ha beskrivits som online- och offline-datainsamling.

Resultaten av denna automatiska eller omedelbara offline-testning (datainsamling) återspeglas i värdena för SMART-attributen. Så om problem eller fel upptäcks kommer värdena för dessa attribut att sjunka under sina tröskelvärden; vissa typer av fel kan också dyka upp i SMART:s fellogg. Dessa är synliga med alternativen -A och -l error respektive.

Vissa SMART-attributvärden uppdateras endast under off-line datainsamlingsaktiviteter; resten uppdateras under normal drift av enheten eller under både normal drift och off-line testning. Attributvärdestabellen som produceras av alternativet -A indikerar detta i UPPDATERAD-kolumnen. Attribut av den första typen är märkta "Offline" och Attribut av den andra typen är märkta "Always".

Den tredje kategorin av testning (och den enda kategorin för vilken ordet 'testning' verkligen är ett lämpligt val) är "självtestning". Denna tredje typ av test utförs endast (omedelbart) när ett kommando för att köra det utfärdas. Alternativen -t och -X kan användas för att utföra och avbryta sådana självtester; se nedan för ytterligare detaljer.

Eventuella fel som upptäcks vid självtestning kommer att visas i SMART:s självtestlogg, som kan granskas med alternativet -l selftest.

OBS: I denna manual används ordet "Test" i samband med den andra kategorin som just beskrivits, t.ex. för "offline"-testning. Orden "Självtest" används i samband med den tredje kategorin.

-S VALUE, --saveauto=VALUE

[Endast ATA] Aktiverar eller inaktiverar SMART autosparning av enhetsspecifika attribut. De giltiga argumenten till detta alternativ är on och off. Observera att denna funktion bevaras över diskströmcykler, så du behöver bara utfärda den en gång.

ATA-standarden specificerar inte en metod för att kontrollera om SMART autosparning är aktiverad. Till skillnad från SCSI (nedan), kan smartctl inte skriva ut en varning om autosparning är inaktiverad.

[SCSI] För SCSI-enheter växlar detta värdet på Global Logging Target Save Disabled (GLTSD)-biten i Control Mode Page. Vissa disktillverkare ställer in denna bit som standard. Detta förhindrar att felräknare, uppstartstimmar och annan användbar data placeras i icke-flyktigt minne, så dessa värden kan återställas till noll nästa gång enheten strömförsörjs. Om GLTSD-biten är satt, kommer smartctl -a att utfärda en varning. Använd on för att rensa GLTSD-biten och därmed aktivera sparning av räknare till icke-flyktigt minne. För extrema videoströmningstillämpningar kan du överväga att använda off för att ställa in GLTSD-biten.

-g NAME, --get=NAME, -s NAME[,VALUE], --set=NAME[,VALUE]

[NYTT EXPERIMENTELLT SMARTCTL-FUNKTION] Hämtar/ställer in icke-SMART-enhetsinställningar. Observera att --set-alternativet delar sitt korta alternativ -s med --smart. Giltiga argument är:
    • all - Hämtar alla värden. Detta är ekvivalent med
-g aam -g apm -g lookahead -g security -g wcache
    • aam[,N|off] - [Endast ATA] Hämtar/ställer in Automatic Acoustic Management (AAM)-funktionen (om den stöds). Ett värde på 128 ställer in det mest tysta (långsammaste) läget och 254 det snabbaste (mest högljudda) läget, off inaktiverar AAM. Enheter kan stödja mellannivåer. Värden under 128 är definierade som leverantörsspecifika (0) eller pensionerade (1-127). Observera att AAM-funktionen förklarades föråldrad i ATA ACS-2 Revision 4a (dec 2010).
    • apm[,N|off] - [Endast ATA] Hämtar/ställer in Advanced Power Management (APM)-funktionen på enheten (om den stöds). Om ett värde mellan 1 och 254 tillhandahålls, kommer det att försöka aktivera APM och ställa in det angivna värdet, off inaktiverar APM. Observera att det faktiska beteendet beror på disken, till exempel vissa diskar inaktiverar APM om deras värde ställs in över 128. Värden under 128 ska tillåta diskspindelstopp, värden 128 och över justerar endast frekvensen av huvudparkering, även om det faktiska beteendet också är leverantörsspecifikt.
    • lookahead[,on|off] - [Endast ATA] Hämtar/ställer in läsframtidskikarfunktionen (om den stöds). Läsframtidskikare är vanligtvis aktiverad som standard.
    • security - [Endast ATA] Hämtar status för ATA-säkerhetsfunktionen (om den stöds). Om ATA-säkerhet är aktiverad har ett ATA-användarlösenord ställts in. Disken kommer att låsas vid nästa återställning.
    • security-freeze - [Endast ATA] Ställer in ATA-säkerhetsfunktionen till fryst läge. Detta förhindrar att disken accepterar några säkerhetskommandon tills nästa återställning. Observera att fryst läge redan kan vara inställt av BIOS eller OS.
    • standby,[N|off] - [Endast ATA] Ställer in standby (spindelnedgång) timer och placerar disken i IDLE-läget. Ett värde på 0 eller off inaktiverar standby-timern. Värden från 1 till 240 specificerar timeout från 5 sekunder till 20 minuter i 5 sekunders intervaller. Värden från 241 till 251 specificerar timeout från 30 minuter till 330 minuter i 30 minuters intervaller. Värde 252 specificerar 21 minuter. Värde 253 specificerar ett leverantörsspecifikt tidsintervall mellan 8 och 12 timmar. Värde 255 specificerar 21 minuter och 15 sekunder. Vissa diskar kan använda en leverantörsspecifik tolkning för värdena. Observera att det inte finns något hämtningsalternativ eftersom ATA-standarder inte specificerar en metod för att läsa standby-timern.
    • standby,now - [Endast ATA] Placerar disken i STANDBY-läget. Detta snurrar vanligtvis ner disken. Inställningen av standby-timern påverkas inte.
    • wcache[,on|off] - [Endast ATA] Hämtar/ställer in den flyktiga skrivcachfunktionen (om den stöds). Skrivcachen är vanligtvis aktiverad som standard.

SMART LÄSNING OCH VISNING AV DATAALTERNATIV

-H, --health

Kontrollera: Be enheten att rapportera sin SMART-hälsostatus eller väntande TapeAlert-meddelanden. SMART-statusen baseras på information som den har samlat in från online- och offline-test, som användes för att bestämma/uppdatera sina SMART-leverantörsspecifika attributvärden. TapeAlert-statusen erhålls genom att läsa TapeAlert-loggsidan.
Om enheten rapporterar att hälsostatusen är dålig, betyder detta antingen att enheten redan har misslyckats, eller att den förutspår sitt eget misslyckande inom de närmaste 24 timmarna. Om detta händer, använd alternativet -a för att få mer information, och flytta dina data från disken till en säker plats så snart som möjligt.

-c, --capabilities

[Endast ATA] Skriver endast ut de generiska SMART-funktionerna. Dessa visar vilka SMART-funktioner som är implementerade och hur enheten kommer att svara på några av de olika SMART-kommandona. Till exempel visar det om enheten loggar fel, om den stöder offline-ytterskanning, och så vidare. Om enheten kan utföra självtester visar detta alternativ också den uppskattade tiden som krävs för att köra dessa tester.

Observera att tiden som krävs för att köra självtesterna (listade i minuter) är fasta. Men tiden som krävs för att köra det omedelbara offlinetestet (listad i sekunder) är variabel. Detta betyder att om du utfärdar ett kommando för att utföra ett omedelbart offlinetest med alternativet -t offline, kan tiden hoppa till ett större värde och sedan räkna ner när det omedelbara offlinetestet utförs. Se REFERENSER nedan för ytterligare information om flaggorna och funktionerna som beskrivs med detta alternativ.

-A, --attributes

[Endast ATA] Skriver endast ut de leverantörsspecifika SMART-attributen. Attributen numreras från 1 till 253 och har specifika namn och ID-nummer. Till exempel är Attribut 12 "power cycle count": hur många gånger har disken strömförsörjts.
Varje attribut har ett "Rått" värde, tryckt under rubriken "RAW_VALUE", och ett "Normaliserat" värde tryckt under rubriken "VALUE". [OBS: smartctl skriver ut dessa värden i bas-10.] I exemplet ovan skulle det "Råa Värdet" för Attribut 12 vara det faktiska antalet gånger disken har strömförsörjts, till exempel 365 om disken har slagits på en gång per dag i exakt ett år. Varje leverantör använder sin egen algoritm för att omvandla detta "Råa Värde" till ett "Normaliserat Värde" i intervallet från 1 till 254. Observera att smartctl endast rapporterar de olika attributtyperna, värdena och tröskelvärdena som läses från enheten. Den utför inte omvandlingen mellan "Råa" och "Normaliserade" värden: detta görs av diskens firmware.
Omvandlingen från Rått värde till en kvantitet med fysiska enheter specificeras inte av SMART-standarden. I de flesta fall är värdena som skrivs ut av smartctl rimliga. Till exempel har temperaturattributet vanligtvis sitt råvärde lika med temperaturen i Celsius. Men i vissa fall använder leverantörerna ovanliga konventioner. Till exempel rapporterar Hitachi-disken på min bärbara dator sina uppstartstimmar i minuter, inte timmar. Vissa diskar rapporterar temperaturer i en vendor-specifik kod. Tyvärr betyder detta att i vissa fall kanske smartctl inte skriver ut "meningsfulla" råvärden.
De flesta råvärden är heltal, men de kan också vara kodade med flera fält. Till exempel kan vissa tillverkare koda återföringsförsök, programmeringsförsök och raderingsförsök som separata bitar av ett råvärde.
Attributen är också markerade som "Före-fel" eller "Användning". Attribut markerade som "Före-fel" är sådana som när de överskrider sitt tröskelvärde indikerar att enheten troligen kommer att misslyckas inom 24 timmar. Exempel på sådana Attribut inkluderar läsfelshastigheten och flygplansstigningens återföringsräknare. Attribut markerade som "Användning" återspeglar enhetens samlade livslängdsanvändning och tillförlitlighetsmätvärden. Exempel inkluderar antal start-stopp-cykler och temperatur. Den "Normerade" Värdet (angivet under VALUE) av alla attribut börjar från 100 eller 200 och faller mot 1 när enheten försämras. När det normaliserade värdet faller under ett tröskelvärde som ges i den högra kolumnen, har enheten misslyckats, eller är nära att misslyckas.
Några SMART-attribut lagrar sitt värde mellan strömcykler, men vissa gör det inte. De senare inkluderar attributet för högsta uppmätta temperatur.
Några enheter tillåter användare att åsidosätta attributets värde- och tröskelvärden, men de flesta tillåter det inte. Detta är en skyddande åtgärd mot illvilliga eller oavsiktliga ändringar av dessa värden som kan hindra tillförlitlig förutsägelse av misslyckande.
Om detta alternativ används två gånger visas den 80-byte SMART-attributdata strukturen rakt av i hexadecimal form, tillsammans med CRC-kontrollen.

-f FORMAT, --format=FORMAT

[Endast ATA] [NYTT EXPERIMENTELLT SMARTCTL-FUNKTION] Detta alternativ används tillsammans med alternativen -l xerror eller -l xselftest för att ange utdataformat. FORMAT kan vara old eller brief. Med format old kommer utdata att matcha formatet för äldre smartctl-versioner (före smartmontools 6.0). Med format brief är utdataformatet en rad per fel, vilket är lättare att analysera maskinellt. Utdata är inte begränsade till 24 felposter eller självtestposter och utskriften inkluderar också alla kända ATA-register.

-l TYPE, --log=TYPE Skriver ut antingen SMART Error Log, SMART Self-Test Log, SMART Selective Self-Test Log [endast ATA], Log Directory [endast ATA], eller Background Scan Results Log [endast SCSI]. De giltiga argumenten för detta alternativ är:

error - [ATA]
Skriver ut sammanfattningen av SMART-felloggen. SMART-diskar håller en logg över de senaste fem icke-triviala felen. För varje fel registreras diskens livstid vid tidpunkten för felet, samt enhetens status (idle, standby, etc.) vid felens inträffande. För vissa vanliga feltyper dekodas och skrivs Error Register (ER) och Status Register (SR) värdena ut som text. Betydelserna av dessa är:
  • 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: (specific for packet command-set)
  • 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

Dessutom listas upp till de fem senaste kommandona som föregick felet, tillsammans med en tidsstämpel mätt från starten av motsvarande strömcykel. Detta visas i formatet Dd+HH:MM:SS.msec där D är antal dagar, HH är timmar, MM är minuter, SS är sekunder och msec är millisekunder. [Notera: denna tidsstämpel loopar efter 2^32 millisekunder, eller 49 dagar 17 timmar 2 minuter och 47,296 sekunder.] De viktigaste ATA-diskregistren registreras också i loggen. Den sista kolumnen i felloggen är en textsträngbeskrivning av ATA-kommandot som definieras av Command Register (CR) och Feature Register (FR) värden. Kommandon som är föråldrade i den senaste specifikationen (ATA-7) listas så här: READ LONG (w/ retry) [OBS-4], vilket indikerar att kommandot blev föråldrat med eller i ATA-4 specifikationen. På samma sätt används notationen [RET-N] för att ange att ett kommando har avvecklats i ATA-N specifikationen. Vissa kommandon är inte definierade i någon version av ATA-specifikationen men används ändå ofta; dessa är markerade [NS], vilket betyder icke-standard.

ATA-specifikationen (ATA-5 Revision 1c, Avsnitt 8.41.6.8.2) säger: "Felloggstrukturer ska inkludera UNC-fel, IDNF-fel där den efterfrågade adressen var giltig, servo-fel, skrivfel, etc. Felloggdatastrukturer ska inte inkludera fel som tillskrivs mottagandet av felaktiga kommandon såsom kommandokoder som inte implementeras av enheten eller förfrågningar med ogiltiga parametrar eller adresser." Definitionerna av dessa termer är:

  • UNC (UNCorrectable): data är okorrigerbar. Detta hänvisar till data som har lästs från disken, men där felkontroll- och korrektionskoderna (ECC) är inkonsekventa. I praktiken innebär detta att datan inte kan läsas.
  • IDNF (ID Not Found): användaråtkomlig adress kunde inte hittas. För kommandon av typen READ LOG kan IDNF också indikera att en data loggstrukturs checksumma var inkorrekt.

Om kommandot som orsakade felet var ett READ eller WRITE kommando, kommer den logiska blockadressen (LBA) där felet inträffade att skrivas ut i bas 10 och bas 16. LBA är en linjär adress, som räknar 512-byte sektorer på disken, från noll. (På grund av begränsningarna i SMART-felloggen, om LBA är större än 0xfffffff, kommer antingen ingen felloggpost att göras, eller felloggposten kommer att ha en felaktig LBA. Detta kan hända för enheter med en kapacitet större än 128 GiB eller 137 GB.) På Linux-system har smartmontools webbsidan instruktioner om hur man konverterar LBA-adressen till namnet på diskfilen som innehåller den felaktiga disksektorn.

Observera att vissa tillverkare ignorerar ATA-specifikationerna och gör poster i felloggen om enheten tar emot ett kommando som inte är implementerat eller inte är giltigt.


Självtest - [SCSI]

Självtestloggen för en SCSI-enhet har ett något annorlunda format än för en ATA-enhet. För var och en av de tjugo senaste självtesterna, visas testets typ och status (slutförd eller pågående). SCSI-standarder använder termerna "förgrund" och "bakgrund" (snarare än ATA:s motsvarande "captive" och "off-line") och "kort" och "lång" (snarare än ATA:s motsvarande "kort" och "utökad") för att beskriva testets typ. Det tryckta segmentnumret är endast relevant när ett test misslyckas i det tredje eller senare testsegmentet. Det identifierar det test som misslyckades och består antingen av antalet segment som misslyckades under testet, eller antalet för testet som misslyckades och antalet för segmentet där testet kördes, genom att använda en leverantörsspecifik metod för att sätta båda numren i en enda byte. Den logiska blockadressen (LBA) för det första felet skrivs ut i hexadecimal notation. På Linux-system har smartmontools webbsida instruktioner om hur man konverterar denna LBA-adress till namnet på diskfilen som innehåller det felaktiga blocket. Om tillhandahållet, skrivs också SCSI Sense Key (SK), Additional Sense Code (ASC) och Additional Sense Code Qualifier (ASQ) ut. Självtesterna kan köras med hjälp av '-t'-alternativet som beskrivs nedan (med ATA-testterminologi).

xselftest[,NUM][,selftest] - [ATA endast]
Skriver ut den utökade SMART självtestloggen (General Purpose Log adress 0x07). Till skillnad från SMART självtestloggen (se '-l selftest' ovan), stöder den 48-bitars LBA och loggar med mer än en sektor. Varje sektor håller upp till 19 logginlägg. Det faktiska antalet loggsektorer är leverantörsspecifikt, typiska värden är 1 (Seagate) eller 2 (Samsung).

Endast de 25 senaste logginläggen skrivs ut som standard. Detta nummer kan ändras med det valfria parametern NUM.

Om ',selftest' läggs till och den utökade SMART självtestloggen inte stöds, skrivs den gamla SMART självtestloggen ut.

selective - [ATA endast]
Se '-t select'-alternativet nedan för en beskrivning av selektiva självtester. Den selektiva självtestloggen visar start/slut-logiska blockadresser (LBA) för var och en av de fem testspannerna och deras aktuella teststatus. Om spannet testas eller resten av disken lässkannas, visas även det aktuella 65536-sektorsblocket av LBAs som testas. Den selektiva självtestloggen visar också om en lässkanning av resten av disken kommer att utföras efter att det selektiva självtestet är slutfört (se '-t afterselect'-alternativet) och tidsfördröjningen innan denna lässkanning återupptas om den avbryts (se '-t pending'-alternativet). Detta är en ny smartmontools-funktion; vänligen rapportera ovanligt eller felaktigt beteende till smartmontools-support e-postlistan.
directory[,gs] - [ATA endast]
Om enheten stöder funktionssättet för allmän loggning (ATA-6 och ovan) så skrivs loggkatalogen ut (loggen på adress 0). Loggkatalogen visar vilka loggar som är tillgängliga och deras längd i sektorer (512 byte). Innehållet i loggarna på adress 1 [Sammanfattning SMART-fellogg] och på adress 6 [SMART självtestlogg] kan skrivas ut genom att använda de tidigare beskrivna fel- och självtestargumenten till detta alternativ. Om din version av smartctl stöder 48-bitars ATA-kommandon, skrivs både General Purpose Log (GPL) och SMART Log (SL) katalogerna ut i en kombinerad tabell. Utmatningen kan begränsas till GPL-katalogen eller SL-katalogen med '-l directory,q' eller '-l directory,s' respektive.
background - [SCSI endast]
Bakgrundsskanningsresultatloggen ger information som härstammar från bakgrundsmediaskanningar (BMS) som gjorts efter strömpåslag och/eller periodvis (t.ex. varje 24:e timme) på nyliga SCSI-diskar. Om stödd, skrivs BMS-statusen ut först, och indikerar om en bakgrundsskanning pågår för närvarande (och om så är fallet en framstegsprocent), den tid som disken varit påslagen och antalet redan slutförda skanningar. Sedan finns det en rubrik och en rad för varje bakgrundsskannings"händelse". Dessa är vanligtvis antingen återställda eller oåterställbara fel. Den senare gruppen kan behöva uppmärksammas. Det finns en beskrivning av bakgrundsskanningsmekanismen i avsnitt 4.18 av SBC-3 revision 6 (se www.t10.org).
scttemp, scttempsts, scttemphist - [ATA endast]
Skriver ut information om diskenstemperaturen som tillhandahålls av SMART Command Transport (SCT) kommandon. Alternativet 'scttempsts' skriver ut aktuell temperatur och temperaturområden som returneras av SCT Status-kommandot, 'scttemphist' skriver ut temperaturgränser och temperaturhistoriktabellen som returneras av SCT Data Table-kommandot, och 'scttemp' skriver ut båda. Temperaturvärdena bevaras över strömcykler. Loggningsintervallet kan konfigureras med '-l scttempint,N[,p]'-alternativet, se nedan. SCT-kommandona introducerades i ATA-8 ACS och stöddes även av många ATA-7-diskar.
scttempint,N[,p] - [endast ATA]
Rensar SCT temperaturhistorikstabellen och ställer in tidsintervallet för temperaturloggning till N minuter. Om ',p' specificeras, bevaras inställningen över strömcykler. Annars är inställningen flyktig och kommer att återställas till den senaste icke-flyktiga inställningen vid nästa hårda återställning. Standardintervallet är leverantörsspecifikt, typiska värden är 1, 2 eller 5 minuter.
scterc[,READTIME,WRITETIME] - [endast ATA]
Skriver ut värden och beskrivningar av SCT Error Recovery Control-inställningarna. Dessa motsvarar TLER (som används av Western Digital), CCTL (som används av Samsung och Hitachi) och ERC (som används av Seagate). READTIME och WRITETIME argumenten (i decisekunder) ställer in de specificerade värdena. Värden på 0 inaktiverar funktionen, andra värden mindre än 65 stöds förmodligen inte. För RAID-konfigurationer är detta vanligtvis inställt på 70,70 decisekunder.
devstat[,PAGE] - [endast ATA] [NY EXPERIMENTELL SMARTCTL-FUNKTION]
Skriver ut värden och beskrivningar av ATA-enhetsstatistikloggsidorna (General Purpose Log adress 0x04). Om inget PAGE-nummer specificeras skrivs poster från alla stödda sidor ut. Om PAGE 0 specificeras skrivs listan över stödda sidor ut. Enhetsstatistik introducerades i ATA-8 ACS och stöds endast av vissa nyliga enheter (t.ex. Hitachi 7K3000, Intel 320, 330 och 710 Series SSDs, Crucial/Micron m4 SSDs).
sataphy[,reset] - [endast SATA]
Skriver ut värden och beskrivningar av SATA Phy Event Counters (General Purpose Log adress 0x11). Om '-l sataphy,reset' specificeras, återställs alla räknare efter att värdena lästs.
sasphy[,reset] - [endast SAS (SCSI)]
Skriver ut värden och beskrivningar av SAS (SSP) Protocol Specific loggsidan (loggsida 0x18). Om '-l sasphy,reset' specificeras, återställs alla räknare efter att värdena lästs.
gplog,ADDR[,FIRST[-LAST|+SIZE]] - [endast ATA]
Skriver ut en hex-dump av vilken logg som helst som är åtkomlig via General Purpose Logging (GPL)-funktionen. Loggadressen ADDR är den hex-adress som listas i loggkatalogen (se '-l directory' ovan). Intervallet för loggsektorer (sidor) kan specificeras med decimala värden FIRST-LAST eller FIRST+SIZE. FIRST standard är 0, SIZE standard är 1. LAST kan sättas till 'max' för att specificera sista sidan av loggen.
smartlog,ADDR[,FIRST[-LAST|+SIZE]] - [endast ATA]
Skriver ut en hex-dump av vilken logg som helst som är åtkomlig via SMART Read Log-kommandot. Se '-l gplog,...' ovan för parametrarsyntax.
Exempelvis, alla dessa kommandon:

smartctl -l gplog,0x80,10-15 /dev/sda smartctl -l gplog,0x80,10+6 /dev/sda smartctl -l smartlog,0x80,10-15 /dev/sda

skriver ut sidorna 10-15 i loggen 0x80 (första värdspecifika loggen).
Hex-dump formatet är kompatibelt med 'xxd -r'-kommandot. Detta kommando:

smartctl -l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin

skriver en binär representation av en sektorsloggen 0x11 (SATA Phy Event Counters) till filen log.bin.
ssd - [ATA]
Skriver ut statistiksidan för Solid State-enheter. Detta har samma effekt som '-l devstat,7', se ovan.
ssd - [SCSI]
Skriver ut Solid State Media procentandel använd uthållighetsindikator. Ett värde på 0 indikerar nytt skick medan 100 indikerar att enheten är vid slutet av sin livslängd enligt tillverkarens prognos. Värdet kan nå upp till 255.
-v ID,FORMAT[
BYTEORDER][,NAME], --vendorattribute=ID,FORMAT[:BYTEORDER][,NAME]

[endast ATA] Ställer in ett leverantörsspecifikt råvärdeutskriftsformat, en valfri BYTEORDER och ett valfritt NAMN för Attribut ID. Detta alternativ kan användas flera gånger.

Attribut-ID:t kan vara i intervallet 1 till 255. Om 'N' specificeras som ID ändras inställningarna för alla Attribut.

Den valfria BYTEORDER består av 1 till 8 tecken från uppsättningen '012345rvwz'. Tecknen '0' till '5' väljer byte 0 till 5 från 48-bitars råvärdet, 'r' väljer den reserverade byten av attributdata-blocket, 'v' väljer normaliserat värde, 'w' väljer värsta värde och 'z' infogar en noll-byte. Standard BYTEORDER är '543210' för alla 48-bitars format, 'r543210' för 54-bitars format, och '543210wv' för 64-bitars format. Till exempel, '-v 5,raw48:012345' skriver ut råvärdet för attribut 5 med big endian istället för little endian byte-ordning.

NAMNET är en sträng av bokstäver, siffror och understreck. Dess längd bör inte överstiga 23 tecken. '-P showall'-alternativet rapporterar ett fel om detta är fallet.

-v help
Skrivs ut (till STDOUT) en lista över alla giltiga argument för detta alternativ och avslutas sedan.

Giltiga argument för FORMAT är:

  • raw8 - Skriv ut råvärdet som sex 8-bitars osignerade base-10 heltal. Detta kan vara användbart för att dekoda betydelsen av råvärdet.
  • raw16 - Skriv ut råvärdet som tre 16-bitars osignerade base-10 heltal. Detta kan vara användbart för att dekoda betydelsen av råvärdet.
  • raw48 - Skriv ut råvärdet som ett 48-bitars osignerat base-10 heltal. Detta är standard för de flesta attribut.
  • hex48 - Skriv ut råvärdet som ett 12-siffrigt hexadecimalt tal. Detta kan vara användbart för att dekoda betydelsen av råvärdet.
  • raw56 - Skriv ut råvärdet som ett 54-bitars osignerat base-10 heltal. Detta inkluderar den reserverade byte som följer det 48-bitars råvärdet.
  • hex56 - Skriv ut råvärdet som ett 14-siffrigt hexadecimalt tal. Detta inkluderar den reserverade byte som följer det 48-bitars råvärdet.
  • raw64 - Skriv ut råvärdet som ett 64-bitars osignerat base-10 heltal. Detta inkluderar två bytar från det normaliserade och värsta attributvärdet. Detta råformat används av vissa SSD-enheter med Indilinx-kontroller.
  • hex64 - Skriv ut råvärdet som ett 16-siffrigt hexadecimalt tal. Detta inkluderar två bytar från det normaliserade och värsta attributvärdet. Detta råformat används av vissa SSD-enheter med Indilinx-kontroller.
  • min2hour - Råattributet är drifttid i minuter. Dess råvärde visas i formen "Xh+Ym". Här är X timmar, och Y är minuter i intervallet 0-59 inkluderande. Y skrivs alltid ut med två siffror, till exempel "06" eller "31" eller "00".
  • sec2hour - Råattributet är drifttid i sekunder. Dess råvärde visas i formen "Xh+Ym+Zs". Här är X timmar, Y är minuter i intervallet 0-59 inkluderande, och Z är sekunder i intervallet 0-59 inkluderande. Y och Z skrivs alltid ut med två siffror, till exempel "06" eller "31" eller "00".
  • halfmin2hour - Råattributet är drifttid, mätt i enheter av 30 sekunder. Detta format används av vissa Samsung-diskar. Dess råvärde visas i formen "Xh+Ym". Här är X timmar, och Y är minuter i intervallet 0-59 inkluderande. Y skrivs alltid ut med två siffror, till exempel "06" eller "31" eller "00".
  • msec24hour32 - Råattributet är drifttid mätt i 32-bitars timmar och 24-bitars millisekunder sedan senaste timuppdatering. Det visas i formen "Xh+Ym+Z.Ms". Här är X timmar, Y är minuter, Z är sekunder och M är millisekunder.
  • tempminmax - Råattributet är diskenstemperaturen i Celsius. Information om Min/Max-temperatur skrivs ut om tillgängligt. Detta är standard för Attribut 190 och 194. Inspelningsintervallet (livstid, senaste strömcykel, senaste mjuka återställning) för min/max-värden är enhetsspecifik.
  • temp10x - Råattributet är tio gånger diskenstemperaturen i Celsius.
  • raw16(raw16) - Skriv ut råattributet som ett 16-bitars värde och två valfria 16-bitars värden om dessa ord är icke-noll. Detta är standard för Attribut 5 och 196.
  • raw16(avg16) - Råattributet är spin-up-tid. Det skrivs ut som ett 16-bitars värde och ett valfritt "Genomsnittligt" 16-bitars värde om ordet är icke-noll. Detta är standard för Attribut 3.
  • raw24(raw8) - Skriv ut råattributet som ett 24-bitars värde och tre valfria 8-bitars värden om dessa bytar är icke-noll. Detta är standard för Attribut 9.
  • raw24/raw24 - Råattributet innehåller två 24-bitars värden. Det första är antalet laddningscykler. Det andra är antalet urladdningscykler. Skillnaden mellan dessa två värden är antalet gånger som enheten stängdes av oväntat (även kallad en nödurkoppling). En tumregel är att den mekaniska påfrestningen skapad av en nödurkoppling motsvarar den som skapas av ett hundra normala urladdningar.
  • raw24/raw32 - Råattributet är en felhastighet som består av ett 24-bitars felantal och ett 32-bitars totalantal.

Följande gamla argument till '-v' är också fortfarande giltiga:

  • 9,minutes - samma som: 9,min2hour,Power_On_Minutes.
  • 9,seconds - samma som: 9,sec2hour,Power_On_Seconds.
  • 9,halfminutes - samma som: 9,halfmin2hour,Power_On_Half_Minutes.
  • 9,temp - samma som: 9,tempminmax,Temperature_Celsius.
  • 192,emergencyretractcyclect - samma som: 192,raw48,Emerg_Retract_Cycle_Ct.
  • 193,loadunload - samma som: 193,raw24/raw24.
  • 194,10xCelsius - samma som: 194,temp10x,Temperature_Celsius_x10.
  • 194,unknown - samma som: 194,raw48,Unknown_Attribute.
  • 197,increasing - samma som: 197,raw48,Total_Pending_Sectors. Betyder också att Attribut nummer 197 (Current Pending Sector Count) inte återställs om okorrigerbara sektorer omallokeras (se smartd.conf(5) man-sidan).
  • 198,increasing - samma som: 198,raw48,Total_Offl_Uncorrectabl. Betyder också att Attribut nummer 198 (Offline Uncorrectable Sector Count) inte återställs om okorrigerbara sektorer omallokeras (se smartd.conf(5) man-sidan).
  • 198,offlinescanuncsectorct - samma som: 198,raw48,Offline_Scan_UNC_SectCt.
  • 200,writeerrorcount - samma som: 200,raw48,Write_Error_Count.
  • 201,detectedtacount - samma som: 201,raw48,Detected_TA_Count.
  • 220,temp - samma som: 220,raw48,Temperature_Celsius.
Not: En tabell över hårddiskmodeller, som listar vilket Attribut som motsvarar temperatur, finns på: http://www.guzu.net/linux/hddtemp.db.
-F TYPE, --firmwarebug=TYPE

[endast ATA] Modifierar smartctl:s beteende för att kompensera för några kända och förstådda enhetsfirmware- eller drivrutinsfel. Förutom 'swapid', är argumenten till detta alternativ exklusiva, så att endast det sista alternativet som anges används. De giltiga värdena är:

  • none - Anta att enhetens firmware följer ATA-specifikationerna. Detta är standard, om inte enheten har förinställningar för '-F' i enhetsdatabasen (se not nedan).
  • samsung - I vissa Samsung-diskar (exempel: modell SV4012H Firmware Version: RM100-08) är vissa två- och fyrabytes-kvantiteter i SMART-datastrukturerna byte-swappade (i förhållande till ATA-specifikationen). Att aktivera detta alternativ talar om för smartctl att utvärdera dessa kvantiteter i byte-reverserad ordning. Några tecken på att din disk behöver detta alternativ är (1) ingen självtestlogg skrivs ut, även om du har kört självtester; (2) ett mycket stort antal ATA-fel rapporterade i ATA-felloggen; (3) konstiga och omöjliga värden för ATA-felloggens tidsstämplar.
  • samsung2 - I vissa Samsung-diskar är antalet rapporterade ATA-fel byte-swappat. Att aktivera detta alternativ talar om för smartctl att utvärdera denna kvantitet i byte-reverserad ordning. En indikation på att din Samsung-disk behöver detta alternativ är att självtestloggen skrivs ut korrekt, men det finns ett mycket stort antal fel i SMART-felloggen. Detta beror på att felantalet är byte-swappat. Således kommer en disk med fem fel (0x0005) att visas ha 20480 fel (0x5000).
  • samsung3 - Vissa Samsung-diskar (åtminstone SP2514N med Firmware VF100-37) rapporterar ett självtest som fortfarande pågår med 0 % återstående när testet redan är slutfört. Aktivering av detta alternativ modifierar utmatningen av självtestkörningsstatus (se alternativen '-c' eller '-a' ovan) därefter.
Observera att ett explicit '-F' alternativ på kommandoraden kommer att åsidosätta alla förinställda värden för '-F' (se '-P' alternativet nedan).
  • swapid - Fixar byte-swappade ATA-identifikationssträngar (enhetsnamn, serienummer, firmware-version) som returneras av vissa buggiga drivrutiner.
-P TYPE, --presets=TYPE
[endast ATA] Anger om smartctl ska använda några förinställda alternativ som är tillgängliga för denna enhet. Som standard, om enheten känns igen i smartmontools-databasen, används förinställningarna. Smartctl kan automatiskt ställa in lämpliga alternativ för kända enheter. Till exempel använder Maxtor 4D080H4 Attribut 9 för att lagra drifttid i minuter, medan de flesta enheter använder detta Attribut för att lagra drifttid i timmar. Kommandoradsalternativet `-v 9,minutes` säkerställer att smartctl tolkar Attribut 9 korrekt i detta fall, men det alternativet är förinställt för Maxtor 4D080H4 och behöver därför inte specificeras av användaren på smartctl-kommandoraden.
Argumentet `show` visar alla förinställda alternativ för din enhet, och argumentet `showall` visar alla kända enheter i smartmontools-databasen, tillsammans med deras förinställningar. Om det inte finns några förinställningar för din enhet och du tycker att det borde finnas (till exempel om ett `-v` eller `-F`-alternativ behövs för att få smartctl att visa korrekta värden) vänligen kontakta smartmontools-utvecklarna så att denna information kan läggas till i smartmontools-databasen. Kontaktinformation finns i slutet av denna man-sida.
De giltiga argumenten för detta alternativ är:
  • use - Om en enhet känns igen, använd då de lagrade förinställningarna för den. Detta är standard. Observera att förinställningar INTE kommer att åsidosätta ytterligare Attributtolkning (`-v N,something` kommandoradsalternativ) eller explicita `-F` kommandoradsalternativ.
  • ignore - Använd inte förinställningar.
  • show - Visa om enheten känns igen i databasen, och om så är fallet, dess förinställningar, och avsluta sedan.
  • showall - Lista alla igenkända enheter och de förinställningar som är satta för dem, och avsluta sedan. Detta kontrollerar också enhetsdatabasens reguljära uttryck och inställningar för syntaxfel.
`-P showall`-alternativet kan ta upp till två valfria argument för att matcha en specifik enhetstyp och firmwareversion. Kommandot:
smartctl -P showall
listar alla poster, kommandot:
smartctl -P showall 'MODEL'
listar alla poster som matchar `MODEL`, och kommandot:
smartctl -P showall 'MODEL' 'FIRMWARE'
listar alla poster för denna `MODEL` och en specifik `FIRMWARE`-version.
-B [+]FILE, --drivedb=[+]FILE
[endast ATA] Läser in enhetsdatabasen från FIL. Den nya databasen ersätter den inbyggda databasen som standard. Om '+' anges, läggs de nya posterna till före de inbyggda posterna. Valfria poster läses in från filen `/etc/smart_drivedb.h` om detta alternativ inte är specificerat.
Om `/usr/share/smartmontools/drivedb.h` finns, används innehållet i denna fil istället för den inbyggda tabellen. Kör `/usr/sbin/update-smart-drivedb` för att uppdatera denna fil från smartmontools SVN-förråd. Databasfilerna använder samma C/C++-syntax som används för att initiera den inbyggda databasarrayen. C/C++-stil kommentarer är tillåtna. Exempel:
 /* Fullständig post: */
 {
   "Modellfamilj",    // Info om modellfamilj/serie.
   "MODEL1.*REGEX",   // Reguljärt uttryck för att matcha enhetens modell.
   "VERSION.*REGEX",  // Reguljärt uttryck för att matcha firmwareversion(er).
   "Något varningsmeddelande",    // Varningsmeddelande.
   "-v 9,minutes"     // Sträng med förinställda -v och -F alternativ.
 },
 /* Minimal post: */
 {
   "",                // Ingen info om modellfamilj/serie.
   "MODEL2.*REGEX",   // Reguljärt uttryck för att matcha enhetens modell.
   "",                // Alla firmwareversioner.
   "",                // Ingen varning.
   ""                 // Inga förinställda alternativ.
 },
 /* USB ID post: */
 {
   "USB: Enhet; Brygga", // Info om USB-enhet och bryggans namn.
   "0x1234:0xabcd",   // Reguljärt uttryck för att matcha vendor:product ID.
   "0x0101",          // Reguljärt uttryck för att matcha bcdDevice.
   "",                // Ej använt.
   "-d sat"           // Sträng med enhetstyp alternativ.
 },
 /* ... */
 

SMART STARTA/AVBRYTA OFFLINE TEST OCH SJÄLVTEST ALTERNATIV:

-t TEST, --test=TEST
Utför TEST omedelbart. `-C` alternativet kan användas i samband med detta alternativ för att köra korta eller långa (och även för ATA-enheter, selektiva eller transport) självtester i fångat läge (känt som "förgrundsläge" för SCSI-enheter). Observera att endast en testtyp kan köras åt gången, så endast en testtyp bör specificeras per kommandorad. Observera också att om en dator stängs av eller strömmen bryts under ett självtest, bör ingen skada uppstå. Självtestet kommer antingen att avbrytas eller återupptas automatiskt.
Alla `-t TEST` kommandon kan ges under normal systemdrift om inte fångat läge (`-C` alternativ) används. Ett pågående självtest kan dock försämra enhetens prestanda. Frekventa I/O-förfrågningar från operativsystemet ökar varaktigheten av ett test. Dessa påverkan kan variera från enhet till enhet.
Om ett test misslyckas kan enheten avbryta testningen och rapportera resultatet omedelbart.
De giltiga argumenten för detta alternativ är:
  • offline - [ATA] kör SMART Omedelbart Offline Test. Detta startar omedelbart testet som beskrivs ovan. Detta kommando kan ges under normal systemdrift. Effekterna av detta test är endast synliga i att det uppdaterar SMART Attributvärden, och om fel hittas kommer de att visas i SMART fellogg, synlig med `-l error` alternativet.
Om `-c` alternativet till smartctl visar att enheten har förmågan "Avbryt Offline insamling vid nytt kommando" kan du spåra framstegen för det Omedelbara Offline testet med hjälp av `-c` alternativet till smartctl. Om `-c` alternativet visar att enheten har förmågan "Avbryt Offline insamling vid nytt kommando" kommer de flesta kommandon att avbryta det Omedelbara Offline Testet, så du bör inte försöka spåra framstegen för testet med `-c`, eftersom det kommer att avbryta testet.
  • offline - [SCSI] kör standard självtest i förgrund. Ingen post görs i självtestloggen.
  • short - [ATA] kör SMART Kort Självtest (vanligtvis under tio minuter). Detta kommando kan ges under normal systemdrift (om det inte körs i fångat läge - se `-C` alternativet nedan). Detta är ett test i en annan kategori än de omedelbara eller automatiska offlinetesterna. "Själv"-tester kontrollerar den elektriska och mekaniska prestandan samt läsprestandan på disken. Deras resultat rapporteras i Självtestfelloggen, läsbar med `-l selftest` alternativet. Observera att på vissa diskar kan framstegen för självtestet övervakas genom att titta på denna logg under självtestet; med andra diskar använd `-c` alternativet för att övervaka framstegen.
  • short - [SCSI] kör "Bakgrund kort" självtest.
  • long - [ATA] kör SMART Utökat Självtest (tiotals minuter). Detta är en längre och mer noggrann version av Kort Självtestet som beskrivs ovan. Observera att detta kommando kan ges under normal systemdrift (om det inte körs i fångat läge - se `-C` alternativet nedan).
  • long - [SCSI] kör "Bakgrund långt" självtest.
  • conveyance - [endast ATA] kör ett SMART Transport Självtest (minuter). Detta självtest är avsett att identifiera skador som uppstått under transport av enheten. Detta självtest bör ta på sin höjd några minuter att slutföra. Observera att detta kommando kan ges under normal systemdrift (om det inte körs i fångat läge - se `-C` alternativet nedan).
  • select,N-M, select,N+SIZE - [endast ATA] kör ett SMART Selektivt Självtest, för att testa ett intervall av diskens Logiska Blockadresser (LBAs), snarare än hela disken. Varje intervall av LBAs som kontrolleras kallas ett "spann" och specificeras genom en start-LBA (N) och en slut-LBA (M) med N mindre än eller lika med M. Intervallet kan också specificeras som N+SIZE. Ett spann i slutet av en disk kan specificeras genom N-max.
Till exempel kommandona:
smartctl -t select,10-20 /dev/hda
smartctl -t select,10+11 /dev/hda
Båda kör ett självtest på ett spann bestående av LBAs tio till tjugo (inklusive). Kommandot:
smartctl -t select,100000000-max /dev/hda
kör ett självtest från LBA 100000000 till slutet av disken. `-t` alternativet kan ges upp till fem gånger, för att testa upp till fem spann. Till exempel kommandot:
smartctl -t select,0-100 -t select,1000-2000 /dev/hda
kör ett självtest på två spann. Det första spannet består av 101 LBAs och det andra spannet består av 1001 LBAs. Observera att spannen kan överlappa delvis eller helt, till exempel:
smartctl -t select,0-10 -t select,5-15 -t select,10-20 /dev/hda
Resultaten av det selektiva självtestet kan erhållas (både under och efter testet) genom att skriva ut SMART självtestloggen, med hjälp av `-l selftest` alternativet till smartctl.
Selektiva självtester är särskilt användbara eftersom diskkapaciteten ökar: ett utökat självtest (smartctl -t long) kan ta flera timmar. Selektiva självtester är till hjälp om (baserat på SYSLOG-felmeddelanden, tidigare misslyckade självtester eller SMART-felloggar) du misstänker att en disk har problem vid ett särskilt intervall av Logiska Blockadresser (LBAs).
Selektiva självtester kan köras under normal systemdrift (om de inte görs i fångat läge - se `-C` alternativet nedan).
Följande varianter av det selektiva självtestkommandot använder spann baserat på intervallen från tidigare tester som redan lagrats på disken:
  • select,redo[+SIZE] - [endast ATA] gör om det senaste SMART Selektiva Självtestet med samma LBA-intervall. Start-LBA är identisk med LBA som användes vid senaste testet, samma för slut-LBA om inte en ny spannstorlek specificeras genom det valfria +SIZE argumentet.
Till exempel kommandona:
smartctl -t select,10-20 /dev/hda
smartctl -t select,redo /dev/hda
smartctl -t select,redo+20 /dev/hda
har samma effekt som:
smartctl -t select,10-20 /dev/hda
smartctl -t select,10-20 /dev/hda
smartctl -t select,10-29 /dev/hda
  • select,next[+SIZE] - [endast ATA] kör ett SMART Selektivt Självtest på LBA-intervallet som följer intervallet från det senaste testet. Start-LBA är satt till (slut-LBA +1) från det senaste testet. En ny spannstorlek kan specificeras genom det valfria +SIZE argumentet.
Till exempel kommandona:
smartctl -t select,0-999 /dev/hda
smartctl -t select,next /dev/hda
smartctl -t select,next+2000 /dev/hda
har samma effekt som:
smartctl -t select,0-999 /dev/hda
smartctl -t select,1000-1999 /dev/hda
smartctl -t select,2000-3999 /dev/hda
Om det senaste testet slutade vid den sista LBA på disken, börjar det nya intervallet vid LBA 0. Spannstorleken för det sista spannet på en disk justeras så att det totala antalet spann för att kontrollera hela disken inte kommer att ändras av framtida användningar av `-t select,next`.
  • select,cont[+SIZE] - [endast ATA] utför en "redo" (ovan) om självteststatusen rapporterar att det senaste testet avbröts av värden. Annars körs "next" (ovan) testet.
  • afterselect,on - [endast ATA] utför en offline-läsa-skanning efter att ett Selektivt Självtest har slutförts. Detta alternativ måste användas tillsammans med ett eller flera av `select,N-M` alternativen ovan. Om de specificerade LBA:erna i det Selektiva självtestet klarar testet utan några funna fel, läses sedan resten av disken. Om enheten strömcyklas medan denna lässkanning pågår, återupptas lässkanningen automatiskt efter en tid som specificeras av den väntande timern (se nedan). Värdet för detta alternativ bevaras mellan selektiva självtester.
  • afterselect,off - [endast ATA] utför inte lässkanning av resten av disken efter att ett Selektivt självtest har slutförts. Detta alternativ måste användas tillsammans med ett eller flera av `select,N-M` alternativen ovan. Värdet för detta alternativ bevaras mellan selektiva självtester.
  • pending,N - [endast ATA] ställer in den väntande offline-läsa-skanningstimern till N minuter. Här är N ett heltal i intervallet från 0 till 65535 inklusive. Om enheten stängs av under en lässkanning efter ett Selektivt självtest, återupptas testet automatiskt N minuter efter strömmen återställts. Detta alternativ måste användas tillsammans med ett eller flera av `select,N-M` alternativen ovan. Värdet för detta alternativ bevaras mellan selektiva självtester.
  • vendor,N - [endast ATA] utfärdar ATA-kommandot SMART EXECUTE OFF-LINE IMMEDIATE med underkommando N i LBA LOW registret. Underkommandot specificeras som ett hex-värde i intervallet 0x00 till 0xff. Underkommandon 0x40-0x7e och 0x90-0xff är reserverade för leverantörsspecifik användning, se tabell 61 i T13/1699-D Revision 6a (ATA8-ACS). Observera att underkommandon 0x00-0x04, 0x7f, 0x81-0x84 stöds av andra smartctl alternativ (t.ex. 0x01: `-t short`, 0x7f: `-X`, 0x82: `-C -t long`).
VARNING: Kör endast underkommandon som dokumenterats av enhetens leverantör.
Exempel för Intel (X18/X25-M G2, 320, 520 och 710 Series) SSD-enheter endast: Underkommandot 0x40 (`-t vendor,0x40`) rensar de tidsbaserade arbetsbelastningsrelaterade SMART-attributen (226, 227, 228). Observera att råvärdena för dessa attribut hålls vid 65535 (0xffff) tills arbetsbelastningstimern når 60 minuter.
  • force - [endast ATA] starta ett nytt självtest även om ett annat test redan körs. Som standard kommer ett pågående självtest inte att avbrytas för att påbörja ett annat test.
  • scttempint,N[,p] - stöds inte längre, använd `-l scttempint,N[,p]` istället, se ovan.
-C, --captive
[ATA] Kör självtester i fångat läge. Detta har ingen effekt med `-t offline` eller om `-t`-alternativet inte används.
VARNING: Tester som körs i fångat läge kan göra enheten otillgänglig under testets längd. Kör endast fångade tester på enheter utan monterade partitioner!
[SCSI] Kör självtestet i "Förgrundsläge".
-X, --abort
Avbryter icke-fångade SMART självtester. Observera att detta kommando endast avbryter Offline Omedelbart Test om din disk har förmågan "Avbryt Offline insamling vid nytt kommando".
ATA, SCSI-kommandouppsättningar och SAT
Tidigare har det funnits en tydlig skillnad mellan lagringsenheter som använde ATA och SCSI-kommandouppsättningar. Denna skillnad återspeglades ofta i deras enhetsnamn och hårdvara. Nu kan olika SCSI-transporter (t.ex. SAS, FC och iSCSI) ansluta till både SCSI-diskar (t.ex. FC och SAS) och ATA-diskar (särskilt SATA). USB- och IEEE 1394-lagringsenheter använder SCSI-kommandouppsättningen externt men innehåller nästan alltid ATA- eller SATA-diskar (eller flash). Lagringsundersystemen i vissa operativsystem har börjat ta bort skillnaden mellan ATA och SCSI i deras enhetsnamnspolicyer.
99% av operationerna som ett operativsystem utför på en disk involverar SCSI-kommandona INQUIRY, READ CAPACITY, READ och WRITE, eller deras ATA-motsvarigheter. Eftersom SCSI-kommandona är något mer allmänna än deras ATA-motsvarigheter, genererar många operativsystem SCSI-kommandon (huvudsakligen READ och WRITE) och låter en lägre nivå översätta dem till deras ATA-motsvarigheter vid behov. En viktig notering här är att "lägre nivå" kan vara i extern utrustning och därmed utanför operativsystemets kontroll.
SCSI till ATA-översättning (SAT) är en standard (ANSI INCITS 431-2007) som specificerar hur denna översättning görs. För de andra 1% av operationerna som ett operativsystem utför på en disk, ger SAT två alternativ. Det första är ett valfritt ATA PASS-THROUGH SCSI-kommando (det finns två varianter). Det andra är en översättning från det närmaste SCSI-kommandot. Mest aktuellt intresse är för "pass-through"-alternativet.
Relevansen för smartmontools (och därmed smartctl) är att dess interaktioner med diskar ligger fast inom "1%"-kategorin. Så även om operativsystemet kan behandla (och namnge) en disk som "SCSI", behöver smartmontools upptäcka den ursprungliga kommandouppsättningen och agera därefter. När fler lagringstillverkare (inklusive externa SATA-enheter) följer SAT, kan smartmontools automatiskt skilja den ursprungliga kommandouppsättningen på enheten. I vissa fall behövs alternativet `-d sat` på kommandoraden.
Det finns också virtuella diskar som vanligtvis inte har någon användbar information att förmedla till smartmontools, men som potentiellt kan ha det i framtiden. Ett exempel på en virtuell disk är operativsystemets syn på en RAID 1-låda. Det finns förmodligen två SATA-diskar inuti en RAID 1-låda. Att adressera dessa SATA-diskar från ett avlägset operativsystem är en utmaning för smartmontools. Ett annat tillvägagångssätt är att köra ett verktyg som smartmontools inuti RAID 1-lådan (t.ex. en Network Attached Storage (NAS) låda) och hämta loggarna via en webbläsare.

Exempel

smartctl -a /dev/hda
Visar en stor mängd SMART-information för enheten `/dev/hda` som vanligtvis är en ATA (IDE) eller SATA-disk i Linux.
smartctl -a /dev/sdb
Visar en stor mängd SMART-information för enheten `/dev/sdb`. Detta kan vara en SCSI-disk eller en ATA (SATA) disk.
smartctl -s off /dev/hdd
Inaktiverar SMART-övervakning och logginsamling på enheten `/dev/hdd`.
smartctl --smart=on --offlineauto=on --saveauto=on /dev/hda
Aktiverar SMART på enheten `/dev/hda`, aktiverar automatisk offline-testning var fjärde timme, och aktiverar automatiskt sparande av SMART-attribut. Detta är en bra startlinje för ditt systems init-filer. Du kan utfärda detta kommando på ett igångkört system.
smartctl -t long /dev/hdc
Börjar ett utökat självtest på enheten `/dev/hdc`. Du kan utfärda detta kommando på ett igångkört system. Resultaten kan ses i självtestloggen som är synlig med alternativet `-l selftest` efter att testet har slutförts.
smartctl -s on -t offline /dev/hda
Aktiverar SMART på disken och påbörjar ett omedelbart offline-test på enheten `/dev/hda`. Du kan utfärda detta kommando på ett igångkört system. Resultaten används endast för att uppdatera SMART-attributen, synliga med alternativet `-A`. Om några enhetsfel uppstår, loggas de till SMART-felloggen, som kan ses med alternativet `-l error`.
smartctl -A -v 9,minutes /dev/hda
Visar leverantörsattributen när disken lagrar sin driftstid internt i minuter istället för timmar.
smartctl -q errorsonly -H -l selftest /dev/hda
Producerar endast utdata om enheten returnerar felande SMART-status eller om några av de loggade självtesterna avslutades med fel.
smartctl -q silent -a /dev/hda
Undersök all SMART-data för enheten `/dev/hda`, men producera ingen utskrift. Du måste använda utgångsstatusen (skalbvariabeln `$?`) för att ta reda på om några attribut är utanför gränsen, om SMART-statusen är felande, om det finns fel inspelade i självtestloggen, eller om det finns fel inspelade i diskens fellogg.
smartctl -a -d 3ware,0 /dev/sda
Undersök all SMART-data för den första ATA-disken ansluten till ett 3ware RAID-kontrollerkort.
smartctl -a -d 3ware,0 /dev/twe0
Undersök all SMART-data för den första ATA-disken ansluten till ett 3ware RAID 6000/7000/8000 kontrollerkort.
smartctl -a -d 3ware,0 /dev/twa0
Undersök all SMART-data för den första ATA-disken ansluten till ett 3ware RAID 9000 kontrollerkort.
smartctl -a -d 3ware,0 /dev/twl0
Undersök all SMART-data för den första SATA (inte SAS) disken ansluten till ett 3ware RAID 9750 kontrollerkort.
smartctl -t short -d 3ware,3 /dev/sdb
Starta ett kort självtest på den fjärde ATA-disken ansluten till 3ware RAID-kontrollerkortet som är den andra SCSI-enheten `/dev/sdb`.
smartctl -t long -d areca,4 /dev/sg2
Starta ett långt självtest på den fjärde SATA-disken ansluten till en Areca RAID-kontroller adresserad av `/dev/sg2`.
smartctl -a -d hpt,1/3 /dev/sda (under Linux)
smartctl -a -d hpt,1/3 /dev/hptrr (under FreeBSD)
Undersök all SMART-data för (S)ATA-disken direkt ansluten till den tredje kanalen på det första HighPoint RocketRAID-kontrollerkortet.
smartctl -t short -d hpt,1/1/2 /dev/sda (under Linux)
smartctl -t short -d hpt,1/1/2 /dev/hptrr (under FreeBSD)
Starta ett kort självtest på (S)ATA-disken ansluten till den andra pm-porten på den första kanalen på det första HighPoint RocketRAID-kontrollerkortet.
smartctl -t select,10-100 -t select,30-300 -t afterselect,on -t pending,45 /dev/hda
Kör ett selektivt självtest på LBAs 10 till 100 och 30 till 300. Efter att dessa LBAs har testats, läses resten av disken. Om disken strömcyklas under lässkanningen, återupptas skanningen 45 minuter efter att strömmen till enheten återställts.
smartctl -a -d cciss,0 /dev/cciss/c0d0
Undersök all SMART-data för den första SCSI-disken ansluten till ett cciss RAID-kontrollerkort.

Returvärden

Returvärdena för smartctl definieras av en bitmask. Om allt är bra med disken är returvärdet (utgångsstatusen) för smartctl 0 (alla bitar är avstängda). Om ett problem uppstår, eller ett fel, potentiellt fel, eller en felaktighet upptäcks, returneras ett icke-nollvärde. I så fall har de åtta olika bitarna i returvärdet följande betydelser för ATA-diskar; några av dessa värden kan också returneras för SCSI-diskar.
Bit 0:

Kommandoraden kunde inte tolkas.

Bit 1:

Enheten kunde inte öppnas, enheten returnerade inte en IDENTIFY DEVICE-struktur, eller enheten är i ett lågeffektläge (se `-n`-alternativet ovan).

Bit 2:

Något SMART eller annat ATA-kommando till disken misslyckades, eller det fanns ett checksumfel i en SMART-datastruktur (se `-b`-alternativet ovan).

Bit 3:

SMART-statuskontrollen returnerade "DISK FELAKTIG".

Bit 4:

Vi hittade förfelad Attribut <= tröskelvärde.

Bit 5:

SMART-statuskontrollen returnerade "DISK OK" men vi fann att några (användnings- eller förfelad) Attribut har varit <= tröskelvärde vid något tillfälle i det förflutna.

Bit 6:

Enhetens fellogg innehåller poster om fel.

Bit 7:

Enhetens självtestlogg innehåller poster om fel. [Endast ATA] Misslyckade självtester som är föråldrade av ett nyare framgångsrikt utökat självtest ignoreras.

För att testa inom skalet om de olika bitarna är på eller av, kan du använda följande typ av konstruktion (detta är bash-syntax):
smartstat=$(($? & 8))
Detta tittar bara på bit 3 i utgångsstatusen `$?` (eftersom 8=2^3). Skalbvariabeln `$smartstat` kommer att vara icke-noll om SMART-statuskontrollen returnerade "disk felaktig" och noll annars.
Detta bash-skript skriver ut alla statusbitar:
 status=$?
 for ((i=0; i<8; i++)); do
   echo "Bit $i: $((status & 2**i && 1))"
 done
 

Noteringar

TapeAlert loggsidans flaggor rensas för initiativtagaren när sidan läses. Detta innebär att varje larmvillkor endast rapporteras en gång av smartctl för varje initiativtagare för varje aktivering av villkoret.

Författare

Bruce Allen smartmontools-support@lists.sourceforge.net
University of Wisconsin - Milwaukee Physics Department

Medverkande

Följande personer har gjort stora bidrag till smartmontools:
* Casper Dik (Solaris SCSI-gränssnitt)
* Christian Franke (Windows-gränssnitt, C++ omdesign, USB-stöd, ...)
* Douglas Gilbert (SCSI-underlag)
* Guido Guenther (Autoconf/Automake-paketering)
* Geoffrey Keating (Darwin ATA-gränssnitt)
* Eduard Martinescu (FreeBSD-gränssnitt)
* Frédéric L. W. Meunier (Webbplats och Mailinglista)
* Gabriele Pohl (Webbplats och Wiki, konvertering från CVS till SVN)
* Keiji Sawada (Solaris ATA-gränssnitt)
* Manfred Schwarb (Enhetsdatabas)
* Sergey Svishchev (NetBSD-gränssnitt)
* David Snyder och Sergey Svishchev (OpenBSD-gränssnitt)
* Phil Williams (Användargränssnitt och enhetsdatabas)
* Yuri Dario (OS/2, eComStation-gränssnitt)
* Shengfeng Zhou (Linux/FreeBSD HighPoint RocketRAID-gränssnitt)
Många andra individer har gjort mindre bidrag och korrigeringar.

Credits

Denna kod härstammar från smartsuite-paketet, skrivet av Michael Cornwell, och från det tidigare UCSC smartsuite-paketet. Det utvidgar dessa för att täcka ATA-5-diskar. Denna kod utvecklades ursprungligen som en Senioravhandling av Michael Cornwell vid Concurrent Systems Laboratory (nu en del av Storage Systems Research Center), Jack Baskin School of Engineering, University of California, Santa Cruz. http://ssrc.soe.ucsc.edu/

HEMSIDAN FÖR SMARTMONTOOLS

Se följande webbplats för uppdateringar, ytterligare dokumentation, felrapporter och patchar: http://smartmontools.sourceforge.net/

SE ÄVEN

smartd(8), badblocks(8), ide-smart(8).

Referenser för SMART

En introduktionsartikel om smartmontools är Monitoring Hard Disks with SMART, av Bruce Allen, Linux Journal, januari 2004, sidorna 74-77. Denna finns online på http://www.linuxjournal.com/article/6983
Om du vill förstå bättre hur SMART fungerar, och vad det gör, är ett bra ställe att börja med sektionerna 4.8 och 6.54 i den första volymen av "AT Attachment with Packet Interface-7" (ATA/ATAPI-7) specifikationen Revidering 4b. Denna dokumenterar SMART-funktionaliteten som smartmontools-verktygen ger tillgång till.
SMARTs funktionalitet definierades ursprungligen av SFF-8035i revision 2 och SFF-8055i revision 1.4 specifikationerna. Dessa är publikationer av Small Form Factors (SFF) Committee.
Länkar till dessa och andra dokument kan hittas på länksidan på smartmontools Wiki på http://sourceforge.net/apps/trac/smartmontools/wiki/Links.

SVN-ID FÖR DENNA SIDA

$Id: smartctl.8.in 3568 2012-06-25 19:30:59Z chrfranke $

Sidslut


Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp.se som har sponsrat Linux.se med webserver.