This post is more than 5 years old

2 Posts

6139

December 22nd, 2013 02:00

Perc 6/i with broken array

I've got a perc 6/i that had a 6 drive raid 5 array which was being expanded to 7 drives. Another application rebooted the system, and it hung at the raid bios (couldn't get into config, would stop after printing FW version). After trying any combination of things to get it to boot, ended up pulling the battery to flush the memory and now it's back online.

My array has now been left as foreign and cannot be imported from the bios or megaraid. In the logs I've got:

12/22/13 2:44:40: EVT#15326-12/22/13 2:44:40: 218=Foreign Configuration Detected
12/22/13 2:44:41: ForeignReadAfterImport requested for guidIndex 0xff.
12/22/13 2:44:42: ddfValidateForCfg: ldAfterImport 1, invalidLd 1
12/22/13 2:44:42: **** PinnedCacheDataStructures->pinned_cache_present 0
12/22/13 2:44:42: **** total_num_vds_pinned 0 number_pinned_vds_found_during_import 0 NUMBER OF DRIVES TO IMPORT 0
12/22/13 2:44:42: **** NUMBER OF PINNED EQUALS NUMBER OF DRIVES TO IMPORT OR NO PINNED CACHE !!!!
12/22/13 2:44:42: createMegaraidCfg: ***** attempting to import a normal VD with targetID 0 while have all vds with pinned cache or no pinned cache
12/22/13 2:44:42: createMegaraidCfg: ***** attempting to import a normal VD with targetID 255 while have all vds with pinned cache or no pinned cache
12/22/13 2:44:42: isForeignCfgComplete: Foreign - totAr: 0x2, totLd: 0x2, totSpare: 0x0
12/22/13 2:44:42: isForeignCfgComplete: MR_CFG - totAr: 0x2, totLd: 0x2, totSpare: 0x0
12/22/13 2:44:42: ForeignReadAfterImport requested for guidIndex 0xff.
12/22/13 2:44:42: ddfValidateForCfg: ldAfterImport 1, invalidLd 1
12/22/13 2:44:42: **** PinnedCacheDataStructures->pinned_cache_present 0
12/22/13 2:44:42: **** total_num_vds_pinned 0 number_pinned_vds_found_during_import 0 NUMBER OF DRIVES TO IMPORT 0
12/22/13 2:44:42: **** NUMBER OF PINNED EQUALS NUMBER OF DRIVES TO IMPORT OR NO PINNED CACHE !!!!
12/22/13 2:44:42: createMegaraidCfg: ***** attempting to import a normal VD with targetID 0 while have all vds with pinned cache or no pinned cache
12/22/13 2:44:42: createMegaraidCfg: ***** attempting to import a normal VD with targetID 255 while have all vds with pinned cache or no pinned cache
12/22/13 2:44:42: isForeignCfgComplete: Foreign - totAr: 0x2, totLd: 0x2, totSpare: 0x0
12/22/13 2:44:42: isForeignCfgComplete: MR_CFG - totAr: 0x2, totLd: 0x2, totSpare: 0x0
12/22/13 2:44:45: EVT#15327-12/22/13 2:44:45: 218=Foreign Configuration Detected
12/22/13 2:44:45: ForeignImport requested for guidIndex 0xff.
12/22/13 2:44:45: ddfValidateForCfg: ldAfterImport 1, invalidLd 2
12/22/13 2:44:45: **** PinnedCacheDataStructures->pinned_cache_present 0
12/22/13 2:44:45: ld 0 state 3
12/22/13 2:44:45: ld 0 targetId ff LdMapTargetIdToLd 0
12/22/13 2:44:45: ld 1 targetId ff LdMapTargetIdToLd 0
12/22/13 2:44:45: **** total_num_vds_pinned 0 number_pinned_vds_found_during_import 0 NUMBER OF DRIVES TO IMPORT 0
12/22/13 2:44:45: **** NUMBER OF PINNED EQUALS NUMBER OF DRIVES TO IMPORT OR NO PINNED CACHE !!!!
12/22/13 2:44:45: createMegaraidCfg: ***** attempting to import a normal VD with targetID 255 while have all vds with pinned cache or no pinned cache
12/22/13 2:44:45: createMegaraidCfg: ***** attempting to import a normal VD with targetID 255 while have all vds with pinned cache or no pinned cache
12/22/13 2:44:45: isForeignCfgComplete: Foreign - totAr: 0x1, totLd: 0x2, totSpare: 0x0
12/22/13 2:44:46: isForeignCfgComplete: MR_CFG - totAr: 0x0, totLd: 0x0, totSpare: 0x0
12/22/13 2:44:46: ForeignImport: Nothing to import
12/22/13 2:44:46: EVT#15328-12/22/13 2:44:46: 396=Foreign configuration auto-import did not import any drives
12/22/13 2:44:51: EVT#15329-12/22/13 2:44:51: 113=Unexpected sense: PD 01(e0xff/s1) Path 1221000001000000, CDB: 12 00 00 00 7f 00, Sense: 5/24/00
12/22/13 2:44:51: Raw Sense for PD 1: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00
12/22/13 2:44:51: DEV_REC:IllegalReq- CDB: 12 0 0 0 7f 0 0 0 34 0
12/22/13 2:44:51: ILLEGAL REQ: pRdm(a06b2400) Cmd=3, Sns=a06b2440 DevId[1] Tgt 1
12/22/13 2:44:51: info: 0, aslen= a, cmdSpecific[3]= 0 [2]= 0 [1]= 0 [0]= 0
12/22/13 2:44:51: asc=24, Ascq 0, Sks: 0, fp[0]= 0, fp[1]= 0

