GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überwachen und analysieren Sie den Festplattenzustand mit Smartctl in Linux

Smartctl (Selbstüberwachungs-, Analyse- und Berichtstechnologie ) ist ein Befehlszeilendienstprogramm oder ein Tool in einem UNIX- und Linux-ähnlichen Betriebssystem, das SMART-Aufgaben ausführt, z. B. das Drucken des SMART-Selbsttests und der Fehlerprotokolle, das Aktivieren und Deaktivieren des automatischen SMART-Tests und das Initiieren von Geräteselbsttests.

Smartctl ist auf physischen Linux-Servern nützlich, auf denen Smart Disks auf Fehler und fehlerhafte Sektoren überprüft und Informationen zu den Festplatten extrahiert werden können, die hinter dem Hardware-RAID verwendet werden.

In diesem Beitrag werden wir einige praktische Beispiele von smartctl besprechen Befehl, verwenden Sie die folgenden Schritte, um smartctl zu installieren, wenn es nicht auf Ihrem Linux-Rechner installiert ist.

Installation von Smartcl unter Ubuntu

$ sudo apt-get install smartmontools

Installation von Smartcl in Redhat / CentOS

# yum install smartmontools

Starten Sie den Smartctl-Dienst

Für Ubuntu

$ sudo /etc/init.d/smartmontools start

Für CentOS &RHEL

# service smartd start ; chkconfig smartd on

Beispiel:1 Überprüfen Sie, ob Smart Capability für die Festplatte aktiviert ist oder nicht

[email protected]:~# smartctl -i /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Momentus 5400.6
Device Model:     ST9320325AS
Serial Number:    5VD2V59T
LU WWN Device Id: 5 000c50 020a37ec4
Firmware Version: 0002BSM1
User Capacity:    320,072,933,376 bytes [320 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 1.5 Gb/s
Local Time is:    Sun Nov 16 12:32:09 2014 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Wo „/dev/sdb“ Ihre Festplatte ist. Die letzten beiden Zeilen in der obigen Ausgabe zeigen, dass die SMART-Funktion für das Gerät aktiviert ist.

Beispiel:2 Smart Capability für die Festplatte aktivieren

[email protected]:~# smartctl -s on /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

Beispiel:3 Smart Capability für die Festplatte deaktivieren

[email protected]:~# smartctl -s off  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Disabled. Use option -s with argument 'on' to enable it.

Beispiel:4 Detaillierte Smart-Informationen für die Festplatte anzeigen

[email protected]:~# smartctl -a /dev/sdb              // For IDE drive
[email protected]:~# smartctl -a -d ata /dev/sdb       // For SATA drive

Beispiel:5 Gesamtzustand der Festplatte anzeigen

[email protected]:~# smartctl -H  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
Please note the following marginal Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
190 Airflow_Temperature_Cel 0x0022   067   045   045    Old_age   Always   In_the_past 33 (Min/Max 25/33)

Beispiel:6 Testen Sie die Festplatte mit der langen und kurzen Option.

Langer Test

[email protected]:~# smartctl --test=long /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 102 minutes for test to complete.
Test will complete after Sun Nov 16 14:29:43 2014

Use smartctl -X to abort test.

ODER Wir können die Testausgabe wie unten gezeigt in eine Protokolldatei umleiten

[email protected]:~# smartctl --test=long /dev/sdb > /var/log/long.text

Kurztest

[email protected]:~# smartctl --test=short /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Sun Nov 16 12:51:45 2014

Use smartctl -X to abort test.

ODER

[email protected]:~# smartctl --test=short /dev/sdb > /var/log/short.text

Hinweis: Der kurze Test dauert maximal 2 Minuten, während es beim langen Test keine Zeitbeschränkung gibt, da er jedes Segment der gesamten Festplatte liest und überprüft.

Beispiel:7 Zum Anzeigen des Selbsttestergebnisses des Laufwerks

[email protected]:~# smartctl -l selftest /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%       492         210841222
# 2  Extended offline    Completed: read failure       90%       492         210841222

Beispiel:8 Geschätzte Zeit zur Durchführung des Tests berechnen

[email protected]:~# smartctl -c  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
General SMART Values:
Offline data collection status:  (0x00)    Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      ( 121)    The previous self-test completed having
                    the read element of the test failed.
Total time to complete Offline 
data collection:         (    0) seconds.
Offline data collection
capabilities:              (0x73) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003)    Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01)    Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:      (   1) minutes.
Extended self-test routine
recommended polling time:      ( 102) minutes.
Conveyance self-test routine
recommended polling time:      (   2) minutes.
SCT capabilities:            (0x103b)    SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

Beispiel:9 Fehlerprotokolle der Festplatte anzeigen

[email protected]:~# smartctl -l error  /dev/sdb

Sample Output

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 5
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 da 08 e7 e5 a5 4c 00      00:30:44.515  READ DMA EXT
  25 da 08 df e5 a5 4c 00      00:30:44.514  READ DMA EXT
  25 da 80 5f e5 a5 4c 00      00:30:44.502  READ DMA EXT
  25 da f0 5f e6 a5 4c 00      00:30:44.496  READ DMA EXT
  25 da 10 4f e6 a5 4c 00      00:30:44.383  READ DMA EXT

Linux
  1. Analysieren Sie den Linux-Kernel mit ftrace

  2. Partitionieren Sie ein Laufwerk unter Linux mit GNU Parted

  3. Überwachen Sie Linux-Server mit Prometheus und Grafana

  4. So überprüfen Sie den Zustand einer Festplatte

  5. Verschlüsseln Sie eine externe Festplatte mit Lese- und Schreibzugriff sowohl unter Windows als auch unter Linux

So übertragen Sie Dateien zwischen Dropbox und Google Drive mit Rclone unter Linux

Beheben und überwachen Sie die Linux-Systemleistung mit nmon

Upgrade auf ein Solid-State-Laufwerk unter Linux:Der einfache und der schwierige Weg

Überwachung und Testen des Zustands von SSD in Linux

Lesen und analysieren Sie Ihre Linux-Systemprotokolle mit Journalctl

So überwachen Sie den Zustand von Linux-Servern mit Befehlszeilentools