February 5, 20233 yr Hello! I've been testing Unraid for a few months with a basic config (old MB I had around and three drives) and now I'm upgrading it and adding space. Initially I had: Parity Drive - Seagate 14TB Data Drive 1 - Western Digital 8TB Data Drive 2 - Western Digital 8TB I bought 3 x Western Digital 18TB, my idea was to replace the 14TB drive with one Western Digital 18TB drive, then add the 2 remaining Western Digital 18TB and the old Seagate 14TB drive to the array. I've already done that and everything worked like a charm ending with this configuration: Parity Drive - Western Digital 18TB Data Drive 1 - Western Digital 8TB Data Drive 2 - Western Digital 8TB Data Drive 3 - Western Digital 18TB Data Drive 4 - Western Digital 18TB Data Drive 5 - Seagate 14TB The new, precleared disks showed as "unmountable" when I started the array, so I formatted them. Right now I'm running a parity check "just in case". Since the drives were cleared I think that step was not needed but I don't mind spending the extra time on it while I ask a few things here and prepare myself for the next steps 😊 Next thing I would like to do is to move all data from the Western Digital 8TB drives to the Western Digital 18TB drives, in order to remove them from the array. I'm using high water allocation so both disks have the same approximate amount of data. I know I could use tools like unBALANCE to do the job but since it seems an easy process (copy all data from Drive 1 to Drive 3 and all data from Drive 2 to Drive 4) I'm thinking of doing it manually. How should I do this? I'm guessing a "rsync /mnt/disk1/ /mnt/disk3/" and "rsync /mnt/disk2/ /mnt/disk4/" would do the job, but I'm not sure if I have to do this while the array is stopped or if it has to be running. Would the following approach be correct? 1. Stop array 2. rsync /mnt/disk1/ /mnt/disk3/ and rsync /mnt/disk2/ /mnt/disk4/ (I guess I can do it in parallel to maximize bandwidth and save time) 3. rm -rf /mnt/disk1/* /mnt/disk2/* 4. Start the array 5. Maybe do a parity check? 6. Stop the array 7. Remove Data Drives 1 and 2 from the array 8. Start the array I would say that steps 4-5 are overkill and that maybe I just need to remove the 8TB drives at step 4 then start the array but, as a newbie, I'm not completely sure about that. 😅 Last but not least, once I have the two Western Digital 8TB out of the array, I'm thinking of using them in a 2-disk BTRFS RAID0 cache pool ("Use cache pool" set to "Only") so I have a total of 16TB I could use to intensive torrent downloading and seeding. Since all the data stored there is not important (I can redownload it if needed) I think it's better to "isolate" it from the array for performance and, more importantly, to avoid stressing the parity drive with constant new data. Any advice about this approach? Thanks in advance! Edited February 5, 20233 yr by Devotee
February 5, 20233 yr Community Expert 7 minutes ago, Devotee said: Next thing I would like to do is to move all data from the Western Digital 8TB drives to the Western Digital 18TB drives, in order to remove them from the array. You could have just rebuilt those to the larger disks. Then there wouldn't be anything to move and the 8TB drives would already be out of the array. In fact, you could still do that by doing New Config with only the original disks, rebuild parity, then replace/rebuild the 8TB one at a time.
February 5, 20233 yr Community Expert 11 minutes ago, Devotee said: 2. rsync /mnt/disk1/ /mnt/disk3/ and rsync /mnt/disk2/ /mnt/disk4/ (I guess I can do it in parallel to maximize bandwidth and save time) Probably wouldn't save any time because both will involve parity updates so each would be waiting on the other with more seeking than necessary. 12 minutes ago, Devotee said: 3. rm -rf /mnt/disk1/* /mnt/disk2/* No point in deleting data from disks you are removing. 13 minutes ago, Devotee said: 7. Remove Data Drives 1 and 2 from the array At this point you would have to New Config without the disks and rebuild parity.
February 5, 20233 yr Author @trurl, thanks a lot for quick replies! 😊 2 hours ago, trurl said: You could have just rebuilt those to the larger disks. Then there wouldn't be anything to move and the 8TB drives would already be out of the array. Oh, Ok... I see what you mean. Meh, I should have asked before doing anything, mea culpa 😔 I briefly thought about this approach but the word "rebuild" sounded a bit scary. I guess I should trust Unraid and go this path so I can experience what the process of replacing a drive and rebuilding it is. One of the best Unraid features, in fact the one I love most about it, is that even if I remove the 8TB drive, it will still contain an accessible copy of all its data, so if the rebuild fails, I should still have a working "backup". 2 hours ago, trurl said: In fact, you could still do that by doing New Config with only the original disks, rebuild parity, then replace/rebuild the 8TB one at a time. I will follow your advice. If I understood everything correctly, these are the steps required to swap both drives: 1. Stop the array 2. New config removing the two 18TB drives and the 14TB drive (all three still empty at the moment) 3. Start the array and rebuild parity 4. Stop the array 5. Replace Data Drive 1 (8TB) with one of the 18TB drives 6. Start the array and let it rebuild everything 7. Stop the array 8. Replace the Data Drive 2 (8TB) with the second 18TB drive 9. Start the array and let it rebuild everything 10. Stop the array 11. Add the remaining 14TB drive to the Array 12. Start the array On one hand, I'm thinking that at this point I can just remove the two 18TB drives, leave the 14TB drive, New config with Parity 18TB + original 8TB drives + already installed 14TB, then replace the 8TB drives from there. Steps 11 and 12 would not be needed. I'm also not sure if I have to rebuild parity at any other point besides Step 3 (for example, after a drive is rebuilt, though parity at that point shouldn't need to be rebuilt). Do I need to preclear the 18TB drives again ("Clear Disk") or at least do some kind of verification ("Verify Signature" or "Verify Disk") before using them to replace the 8TB drives? 2 hours ago, trurl said: Probably wouldn't save any time because both will involve parity updates so each would be waiting on the other with more seeking than necessary. One of my doubts was if content could be copied between drives (via /mnt/diskX) with the array stopped, according to your comment it has to be done while the array is started, so it makes sense that parity must be updated. 2 hours ago, trurl said: No point in deleting data from disks you are removing. That's one of the things that puzzles me... Is it ok to have duplicate data between disks while the array is running?? It's the reason why I thought that the array had to be stopped to copy data between data drives. I'm assuming that you "remove" the data from those drives when they are unassigned from the array or you physically remove them from the system, is that right? Unraid will automatically "see" the old data in the new drive.
February 5, 20233 yr Community Expert I sort of overlooked your steps about stopping the array. You can't do anything to any disks with the array stopped, or even with it started in Maintenance mode, since no disks are mounted. 35 minutes ago, Devotee said: "rebuild" sounded a bit scary The whole reason you have parity. And, as you say, you will still have the original disks with their contents. 15 minutes ago, Devotee said: New config with Parity 18TB + original 8TB drives + already installed 14TB, then replace the 8TB drives from there. Steps 11 and 12 would not be needed. Yes that will work, then 14TB would already be in the array and included in parity rebuild. No need to rebuild parity again after New Config, it is maintained during all the other steps. 16 minutes ago, Devotee said: need to preclear There is one and only one scenario where Unraid requires a clear disk. That is when ADDING a disk to a NEW slot in an array that already has valid parity. This is so parity will remain valid. A clear disk is all zeros, and those zeros have no effect on parity. In that scenario, if the added disk isn't already clear, Unraid will clear it before including it in the array. Preclear was useful on older versions of Unraid because the array would be taken offline if Unraid had to clear a disk, but that is no longer the case, and preclear is really just for testing disks. 21 minutes ago, Devotee said: ok to have duplicate data between disks Pool (cache) disks have precedent, then lower numbered array disks, when accessing user shares. So the duplicates won't be accessible when working with user shares. But it isn't recommended to leave things that way indefinitely. Only one of the duplicates would be updated in user shares, for example, and if the file with precedence becomes inaccessible for some reason, you would be left with the other, possibly outdated file. And, of course, it is a waste of space. In the scenario you were discussing, they would be duplicates when copied by rsync, then no longer duplicates after removing the disks.
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.