如何使用CentOS 6监控Dell PERC H710 Raid Controller背后的硬盘状态?


26

我有一个CentOS 6使用PERC H710Raid 5设置的Raid Controller卡运行的Dell服务器,我想监视Raid Controller背后的硬盘故障/工作状态。

然后,我应该能够使用bash脚本监视硬盘状态,并在出现问题时发送警报电子邮件。

用于CentOS / Red Hat / Linux 的LSI MegaRAID SAS命令工具(关于LSI MegaRAID SAS Linux工具)不支持PERC H710,并且smartctl也不支持。

基于Dell网站,CentOS此服务器(NX3200 PowerVault)不支持IS,并且我无法下载任何Linux程序来监视硬盘。

[root@server ~]# lspci | grep RAID
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2208 [Thunderbolt] (rev 05)


[root@server ~]# smartctl -a /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

Vendor:               DELL
Product:              PERC H710
Revision:             3.13
User Capacity:        299,439,751,168 bytes [299 GB]
Logical block size:   512 bytes
Logical Unit id:      ....
Serial number:        ....
Device type:          disk
Local Time is:        Tue Apr 15 16:38:30 2014 SGT
Device does not support SMART

Error Counter logging not supported
Device does not support Self Test logging

有谁知道如何在使用CentOS 6的Dell PERC H710上监视硬件突击背后的硬盘状态?

Answers:


26

SMART不是在磁盘或存储监控一锤定音!它是一个组件,但是现代RAID控制器将其与其他方法一起使用来确定驱动器和阵列的运行状况。

我假设这是Dell PowerEdge服务器中的PERC控制器。

用于对Dell硬件进行健康状况监视的常规Linux友好方法是通过Yum安装适用于Linux的Dell OMSA代理-http: //linux.dell.com/wiki/index.php/Repository/OMSA#Yum_setup

yum install srvadmin-all将安装全套代理。安装后,您可以使用omreport命令获取有关阵列的信息

例子:

$ omreport storage vdisk

$ omreport storage pdisk controller=0

$ omreport storage vdisk controller=0 vdisk=1

7
这将在我的Linux机器上安装其他组件,例如Web服务器/ ssl,但看来我别无选择!我讨厌在服务器中添加不必要的软件包。
仙林2014年

2
当心那些OMSA程序之一的潜在内存泄漏。它在3-4周的时间内缓慢地发生在我身上,然后蓬勃发展,Linux根本没有更多的内存了。
bksunday 2015年

1
是的,泄漏存在于dsm_sa_snmpd中(因此我运行“ killall -9 dsm_sa_snmpd”,已解决)。
markusN

5
PERC 7xx和8xx控制器只是LSI Megaraid控制器,如果您不希望使用Dell库以及它们最近要丢弃的任何其他服务和/或内核模块来污染系统,则LSI MegaCLI工具可以很好地工作。大量的MegaCLI备忘单,nagios监视脚本和针对LSI二进制文件的性能调整技巧。当然,那只是我个人的偏爱和看法。我是极简主义者。
亚伦

@Xianlin,这并非完全正确。是的,它将安装大量垃圾,但请参见我的答案。我不想添加不必要的软件包,所以只想出了我需要存储的软件包。
Mike S

25

您可以使用smartctl命令及其-d参数来查看磁盘的SMART状态。例如,要查看阵列中的第一个磁盘:

# smartctl -a /dev/sda -d sat+megaraid,00
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-358.6.2.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     ST91000640NS
Serial Number:    ........
LU WWN Device Id: . ...... .........
Firmware Version: AA08
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P     showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Thu Jul 10 11:21:52 2014 WEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
...
...
#

这是在带有smartmontools-5.43-1.el6.x86_64的Scientific Linux 6(另一个基于RHEL6的操作系统)上。


-d megaraid,0smartctl 6.6在命令行中就足够了。在需要的DEVICESCAN字符串中/etc/smartd.conf-d removable
Stuart Cardall

9

公认的答案推荐的是胆大妄为yum install srvadmin-all。布莱克 这是使blecch-y少一点的方法(但是仍然是blecch-y;您可以在HP的平台上变得更加精简。但是我离题了...)我的意思是,仅安装那些在计算机上管理存储所必需的组件。

顺便说一句,对用户问题的直接答案在于下面列表中的“在vdisk 0上显示物理磁盘”项。

wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi > bootstrap.cgi
bash bootstrap.cgi
yum install srvadmin-base
yum install srvadmin-storageservices

添加到根目录的.bashrc:

export PATH=$PATH:/opt/dell/srvadmin/bin

请享用:

