September 19, 201411 yr While I was out of town I had a disk go to disabled and then another one go missing. The one that went missing I believe has had a total failure as I can no longer recognize it in my other computer, however the disabled one is still readable and I am not quite sure why it has disabled it. Below is the smart status report. I am not expecting good news of this and I feel ill that I have lost all the data that I have, but I welcome any advice anyone can give me to possibly recover all/most of my data... :'( I have tried different sata ports/cables and power cables, no go. === START OF INFORMATION SECTION === Device Model: WDC WD20EARS-42S0XB0 Serial Number: WD-WMC1H0071504 Firmware Version: 12.01D04 User Capacity: 2,000,398,934,016 bytes Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 8 ATA Standard is: Exact ATA specification draft version not indicated Local Time is: Thu Sep 18 19:48:56 2014 MDT 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 General SMART Values: Offline data collection status: (0x82) Offline data collection activity was completed without error. Auto Offline Data Collection: Enabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: (38100) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 255) minutes. Conveyance self-test routine recommended polling time: ( 5) minutes. SCT capabilities: (0xb035) SCT Status supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0027 246 222 021 Pre-fail Always - 6675 4 Start_Stop_Count 0x0032 076 076 000 Old_age Always - 24919 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0 9 Power_On_Hours 0x0032 080 080 000 Old_age Always - 15088 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 836 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 734 193 Load_Cycle_Count 0x0032 121 121 000 Old_age Always - 237860 194 Temperature_Celsius 0x0022 122 093 000 Old_age Always - 28 195 Hardware_ECC_Recovered 0x0036 200 200 000 Old_age Always - 0 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0 SMART Error Log Version: 1 No Errors Logged SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 15088 - SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.
September 19, 201411 yr You are a bit unlucky to have two disks act up at the same time. It sounds as if one disk has really failed if it cannot even be recognised in another machine. The best way to get data of such a drive would be to use a specialist recovery service and they are typically not cheap, and if the data is really important this is your last resort. However there may be a chance to use unRAID itself as identified below. unRAID will red-ball a disk if a write to it fails for any reason. It will not remove the red-ball until an appropriate recovery action has been taken. However since the SMART report looks fine it is possible this is was caused by a temporary glitch (or was a side-effect of whatever cause one disk to really fail) and the disk is actually fine. In that case it is definitely possible to get the data back from this disk. I think that there is a chance to recover the vast majority of your data even on the failed disk using the following process. Note that you will need a replacement disk to replace the failed disk to carry out this process. I would also wait until you get feedback from other forum members to see if they also think the process I have given is really viable and I have got all the steps specified correctly! Make sure you know exactly which disks are assigned to each slot. In particular make sure you know which are the parity disk and the failed one. A screen shot of the 'main' tab that gives serial numbers is a good idea at this point It would be a good idea to make a backup of the current contents of your flash drive, This would allow you to revert to your current setup if needed. Stop the array and power off the system. Put in the replacement disk into the unRAID system. Make sure you know its serial number Power on the unRAID system. Ideally do this in Safe mode to stop any plugins running if you have any installed) as you do not want anything attempting to write to the array during the recovery process. You should find that the array fails to start as there will be one disk red-balled and another marked as missing. Go to the Tools tab and select the 'new config' option. After doing this on returning to the Main tab you will find all current disk assignments have been removed. Assign the disks to their appropriate slots. The replacement disk will be assigned in place of the failed one at this stage tick the box that says you trust parity. This step is important as we want to fool unRAID into thinking that the system should be intact and we do NOT want the parity to be changed at this point Start the array. Ideally all disks except the problem ones will appear to be fine. The problem disk (and possibly the red-balled one) will show up as unformatted. Do NOT select the option to format them or all data on them will be lost. Stop the array, and set the assignment for the replacement (i.e. failed) disk to unassigned and start the array. This will show that there is a missing disk and the array is currently unprotected. This is how you simulate a disk failing. These last two steps are intended to get the system into a state where it thinks a disk needs rebuilding Stop the array and re-assign the replacement disk. unRAID will now tell you that the disk will be rebuilt when the array is started. Start the array and let the rebuild proceed. When the rebuild has finished the rebuilt disk may show as OK (the perfect solution) or still show as unformatted (the likely case) Stop the array, and then tick the Maintenance mode option and start the array From a telnet/console session run a command of the form reiserfsck --check /dev/md? where ? corresponds to the disk that is being checked. You will want to do this on both the rebuilt disk and the one that was previously red-balled. You can run these reiserfsck sessions in parallel in separate console/telnet sessions. If using telnet you must not close the telnet session while the check is running. Check back here giving the results of the reiserfsck runs if they recommend any further recovery action. The advice will probably be to proceed with the recommended actions, but you do want to make sure as once you start writing to your problem disks choosing the wrong action could mean all data on them was lost First carry out the recommended action for the replacement. If things go well most of the files on the disk will be recovered. This is the step that I am least sure. I am hoping that the rebuilt onto the replacement disk wrote enough information to allow reiserfsck to recover the file system intact (or close to intact). If not then it will probably be possible to tell reiserfsck to look for files that can be recovered. Carry out any recommended recovery action (if any) on the previously red-balled disk. It is possible that no action will be required here if the previous reiserfsck run indicated no problems. I would expect this to complete without issues as long as the drive is OK I must admit I have not tested the above approach, but I think it might work. You may lose the last few files written to the array but if you were away from home maybe nothing much was happening? Also if you are not clear on any of the steps make sure you ask here before proceeding.
September 20, 201411 yr Author ok, think I screwed it up somehow. all dots came up green, so I said to format my replacement disk then started to check parity (it didn't ask to rebuild). I saw a lot of writes to parity right away and I expected the writes to be to the newly formatted disk. I panicked and stopped the check. I redid the process again, this time I left the failed disk placement out on first start. this made no difference except when I assigned the failed disk again, it needed to be cleared again. So, that should be done in a day or two! Am I still on the right track, is checking parity the right thing? It seems to me like I need the failed a different disk in place of the failed one to assign to it first, then I can remove it and put the replacement one in, which should force parity to want to rebuild? I hope I didn't really screw it up by starting the parity check/fix!
September 20, 201411 yr I am not sure where you deviated from the instructions that were given. Note that they said you must NOT format the replacement disk., and there were no instructions to check parity as it was important to keep parity unchanged during the process to maximise chances of data recovery. If you formatted the replacement disk and then started a parity check you have almost certainly lost at least some of the data that was on the failed disk. After doing the initial disk assignments and starting the array (where all disks would have shown as green and the replacement as unformatted), did you then go through the steps required to force that disk to be treated as missing and needing a rebuild? Depending on where the deviation happened, and how quickly you stopped the parity check, it might still be possible to recover some of the data but the steps will be slightly different. It might be worth including a screen shot of the current state of the array with an indication of which is the replacement drive.
September 20, 201411 yr Author I figured I screwed it up, it had a 3.5 day parity rebuild time and I let it go for about 2 min, so hopefully it can still recover. Because the actual failed drive does not show up at all, after clearing the array configuration, it doesn't care whether I do not assign, then assign the replacement drive, it just sees the array as Ok when I put it back. I redid the instructions except this time I assigned another drive I have to the spot of the failed drive, started the array in maintenance mode, stopped it and then replaced that drive with the actual replacement drive. It then asked if I wanted to rebuild. Basically I needed a foreign sn set to that position that gets replaced before I could get the option to rebuild. When it is all done rebuilding, should I check the drive at all or just do a parity check? Thanks for all your help!!
September 20, 201411 yr I figured I screwed it up, it had a 3.5 day parity rebuild time and I let it go for about 2 min, so hopefully it can still recover. Because the actual failed drive does not show up at all, after clearing the array configuration, it doesn't care whether I do not assign, then assign the replacement drive, it just sees the array as Ok when I put it back. I redid the instructions except this time I assigned another drive I have to the spot of the failed drive, started the array in maintenance mode, stopped it and then replaced that drive with the actual replacement drive. It then asked if I wanted to rebuild. Basically I needed a foreign sn set to that position that gets replaced before I could get the option to rebuild. When it is all done rebuilding, should I check the drive at all or just do a parity check? Thanks for all your help!! You need to try and recover some data from the rebuilt disk. he way to do this is: When the rebuild has finished, stop the array and then restart it in maintenance mode Run the command reiserfsck --rebuild-tree --scan-whole-partition /dev/md? where ? corresponds to the rebuilt disk from which you are trying to recover data. This command will run for a long time as it has to read every sector on the disk to try and find data and then build it into a file system based on what it finds. If you are lucky the majority of the data may reappear. It will depend on how much control information was destroyed bt the parity sync you started. You are also likely to find quite a few entries in the lost+found folder on the disk with cryptic names. This can be because the directory information was destroyed when you started the parity sync, or because a file has been earlier deleted but refound while scanning the disk. Whether you will be able to sort out such file by inspection is a bit of a hit-and-miss. You have to decide how important the data is to decide on what effort you want to put into resolving these file of unknown type.
September 20, 201411 yr I case anyone refers to this in the future, the error occurred during this section: [*]Start the array. Ideally all disks except the problem ones will appear to be fine. The problem disk (and possibly the red-balled one) will show up as unformatted. Do NOT select the option to format them or all data on them will be lost. [*]Stop the array, and set the assignment for the replacement (i.e. failed) disk to unassigned and start the array. This will show that there is a missing disk and the array is currently unprotected. This is how you simulate a disk failing. These last two steps are intended to get the system into a state where it thinks a disk needs rebuilding [*]Stop the array and re-assign the replacement disk. unRAID will now tell you that the disk will be rebuilt when the array is started. Start the array and let the rebuild proceed. Step 2 causes unRAID to forget the serial number. The steps appear correct.
September 20, 201411 yr Author I case anyone refers to this in the future, the error occurred during this section: [*]Start the array. Ideally all disks except the problem ones will appear to be fine. The problem disk (and possibly the red-balled one) will show up as unformatted. Do NOT select the option to format them or all data on them will be lost. [*]Stop the array, and set the assignment for the replacement (i.e. failed) disk to unassigned and start the array. This will show that there is a missing disk and the array is currently unprotected. This is how you simulate a disk failing. These last two steps are intended to get the system into a state where it thinks a disk needs rebuilding [*]Stop the array and re-assign the replacement disk. unRAID will now tell you that the disk will be rebuilt when the array is started. Start the array and let the rebuild proceed. Step 2 causes unRAID to forget the serial number. The steps appear correct. That is true, however it won't work unless you have a different disk assigned to that position 1st. Because you are creating a new config, it does not need to rebuild that disk unless you have another disk assigned, or maybe if you write some data to the array 1st(??). When I tried to unassign the disk then reassign it, it didn't want to rebuild it because it saw it as an empty disk anyway. If my original failed drive was being recognized then this would have asked to rebuild it one I changed the disk. So to get around it, like I said, I assigned a disk, removed it, then assigned the replacement disk. That was the only way I was able to force the rebuild. As soon as I did that, all my writes were to the replacement drive. I'll run the command above and post back in a few days when it's finished! Thanks again guys, just shouldn't have worked on this when I was so tired last night, maybe would have thought through it more before making the mistake .
Archived
This topic is now archived and is closed to further replies.