Anyone able to help here? Do I have any hope of recovery? I've been reading about "retagging" but am wary of trying since it was in the middle of expanding. Not sure if telling it to do a 7 drive array would be smart?

12 Elder

 • 

6.2K Posts

December 22nd, 2013 09:00

Hello gtnathan

I don't think you will be able to recover the data without contacting a data recovery company. There are two problems that will make normal recovery difficult or impossible. The first is that it was in the middle of rebuilding the array. If a rebuild is interrupted then it must be restarted from the beginning. If the controller loses track of where it was at because of interruption then it has no reference to start from. This is fine under normal circumstances because the array will just go back to a degraded state and you can start the rebuild over, but in the case of a reconfigure the entire array was being rewritten. The second problem is that the you had to clear the cache in order to boot, so if you are able to get the array back it will be corrupt.

I only see two options. If the data is important then contact a data recovery company. Any attempt to recover the array may further corrupt it, and could make some data irrecoverable or cost a lot more to recover. If you want to proceed with attempting recovery then a retag is your only option. The import will not work because the cache was lost. The drives are out of sync. This almost surely indicates data corruption. If you view the foreign configuration you should be able to see the array details like the stripe size. Take screenshots or notes of the array details and then clear the foreign configuration. This will wipe the headers from the drives. Recreate the 7 drive RAID 5 with the same stripe segment size, and be sure to NOT initialize the array. Then try to boot up and access the data. If the data is present then I would suggest backing it up ASAP. Do not overwrite your previous backup as this data may not be complete.

If you are able to recover the array then I would highly recommend that you not continue to use it in the current condition. You should backup everything, delete the array, create an unlike array(like a 7 drive RAID 0), initialize the array, delete again, create your desired array, and then reinstall/restore. If you just delete and recreate the same array again then you would just be retagging. You could still retain corrupt array information if you do that.

Thanks

12 Elder

 • 

6.2K Posts

December 22nd, 2013 10:00

There is no guide to recover from a failed reconfigure, so I'm just giving you educated guesses based on how I understand the technology works. I just thought of something that may help your chances.

After you create the 7 drive array offline the new drive that you added. Do this before you exit the controller BIOS.

That may increase your chances of recovery.

2 Posts

December 23rd, 2013 13:00

Thanks for the quick + useful reply Daniel. Since retagging could possibly be destructive I've decided to try out some read-only recovery utilities first. I'm using http://www.freeraidrecovery.com/library/raid5-recovery.aspx and it seem to be finding all my data successfully.

0 events found

No Events found!

Top