Linux使用smartctl检查Adaptec RAID控制器后面的磁盘

时间:2020-01-09 10:41:20  来源:igfitidea点击:

我可以使用smartctl -d ata -a/dev/sdb命令来读取直接连接到我的系统的硬盘运行状况。
但是,如何从Linux操作系统上的Shell提示符下读取smartctl命令以检查Adaptec RAID控制器后面的SAS或SCSI磁盘?
您需要使用以下语法检查SATA或SAS磁盘,这些磁盘通常模拟OS的每个(物理)磁盘阵列的(逻辑)磁盘。
/dev/sgX可用作通过I/O控件的传递,从而为Adaptec RAID控制器提供对每个物理磁盘的直接访问。

Linux使用smartctl检查Adaptec RAID控制器后面的磁盘

使用以下命令查找是否检测到RAID卡并获取有关每个磁盘的信息。

Linux是否检测到我的Adaptec RAID卡?

执行以下命令:

# lspci | egrep -i 'raid|adaptec'

输出示例:

81:00.0 RAID bus controller: Adaptec AAC-RAID (rev 09)

下载并安装Adaptec Storage Manager

您需要根据已安装的RAID卡为Linux发行版安装Adaptec Storage Manager。

SATA运行状况检查磁盘语法

要扫描磁盘,请执行:

# smartctl --scan

输出示例:

/dev/sda -d scsi # /dev/sda, SCSI device

因此,/dev/sda是报告为SCSI设备的一种设备。
该RAID设备由/dev/sg {1,2,3,4}中的4个磁盘组成。
执行以下smartclt命令以检查/dev/sda raid后面的磁盘:

# smartctl -d sat --all /dev/sgX
# smartctl -d sat --all /dev/sg1

要求设备报告其SMART健康状态或挂起的TapeAlert消息(如果有),运行:

# smartctl -d sat --all /dev/sg1 -H

对于SAS磁盘,请使用以下语法:

# smartctl -d scsi --all /dev/sgX
# smartctl -d scsi --all /dev/sg1
### Ask the device to report its SMART health status or pending TapeAlert message ###
# smartctl -d scsi --all /dev/sg1 -H

输出示例:

smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
 
Device: SEAGATE  ST3146855SS      Version: 0002
Serial number: xxxxxxxxxxxxxxx
Device type: disk
Transport protocol: SAS
Local Time is: Wed Jul  7 04:34:30 2010 CDT
Device supports SMART and is Enabled
Temperature Warning Enabled
SMART Health Status: OK
 
Current Drive Temperature:     24 C
Drive Trip Temperature:        68 C
Elements in grown defect list: 0
Vendor (Seagate) cache information
  Blocks sent to initiator = 1857385803
  Blocks received from initiator = 1967221471
  Blocks read from cache and sent to initiator = 804439119
  Number of read and write commands whose size <= segment size = 312098925
  Number of read and write commands whose size > segment size = 45998
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 13224.42
  number of minutes until next internal SMART test = 42
 
Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   58984049        1         0  58984050   58984050       3151.730           0
write:         0        0         0         0          0   9921230881.600           0
verify:     1308        0         0      1308       1308          0.000           0
 
Non-medium error count:        0
No self-tests have been logged
Long (extended) Self Test duration: 1367 seconds [22.8 minutes]

这是基于SAS的磁盘的另一个输出,称为/dev/sg2

# smartctl -d scsi --all /dev/sg2 -H

将/dev/sg1替换为您的磁盘号。
如果您袭击了包含4个磁盘的10个阵列,则:

  • /dev/sg0 RAID 10控制器(您将不会获得任何信息或/dev/sg0)。
  • /dev/sg1 RAID 10阵列中的第一个磁盘。
  • /dev/sg2 RAID 10阵列中的第二个磁盘。
  • /dev/sg3 RAID 10阵列中的第三个磁盘。
  • /dev/sg4 RAID 10阵列中的第四个磁盘。

如何运行硬盘检查?

执行以下命令:

# smartctl -t short -d scsi /dev/sg2
# smartctl -t long -d scsi /dev/sg2

其中:

  • -t short:运行短路测试。
  • -t long:运行长时间测试。
  • -d scsi:指定scsi作为设备类型。
  • --all:显示设备的所有SMART信息。

如何使用Adaptec Storage Manager?

另一个仅检查基本状态的简单命令如下:

# /usr/StorMan/arcconf getconfig 1 | more
# /usr/StorMan/arcconf getconfig 1 | grep State
# /usr/StorMan/arcconf getconfig 1 | grep -B 3 State

输出示例:

---------------------------------------------------------------------
      Device #0
         Device is a Hard drive
         State                              : Online
-
         S.M.A.R.T.                         : No
      Device #1
         Device is a Hard drive
         State                              : Online
-
         S.M.A.R.T.                         : No
      Device #2
         Device is a Hard drive
         State                              : Online
-
         S.M.A.R.T.                         : No
      Device #3
         Device is a Hard drive
         State                              : Online

请注意,较新版本的arcconf位于/usr/Adaptec_Event_Monitor目录中。
因此,您的完整路径必须如下:

# /usr/Adaptec_Event_Monitor/arcconf getconfig  [AD | LD [LD#] | PD | MC | [AL]] [nologs]

其中:

Prints controller configuration information.

    Option  AD  : Adapter information only
            LD  : Logical device information only
            LD# : Optionally display information about the specified logical device
            PD  : Physical device information only
            MC  : Maxcache 3.0 information only
            AL  : All information (optional)

如何在Linux上检查Adaptec RAID阵列本身的运行状况?

只需使用以下命令:

# /usr/Adaptec_Event_Monitor/arcconf getconfig 1

或(旧版本)

# /usr/StorMan/arcconf getconfig 1