HP has replaced command tool hpacucli with hpssacli for later versions of HP Raid Controllers. This is really stupid done by HP. The genius changing a command name should be punished by whip.
In order to get my existing scripts to work, I have created a soft link from hpacucli → hpssacli in /usr/sbin.
# hpacucli ctrl all show config # hpacucli ctrl slot=0 ld all show status
# hpacucli ctrl all show config detail
# hpacucli ctrl all diag file=/tmp/test /tmp/test is output file for result
Remove spare drive from Array I
# hpacucli ctrl slot=1 array I remove spares=4E:1:17
Add two global hot spares
# hpacucli ctrl slot=1 array all add spares=2E:1:18,4E:1:17
Drive0: # smartctl -a -d cciss,0 /dev/cciss/c0d0 Drive1: # smartctl -a -d cciss,1 /dev/cciss/c0d0
The HPSA driver was introduced with RHEL6 to the RHEL family.
Drive0: # smartctl -a -d cciss,0 /dev/sg0 Drive1: # smartctl -a -d cciss,1 /dev/sg0
Ref: man smartctl
# lsscsi --long [3:0:0:0] storage HP P410i 5.14 - state=running queue_depth=1020 scsi_level=6 type=12 device_blocked=0 timeout=0 [3:0:0:1] disk HP LOGICAL VOLUME 5.14 /dev/sda state=running queue_depth=1020 scsi_level=6 type=0 device_blocked=0 timeout=30 Alternatively # dmesg | grep "^scsi " scsi 3:0:0:0: RAID HP P410i 5.14 PQ: 0 ANSI: 5 scsi 3:0:0:1: Direct-Access HP LOGICAL VOLUME 5.14 PQ: 0 ANSI: 5
Requires installation of sg3_utils RPM.
# sg_map /dev/sg0 /dev/sg1 /dev/sda /dev/sg2 /dev/sdb /dev/sg3 /dev/sdc /dev/sg4 /dev/sdd /dev/sg5 /dev/sde /dev/sg6 /dev/sdf /dev/sg7 /dev/sdg /dev/sg8 /dev/sdh /dev/sg9 /dev/sdi
Reference: man sg_map
Alternatively:
# lsscsi -g [3:0:0:0] storage HP P410i 5.14 - /dev/sg0 [3:0:0:1] disk HP LOGICAL VOLUME 5.14 /dev/sda /dev/sg1
LSI raid controller
First list the Logical Drives (LD's)
# /opt/MegaRAID/MegaCli/MegaCli64 -ldinfo -Lall -aall Adapter 0 -- Virtual Drive Information: Virtual Drive: 0 (Target Id: 0) <<---- Target Id is 0 for VD 0 Name : RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0 Size : 837.258 GB Mirror Data : 837.258 GB State : Optimal Strip Size : 128 KB Number Of Drives : 2 Span Depth : 1 Default Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU Default Access Policy: Read/Write Current Access Policy: Read/Write Disk Cache Policy : Disabled Encryption Type : None PI type: Proprietary type Virtual Drive: 1 (Target Id: 1) <<---- Target Id is 1 for VD 1 Name : RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0 Size : 1.634 TB Mirror Data : 1.634 TB State : Optimal Strip Size : 128 KB Number Of Drives per span:2 Span Depth : 2 Default Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU Default Access Policy: Read/Write Current Access Policy: Read/Write Disk Cache Policy : Disabled Encryption Type : None PI type: No PI
So the target ID is 0 for VD 0 and the Target ID is 1 for VD 1
Find target ID to Disk Device translation
#lsscsi [0:0:19:0] enclosu IBM-ESXS SAS EXP BP 6126 - [0:0:36:0] enclosu IBM-ESXS SAS EXP BP 6126 - [0:2:0:0] disk IBM ServeRAID M5110 3.19 /dev/sda [0:2:1:0] disk IBM ServeRAID M5110 3.19 /dev/sdb [0:2:2:0] disk IBM ServeRAID M5110 3.19 /dev/sdc [0:2:3:0] disk IBM ServeRAID M5110 3.19 /dev/sdd [0:2:4:0] disk IBM ServeRAID M5110 3.19 /dev/sde [0:2:5:0] disk IBM ServeRAID M5110 3.19 /dev/sdf [1:0:0:0] cd/dvd IBM SATA DEVICE 81Y3664 IBA1 /dev/sr0
So Target ID 0 = 0:2:0:0 (the target ID is the digit after 2:) equals sda So Target ID 1 = 0:2:1:0 (the target ID is the digit after 2:) equals sdb
lsscsi command can be found in lsscsi.x86_64 package
# /opt/MegaRAID/MegaCli/MegaCli64 -ldinfo -Lall -aall
# /opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aALL
# /opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -aALL
First get the Disk Id from Physical disk list
# /opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aALL Enclosure Device ID: 36 Slot Number: 15 Drive's postion: DiskGroup: 3, Span: 0, Arm: 7 Enclosure position: 1 Device Id: 27 <-------- This is the Device Id WWN: 5000C50042600CC8 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 PD Type: SAS Raw Size: 931.512 GB [0x74706db0 Sectors] Non Coerced Size: 931.012 GB [0x74606db0 Sectors] Coerced Size: 930.390 GB [0x744c8000 Sectors] Firmware state: Online, Spun Up Commissioned Spare : No Emergency Spare : No Device Firmware Level: BD29 Shield Counter: 0 Successful diagnostics completion on : N/A SAS Address(0): 0x5000c50042600cc9 SAS Address(1): 0x0 Connected Port Number: 1(path0) Inquiry Data: IBM-ESXSST91000640SS BD299XG2NNN80221BD29 IBM FRU/CRU: 81Y9691 FDE Capable: Not Capable FDE Enable: Disable Secured: Unsecured Locked: Unlocked Needs EKM Attention: No Foreign State: None Device Speed: 6.0Gb/s Link Speed: 6.0Gb/s Media Type: Hard Disk Device Drive Temperature :24C (75.20 F) PI Eligibility: Yes Number of bytes of user data in LBA: 512 Drive is formatted for PI information: Yes PI: PI with type 2 Port-0 : Port status: Active Port's Linkspeed: 6.0Gb/s Port-1 : Port status: Active Port's Linkspeed: 6.0Gb/s Drive has flagged a S.M.A.R.T alert : No
Now run smartctl
# smartctl -a -d megaraid,<Device Id> /dev/sda
Eventhough disk with Disk Id 27 is not present in device /dev/sda it will show the correct disk information
# smartctl -a -d megaraid,27 /dev/sda smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-279.14.1.el6.x86_64] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net Vendor: IBM-ESXS Product: ST91000640SS Revision: BD29 User Capacity: 1,000,204,886,016 bytes [1.00 TB] Logical block size: 512 bytes Logical Unit id: 0x5000c50042600ccb Serial number: 9XG2NNN800009301VW77 Device type: disk Transport protocol: SAS Local Time is: Fri Jan 25 15:26:14 2013 CET Device supports SMART and is Enabled Temperature Warning Enabled SMART Health Status: OK Current Drive Temperature: 24 C Drive Trip Temperature: 65 C Elements in grown defect list: 0 Vendor (Seagate) cache information Blocks sent to initiator = 0 Vendor (Seagate/Hitachi) factory information number of hours powered up = 1638.90 number of minutes until next internal SMART test = 17
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: 373041640 0 0 373041640 0 3163.907 0 write: 0 0 0 0 0 737.264 0 verify: 2767709692 0 0 2767709692 0 4610.773 0 Non-medium error count: 1 No self-tests have been logged Long (extended) Self Test duration: 13596 seconds [226.6 minutes]
# /opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll
# /opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aAll