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