Dell服务器MegaCli命令只返回Exit Code: 0x00问题分析

今天同事给我说一台dell的服务器做了raid后,使用MegaCli看不到raid信息,上去看了一下确实不返回任何raid信息,但是确实机器上做了raid。

这就奇怪了,然后把MegaCli升级到最新版,还是同样的结果

公司用的基本上都是dell系列的服务器,之前机器的raid信息都是MegaCli获取的,这几情况就有点怪异了。因为之前遇到过raid卡版本导致的其他问题,所以这次也怀疑是不是raid卡版本导致的问题,所以打算看看系统raid卡的版本信息

没有找到raid信息,不过看了一下SCSI控制器的信息,根据SAS1068E上网一查,得出SAS1068E的raid卡是SAS 6i/R。

为啥SAS 6i/R的raid信息用MegaCli64命令就获取不到呢,SAS 6/iR 只支持2块硬盘做raid0或者raid1。现在返回去看看MegaCli64工具,MegaCli64工具虽然非常好用,功能也很多,不仅能查看RAID卡信息,而且还能设置RAID卡,但是它却不支持SAS 6/iR的RAID卡,Dell好多1U型号的服务器默认的RAID控制器都是SAS 6i/R ,而对于这款控制器MegaCli64是不能使用的。那为什么MegaCli64不支持SAS 6i/R呢,因为megacli是为PERC控制器设计的(它使用的是大家熟悉的megaraid驱动),但是SAS 6i/R控制器针对的是mpt*类型的驱动,所以MegaCli64取不出raid信息。不过想在命令行模式下想管理SAS 6i/R,可以使用Lsiutil这个工具。

下载lsiutil工具

链接:

ftp://ftp.ntplx.net/pub/LSI/LSIUtil_1.62.zip

解压后看到支持的系统还是蛮多的啊

我是linux 64位的系统,在linux目录下直接拷贝lsiutil.x86_64到目标机器上,修改为可执行权限。下面我们来看看lsiutil.x86_64怎么用,lsiutil.x86_64有两种模式,一种是交互式的,一种是命令行模式:

lsiutil.x86_64 交互式

lsiutil.x86_64 命令行式

可以看到lsiutil.x86_64也是可以查看raid信息的。帮助文档如下:

http://www.thomas-krenn.com/de/wikiDE/images/4/44/Lsi_userguide_2006_20130528.pdf

如果你是debian/ubuntu系统,则可以下载相应的deb包

wget ‘http://hwraid.le-vert.net/debian/pool-wheezy/lsiutil_1.60-1_amd64.deb‘
dpkg -i lsiutil_1.60-1_amd64.deb

关于次问题的官方解释如下:

http://lists.us.dell.com/pipermail/linux-poweredge/2009-March/038758.html

下面附上MegaCli64的返回状态码信息

MegaCLI Error Messages

0x00 Command completed successfully
0x01 Invalid command
0x02 DCMD opcode is invalid
0x03 Input parameters are invalid
0x04 Invalid sequence number
0x05 Abort isn‘t possible for the requested command
0x06 Application ‘host‘ code not found
0x07 Application already in use - try later
0x08 Application not initialized
0x09 Given array index is invalid
0x0a Unable to add missing drive to array, as row has no empty slots
0x0b Some of the CFG resources conflict with each other or the current config
0x0c Invalid device ID / select-timeout
0x0d Drive is too small for requested operation
0x0e Flash memory allocation failed
0x0f Flash download already in progress
0x10 Flash operation failed
0x11 Flash image was bad
0x12 Downloaded flash image is incomplete
0x13 Flash OPEN was not done
0x14 Flash sequence is not active
0x15 Flush command failed
0x16 Specified application doesn‘t have host-resident code
0x17 LD operation not possibe - CC is in progress
0x18 LD initialization in progress
0x19 LBA is out of range
0x1a Maximum LDs are already configured
0x1b LD is not OPTIMAL
0x1c LD Rebuild is in progress
0x1d LD is undergoing reconstruction
0x1e LD RAID level is wrong for requested operation
0x1f Too many spares assigned
0x20 Scratch memory not available - try command again later
0x21 Error writing MFC data to SEEPROM
0x22 Required HW is missing (i.e. Alarm or BBU)
0x23 Item not found
0x24 LD drives are not within an enclosure
0x25 PD CLEAR operation is in progress
0x26 Unable to use SATA(SAS) drive to replace SAS(SATA)
0x27 Patrol Read is disabled
0x28 Given row index is invalid
0x2d SCSI command done, but non-GOOD status was received - see mf.hdr.extStatus for SCSI_STATUS
0x2e IO request for MFI_CMD_OP_PD_SCSI failed - see extStatus for DM error
0x2f Matches SCSI RESERVATION_CONFLICT
0x30 One or more of the flush operations failed
0x31 FW real-time currently not set
0x32 Command issues while FW in wrong state (i.e. GET RECON when op not active)
0x33 LD is not OFFLINE - IO not possible
0x34 Peer controller rejected request (possibly due to resource conflict)
0x35 Unable to inform peer of communication changes (retry might be appropriate)
0x36 LD reservation already in progress
0x37 I2C errors were detected
0x38 PCI errors occurred during XOR/DMA operation
0x39 Diagnostics failed - see event log for details
0x3a Unable to process command as boot messages are pending
0x3b Returned in case if foreign configurations are imcomplete
0x3d Returned in case if a command is tried on unsupported hardware
0x3e CC scheduling is disabled
0x3f PD CopyBack operation is in progress
0x40 Selected more than one PD per array
0x41 Microcode update operation failed
0x42 Unable to process command as drive security feature is not enabled
0x43 Controller already has a lock key
0x44 Lock key cannot be backed-up
0x45 Lock key backup cannot be verified
0x46 Lock key from backup failed verification
0x47 Rekey operation not allowed, unless controller already has a lock key
0x48 Lock key is not valid, cannot authenticate
0x49 Lock key from escrow cannot be used
0x4a Lock key backup (pass-phrase) is required
0x4b Secure LD exist
0x4c LD secure operation is not allowed
0x4d Reprovisioning is not allowed
0x4e Drive security type (FDE or non-FDE) is not appropriate for requested operation
0x4f LD encryption type is not supported
0x50 Cannot mix FDE and non-FDE drives in same array
0x51 Cannot mix secure and unsecured LD in same array
0x52 Secret key not allowed
0x53 Physical device errors were detected
0x54 Controller has LD cache pinned
0x55 Requested operation is already in progress
0x56 Another power state set operation is in progress
0x57 Power state of device is not correct
0x58 No PD is available for patrol read
0x59 Controller resert is required
0x5a No EKM boot agent detected
0x5b No space on the snapshot repositiry VD
0x5c For consistency SET PiTs, some PiT creations might fail and some succeed
0xFF Invalid status - used for polling command completion

