June 28Jun 28 Hi all,One of the disks in my array has started to rack up "Raw read errors" and it's reporting "failing now" so it's time to replace it.My understanding is the most straightforward way to do that is to get hold of a drive the same size, remove the old disk, insert the new one and Unraid will rebuild it from parity.Because reasons, mostly financial when it comes to replacing drives going forwards, I'd like to replace the failing drive with a couple of smaller drives instead. This means I can't just do a straight replacement, I need to move the data.My concern is, if I try and copy/move the data off the failing disk to a new location, is it possible the data will copy corrupted or fail to copy silently? I've been using Midnight Commander (mc) to move some of the data but I've held off on moving the more valuable data until I've got a better idea of what to do for the best.Many thanks for any help you can offer!
June 28Jun 28 Author The smaller drives are ones I can get hold of much more easily and cheaper than a replacement drive. I have some ordered and on the way but I don't have any additional drives currently. Diagnostics are attached! garage-diagnostics-20260628-1602.zip
June 28Jun 28 Copy is safer and faster than move. Move requires writing to the source disk to delete the source files after they have been copied. You can exclude the source disk from user shares so there won't be duplicates.You are going to have to New Config to get the array assignments without the bad disk and with the new disks. Do you have enough ports to work with the old disk and new disks together?
June 28Jun 28 Unrelated, your appdata and domains shares are on the array and configured to be moved to the array. Better if Docker/VM related shares - appdata, domains, system - are all on cache or other pool with nothing on the array, so Docker/VM will perform better and so array disks can spin down since these files are always open.We can work on that later.
June 28Jun 28 6 minutes ago, trurl said:Do you have enough ports to work with the old disk and new disks together?The only other disk in the array doesn't have enough capacity for the contents of the bad disk anyway. Might be best to shutdown, wait on the new disks and consider how to proceed.
June 28Jun 28 Author 2 hours ago, trurl said:Copy is safer and faster than move. Move requires writing to the source disk to delete the source files after they have been copied. You can exclude the source disk from user shares so there won't be duplicates.You are going to have to New Config to get the array assignments without the bad disk and with the new disks. Do you have enough ports to work with the old disk and new disks together?Loads of space for new drives, one of the other factors.My plan was to get the new drives cleared and ready as soon as they're here, move/copy the data from the failing drive onto the new drive so the failing drive is no longer needed then remove the failing drive. I assume that final step is when I'll need to do a new config in order to remove the failing drive.My main concern was the copy/move operation, I don't know enough about how best to perform that whilst maintaining integrity of the data. Is it a possibility it will copy the files, not throw any errors but some of the files on the destination drive will be corrupt in some way without it immediately being known.
June 29Jun 29 No good reason to do move instead of copy and plenty of good reasons to avoid doing move instead of copy. Move is Copy from Source to Destination, then Delete from Source. Delete is a write operation. Writing to that failing disk is just asking for trouble. And Copy is faster since there is no Delete to be done.Just exclude the bad disk from user shares and copy its folders to the new disks.If a file is unreadable then it won't be copied. If a file is corrupt it might still be copied but I don't see any alternative. Do you have backups or checksums or anything that might tell if a file isn't what it should be?
Monday at 10:44 AM5 days Author I don't have a like-for-like backup but all the files that are irreplaceable (e.g. photos) exist on other devices and locations still so nothing valuable will be lost I don't think. My parity drive is still good, would there be any way to remove the bad drive from the equation and copy the files from the parity data that as far as I know is still good and reading without errors or am I overthinking the problem?I assume if I generated checksums now of the data it would do so including any corruption that would then happen when copying across?
Monday at 01:34 PM5 days If you unassign the bad disk and start the array, it will be emulated by reading parity and all other disks. You can copy files from the emulated disk to other disks in the array, to Unassigned Devices, or to other computers on the network.If you copy to other disks in the array, performance will be impacted since in addition to writing to an array disk and updating parity, it will also have to read all array disks plus parity to get the emulated data to copy. Lots of seeking involved.Perhaps a better approach would be to mount the new disks as Unassigned Devices and copy the emulated data there. Then you can New Config the new disks with their contents into the array and rebuild parity.
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.