RAID命令

  • 显示控制器0上的所有物理磁盘

    $ omreport storage pdisk controller=0
    
  • 显示控制器0上的所有逻辑磁盘

    $ omreport storage vdisk controller=0
    
  • 显示虚拟磁盘上的所有物理磁盘0

    $ omreport storage pdisk controller=0 vdisk=0
    
  • 将虚拟磁盘重新配置为raid0的raid1(COOL !!!!

    $ sudo omconfig storage vdisk action=reconfigure controller=0 vdisk=1 raid=r1 pdisk=0:0:2,0:0:3
    
  • 在新磁盘上创建虚拟磁盘:

    $ sudo omconfig storage controller controller=0 action=clearforeignconfig
    $ sudo omconfig storage controller controller=0 action=createvdisk raid=r0 size=max pdisk=0:0:2
    

更多信息

顺便说一句,由于这只不过是Dell品牌的LSI MegaCLI卡,您可能会发现Han Solo的答案更好!不过,我还没有尝试过。

甜蜜

这是omreport输出的示例,通过grep传递以获取大量数据:

$ omreport storage pdisk controller=0 vdisk=0 | grep -v ": Not "
List of Physical Disks belonging to root

Controller PERC H700 Integrated (Embedded)
ID                              : 0:0:0
Status                          : Ok
Name                            : Physical Disk 0:0:0
State                           : Online
Power Status                    : Spun Up
Bus Protocol                    : SAS
Media                           : HDD
Failure Predicted               : No
Revision                        : HT64
T10 PI Capable                  : No
Certified                       : Yes
Encryption Capable              : No
Capacity                        : 136.13 GB (146163105792 bytes)
Used RAID Disk Space            : 136.13 GB (146163105792 bytes)
Available RAID Disk Space       : 0.00 GB (0 bytes)
Hot Spare                       : No
Vendor ID                       : DELL(tm)
Product ID                      : ST9146852SS
Serial No.                      : 6TB1AFDT
Part Number                     : CN0X162K7262213800JTA01
Negotiated Speed                : 6.00 Gbps
Capable Speed                   : 6.00 Gbps
Sector Size                     : 512B
Manufacture Day                 : 05
Manufacture Week                : 10
Manufacture Year                : 2011
SAS Address                     : 5000C500395E44C5

ID                              : 0:0:1
Status                          : Ok
Name                            : Physical Disk 0:0:1
State                           : Online
Power Status                    : Spun Up
Bus Protocol                    : SAS
Media                           : HDD
Failure Predicted               : No
Revision                        : HT64
T10 PI Capable                  : No
Certified                       : Yes
Encryption Capable              : No
Capacity                        : 136.13 GB (146163105792 bytes)
Used RAID Disk Space            : 136.13 GB (146163105792 bytes)
Available RAID Disk Space       : 0.00 GB (0 bytes)
Hot Spare                       : No
Vendor ID                       : DELL(tm)
Product ID                      : ST9146852SS
Serial No.                      : 6TB1AFEY
Part Number                     : CN0X162K7262213800FPA01
Negotiated Speed                : 6.00 Gbps
Capable Speed                   : 6.00 Gbps
Sector Size                     : 512B
Manufacture Day                 : 05
Manufacture Week                : 10
Manufacture Year                : 2011
SAS Address                     : 5000C500395E3C1D

@slm关于您的编辑-如果没有root用户,它真的可以工作吗?这些天我前面没有omreport / omconfig,但是我不确定任何用户都可以创建虚拟磁盘。命令行上的“ $”表示普通用户,而不是root用户。
Mike S

是的,前几天我刚用戴尔730处理所有cmd时就这样做了,除了那些“创建”的cmd 2不需要root,我会解决。
slm

6

我也在努力使其在CentOS中工作,我在这里找到了一个工作包http://mirror.ndchost.com/software/lsi/

称为“ MegaCli-8.07.10-1.noarch.rpm

命令参考http://hwraid.le-vert.net/wiki/LSIMegaRAIDSAS

希望对您有所帮助。


1
我完全同意,请使用/ opt / megacli / MegaCli64 -PDList -aALL | grep -i固件,它将告诉您物理磁盘是否正常。(命令来自erikimh.com/megacli-cheatsheet-如果我使用的是错误的命令,请查看它)。基本上,突袭检查在监视磁盘方面做得很好,因此只需跟踪它对磁盘运行状态的看法即可。
一些Linux Nerd

3
smartctl -d megaraid,00 -a /dev/sda
Got MegaRAID inquiry.. FUJITSU MBE2147RC       D906
Device: FUJITSU  MBE2147RC        Version: D906
Serial number: xxxx
Device type: disk
Transport protocol: SAS
Local Time is:

8
请考虑阅读我如何写一个好的答案?在我们的帮助中心中,然后修改答案。从技术上讲,您的Command可能是一种解决方案,其他解决方案中也已经提到过,较旧的答案也很欢迎,并提供了一些解释。提前致谢。
HBruijn 2015年

1
另一个答案使用“ sat + megaraid”,这对我不起作用。(是的,我不太了解smartctl命令,也不知道如何更改该命令才能使它工作。)这个答案使我走上了正确的道路,对我来说很有效。
吴永威

1

perccli如果您很好地询问,该命令还可以向您显示很多驱动器信息:

# /opt/MegaRAID/perccli/perccli64 /c0/e32/s0 show all
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.


Drive /c0/e32/s0 :
================

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
32:0      0 UGood -  278.875 GB SAS  HDD N   N  512B ST3300657SS      U
-------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down/PowerSave|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded


Drive /c0/e32/s0 - Detailed Information :
=======================================

Drive /c0/e32/s0 State :
======================
Shield Counter = 0
Media Error Count = 0
Other Error Count = 0
Drive Temperature =  40C (104.00 F)
Predictive Failure Count = 1
S.M.A.R.T alert flagged by drive = Yes

需要为每个机箱插槽重复执行此操作,或者至少我还没有找到一种方法可以通过单个perccli命令立即打印所有这些插槽。

与其他更全面的选项相比,它也易于安装:

# curl -C - -O 'https://downloads.dell.com/FOLDER04470715M/1/perccli_7.1-007.0127_linux.tar.gz'
# tar xzvf ../perccli_7.1-007.0127_linux.tar.gz
# cd Linux/
# yum localinstall perccli-007.0127.0000.0000-1.noarch.rpm
# cd /opt/MegaRAID/perccli/

perccli不是像Delll OMSA这样的全面监视套件,但是听起来很多人不想要全面的东西,而是需要一个体面,简单的工具。


-1

嗨,我有一个类似的Dell PERC / LSI卡,我需要检查RAID状态。LSI有一个名为sas2ircu的实用程序,我发现它非常有用,并且还有一个适用于Windows和Linux的版本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.