http://www.codeweblog.com/dell%E6%9C%8D%E5%8A%A1%E5%99%A8megacli%E5%91%BD%E4%BB%A4%E5%8F%AA%E8%BF%94%E5%9B%9Eexit-code-0x00%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90/

时间: 10-14

Dell服务器MegaCli命令只返回Exit Code: 0x00问题分析的相关文章

redis 从0 到 1 键值相关命令 服务器相关命令

keys * 获取所有的key   忽略其数据类型 数据为空   返回(empty list or set) keys a* .*b 获取以a开头 或者 以b结尾的key 返回(empty list or set) exists key 判断key是否存在   存在返回1  不存在返回0 del key 删除key   返回 受影响key的个数 expire key seconds  设置key的过期时间 单位为秒 persist  key   消除key的过期时间设置 move key db

SVN服务器钩子脚本无法正常执行(exit code 255)

post-commit hook failed (exit code 255) with no output. 呵呵呵,网上的所有解决方案都是:权限,权限,权限.权限你妹啊!! 解决方案: 在linux命令行下 用vi打开 然后执行 :set ff=unix 然后执行 :wq 问题解决.

[Redis]Redis的五种数据类型与键值/服务器相关命令

-------------------------------------------------------------------------------------- String(字符串):最简单的数据类型. set age 18 ( set age 18 ex 5 ) # 设置过期时间5秒 setex age 5 18   # 效果同上, 使用 ttl age 可以查看剩余有效时间 psetex age 5000 18  # 同上,只是以毫秒为单位设置key的过期时间 ( set ag

无法注册DLL/OCX:regsvr32 failed with exit code 0x5

最近在服务器上装一个等值线控件,确报错: RegSvr32 failed with exit code 0x5   解决方法: 在cmd下 运行for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 命令重新注册 再次安装,成功装上.

Redis教程(十二):服务器管理命令总结

转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/140.html 一.概述: Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效.即便是将当前的持久化模式从AOF切换到RDB也无需重启.    在Redis中,提供了一组和服务器管理相关的 ,其中就包含和参数设置有关的CONFIG SET/GET command. 二.相关命令列表: 命令原型 时间复杂度

从用python做zoj1011发生Non-zero Exit Code错误说起

最近做了浙大oj的第1011道题,遇见一件奇怪的事.这道题我用c++和php做,提交后都正确.但是用完全相同的逻辑改写成python代码提交后却产生了Non-zero Exit Code的判题结果.python的这一判题结果大多表示程序在运行过程发生了未捕捉的异常.经反复提交排查后确定未捕捉的异常是IndexError,也就是数组下标越界异常.进一步排查后确定应该是因为在测试用例的树结点中有超过第一行所给的参数k的范围的字母存在.解决方法是在使用结点作为的下标之前先判断该下标是否越界,若越界,则

集群服务器状态命令------rs.status()各个字段的含义

可根据rs.status() 查询集群服务器状态.字段解释: self 这个信息出现在执行rs.status()函数的成员信息中 stateStr用户描述服务器状态的字符串.有SECONDARY,PRIMARY,RECOVERING等 uptime 从成员可到达一直到现在经历的时间,单位是秒. optimeDate 每个成员oplog最后一次操作发生的时间,这个时间是心跳报上来的,因此可能会存在延迟 lastHeartbeat 当前服务器最后一次收到其他成员心跳的时间,如果网络故障等可能这个时间

Fedora19安装smplayer后遇到"Mplayer has finished unexpectedly. Exit code 127"的错误

最近在使用fedora系统时,由于需要用到播放器,本来可以使用其自带的播放器,但是后来想找个更好的,于是上网浏览了一番,发现有一个叫做 "smplayer" 的播放器,由于看到整个linux社区对它的评价都不错,所以想把它安装到我的 Fedora19系统上面. 由于Fedora系统默认安装完后缺少该软件的相关源,所以即使使用 普通的 "yum install smplayer" 也不能安装.因此我们需要县安装必要的源. 一. 安装 Fedora 源地址(由于我是直接

使用SVN clang: error: linker command failed with exit code 1 (use -v to see invocation)

再把项目上传到SVN仓库上,然后再拉到本地编译时出现如下错误 ld: library not found for -lxxxxxxxxxxxx clang: error: linker command failed with exit code 1 (use -v to see invocation) 原因: SVN在上传资源服务器时默认配置会把一些第三方的.a库文件等给忽略了,然后就造成这样的错误. 解决办法: 配置global-ignores文件 因为我用的是Cornerstone图像工具,