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/

时间: 2024-12-24 19:58:45

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

[NodeJS]exit code

NodeJs 如何返回exit Code code =1; process.emit("exit ") process.reallyExit(code);

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 命令重新注册 再次安装,成功装上.

C语言 Socket入门示例2——模拟远程CMD(客户端向服务器发送命令,服务端执行该命令)

只要把上一篇文章"C语言 Socket入门示例1"中的两段程序彻底搞懂,那么再看本文就没有任何难度了,因为仅仅是对上篇文章中服务端代码的简单修改扩充.但是简单修改过后,功能变得异常强大,犹如一个远程CMD.随着不断深入学习,功能将会变得越来越强大.欢迎大家评论指点. 1.服务端(Server): #include <stdio.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib")

DELL服务器r710配置RAID

DELL服务器r710配置RAID: 1.开机后等待DELL图标出现,连续按ctrl+r,进入RAID配置界面: 2.进入RAID配置界面,如果是下面的这个界面,选择Disk group 0这项需要按F2: 3.按完F2后会出现下面的信息,选择delete这行,删掉当前的磁盘组: 4.还原到没有配置RAID的时候: 5.选择上图中的Controller 0这个选项,按F2,出现下面的界面: 6.选择第一项,回车: 7.选择要配置的RAID级别,目前是三块盘,所以打开后只会显示0.1.5,这三个级

dell服务器linux系统安装

200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍企业的刀片机的linux操作系统的安装部署. 一.创建raid 以下这个界面的时候一直按F10,进入系统引导  进入服务器自带引导程序,默认选择简体中文,键盘类型默认即可  点击OS部署开始安装系统  这里可以选择首先配置RAID或直接转到OS部署   RAID配置开始(选择PERC H710 Mini(具有安全功能))  选择RAID5  点击(全选)  后面默认就可以

xcode上编译c语言程序报错:ld: x duplicate symbol for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

在网上查了一下: duplicate symbol的大概意思是,编译器认为你重复定义了一些东西. linker command failed with exit code 1,则可能是项目引入了多个相同的文件. 结合本人开发中发现此类的问题,解决办法如下: 方法1:查看有问题的文件是否有重复引用.或头文件是否加载了.m 方法2:将有问题的文件删除,重新加载进去.然后:clean->build. 在开发中解决RegexKitlLite的类似问题办法: _rkl_NSExceptionForRege