Jump to content

Best way to handle disk reporting smart errors after copy?


markc99
Go to solution Solved by trurl,

Recommended Posts

Greetings, built my Unraid server this past weekend, and spent a lot of time moving all my files off an aging QNAP. Finally got everything moved, and then decided I need to switch around the folder structure a tiny bit, so I was moving media files from one directory to another, and got a bunch of notifications about one of my drives reporting errors. It's the drive where the majority of my files are sitting at the moment. I did setup parity and it finished syncing last evening. Is it as easy and powering off and pulling the drive and letting parity rebuild the files on the other drives, or should I attempt to move them myself?

 

I did order a new 4 TB Ironwolf, but it won't be here until Monday.

 

Hardware:

Unraid 6.9.2

Intel i5 10400

16 GB DDR4 RAM

Gigabyte B560 HD3

(4) 4 TB Seagate Ironwolf NAS Drive

(1) 3 TB Seagate Barracuda Drive

(1) 2 TB WD Red NAS Drive

(1) 1 TB Seagate Barracuda Drive

(1) 256 GB Crucial SSD

(1) 1 TB Sandisk SSD

tower-diagnostics-20220128-1111.zip

Edited by markc99
Added Unraid version
Link to comment
6 minutes ago, markc99 said:

I did setup parity and it finished syncing last evening.

You did, but there were read errors on disk1 during the sync, so parity isn't 100% valid, you can still rebuild but there will likely be some data corruption, except if you are very lucky and the read errors coincided with empty disk space, or use ddrescue, this way you can at least now with files are corrupt, another alternative is to copy the data form disk1 to another disk, any files that you can't copy need to be restored from backups.

 

 

Link to comment
4 minutes ago, markc99 said:

Once the copy is complete, what are the next steps?

I would still leave it online for now since it's not yet disable, then just replace, also note that if the disk gets disabled during the copy you should stop, since it will them be copying from the emulated disk and there could be some data corruption there.

Link to comment
47 minutes ago, markc99 said:

Is it as easy and powering off and pulling the drive and letting parity rebuild the files on the other drives

Just thought I would clear up this misconception and offer further advice.

 

Even if your parity was valid, you can't rebuild the files to the other drives. Parity doesn't even know anything about files. It is just an extra disk of bits that allows the bits of a missing disk to be calculated from the bits on all the other disks.

 

You can only rebuild those bits to a single disk, whether to the same disk or a different disk. This is very similar to the way parity works in any system where it is used.

 

In your case, with a bad disk and parity possibly invalid, copying instead of rebuilding as you are doing is probably a good idea (if it works). In any case, you need to replace that disk.

 

Come back for more advice on how to proceed after copying succeeds (or if it fails).

 

Link to comment
Quote

Come back for more advice on how to proceed after copying succeeds (or if it fails).

The copy did finish, and then I got a notification that all the pending sectors went away. My new disk arrived today, so I'm ready to swap. Is it just a matter of switching them at this point?

Link to comment
  • Solution
30 minutes ago, markc99 said:

The copy did finish, and then I got a notification that all the pending sectors went away. My new disk arrived today, so I'm ready to swap. Is it just a matter of switching them at this point?

Since there is some doubt about your parity, rebuilding to a new disk might not produce a good result, but since you presumably don't need the data on the disk now, I guess that is as good a way of proceeding as any. Disk1 has to be rebuilt, or parity has to be rebuilt. Assuming no other problems during rebuild, either way would get the array back in sync, and you could just reformat disk1 after the rebuild since its data has been copied off.

Link to comment
6 minutes ago, trurl said:

Since there is some doubt about your parity, rebuilding to a new disk might not produce a good result, but since you presumably don't need the data on the disk now, I guess that is as good a way of proceeding as any. Disk1 has to be rebuilt, or parity has to be rebuilt. Assuming no other problems during rebuild, either way would get the array back in sync, and you could just reformat disk1 after the rebuild since its data has been copied off.

 

In browsing Disk1 with midnight commander, the only thing on there now is two empty media folders, and the libvert.img and docker.img. I was actually going to move those two off to a cache pool anyway, so Disk1 is essential empty as this point.

Link to comment
19 hours ago, markc99 said:

Disk1 is essential empty as this point.

You still have to rebuild to get the array in sync.

 

Rebuild the empty emulated disk to a replacement disk.

 

Or

 

New Config, then rebuild parity with nothing assigned to that slot or a new disk assigned to that slot then format the new disk.

Link to comment
On 1/30/2022 at 12:29 PM, trurl said:

You still have to rebuild to get the array in sync.

 

Rebuild the empty emulated disk to a replacement disk.

 

Or

 

New Config, then rebuild parity with nothing assigned to that slot or a new disk assigned to that slot then format the new disk.

I replaced the disk and everything came up clean. I really appreciate all the help!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...