wildwolf Posted December 12, 2020 Share Posted December 12, 2020 I've read a few posts on this, most of them older, so for my sanity I wanted to ask outright if I have this logic correct. I have 11 array disks , 2 of which are parity. The 2 parity disks are 8TB each. Of the 9 data disks, 2 are 8TB (#8 & #9), the other 7 are 5TB (#1, 2, 3, 4, 5, 6, & 7) each. Of the 51TB array size, I'm only using 26.3TB. 2 of my 5GB disks (#7 - 1.15TB and #5 2.29TB) I would like to remove from the array and use them as unassigned devices so I can use 1 of them for a CCTV system. From my understanding, I need to: 1. Do a parity check. If all checks out, proceed. 2. Use unbalance to move all the data from #7 disk & #5 disk to the remaining disks. This should leave these disks 'empty' and ready to be removed from the array. 3. Stop array. 4. Choose Tools --> New Config. Make sure BOTH parity disks are reassigned back to same slot and order they were previously assigned in the new config. 5. Assign the remaining disks (#1, 2, 3, 4, 6, 8, & 9) as data disks, which would now be array disks #1, 2, 3, 4, 5, 6, & 7) in the new config. 6. Rebuild array. This would leave my array with about 26TB in a 41TB array, for about 65% capacity. As I grow more, I could just swap out the remaining 5TB disks with 8TB ones. If this is correct, does step #6 occur, after new config, when I "start" the new config array for the 1st time and it uses just the 2 parity disks to rebuild the array? The 2 parity drives are ALL I need to rebuild the current 26.3TB data back onto new 7 disk configuration? Usually, I'm impatient and/or don't read enough fine print and I have been known to do things the wrong way causing my own data loss. I'd like to prevent that this time. Some usual responses I've read are: why do you want to reduce the # of disks? Because my system is pretty full right now and this is, I think, the easiest method I can find to free up some of the slots to create unassigned disks for other uses, as mentioned earlier. If it were easy to drop another controller, more cables, and disks into the current system and add more drives, I would just go that route. Alas, it's pretty packed now. I also have overkill on the cache drives. I started with 1-500GB SSD, and for some reason, thought adding a 2nd drive would be very useful. I'm only using 10GB of cache at the moment. So, can same method be done to reduce # of cache drives as well? Quote Link to comment
Greg-Mega Posted December 12, 2020 Share Posted December 12, 2020 https://wiki.unraid.net/Shrink_array I've used both the clear drive method (remove one data disk at a time) last weekend and the rebuild method a few months ago. Just remember to "Retain current configuration" when you do your new config but I also took screenshots of my disk assignments before i started just in case. Quote Link to comment
wildwolf Posted December 12, 2020 Author Share Posted December 12, 2020 What does "Retain current configuration" mean? Aren't we changing the configuration by removing a disk? For the 1st method you mention, I can just "pull a disk" and tell it to rebuild? What is "clear drive method" if it's not what I thought I was explaining? Won't it still be expecting that disk to be re-added at some point? Quote Link to comment
itimpi Posted December 12, 2020 Share Posted December 12, 2020 5 minutes ago, wildwolf said: What does "Retain current configuration" mean? Aren't we changing the configuration by removing a disk? It just means pre-fill the assignments with the current drives to save you some effort and reduce the chance of you making an error. Until the array is started the assignments are not committed so you can make any changes you like at this point. Quote Link to comment
trurl Posted December 12, 2020 Share Posted December 12, 2020 2 hours ago, wildwolf said: it uses just the 2 parity disks to rebuild the array? The 2 parity drives are ALL I need to rebuild the current 26.3TB data back onto new 7 disk configuration? It will rebuild the parity disks so they are in sync with all the assigned data disks. The data disks do not need rebuilding and will not be rebuilt. Quote Link to comment
trurl Posted December 12, 2020 Share Posted December 12, 2020 It is obviously impossible for any parity disk, or even 2 parity disks, to contain the data for all the other disks. Parity is a common concept used in computers and communication. It is basically the same idea wherever it is used. Parity is just an extra bit that allows a missing bit to be calculated from all the other bits. In the case of Unraid, a parity disk allows a missing data disk to be calculated from the parity disk PLUS ALL OTHER data disks. Parity itself contains NONE of your data and by itself (or even with 2 parity) can rebuild nothing. Here is the wiki on parity: https://wiki.unraid.net/UnRAID_6/Overview#Parity-Protected_Array I think it is worth understanding because it makes sense of many things about how Unraid works, and how you work with Unraid. Many of us that offer advice on the forum know what to do because we understand parity. Quote Link to comment
trurl Posted December 12, 2020 Share Posted December 12, 2020 19 minutes ago, wildwolf said: What is "clear drive method" if it's not what I thought I was explaining? Won't it still be expecting that disk to be re-added at some point? Even the "clear drive method" requires New Config, and after New Config it doesn't expect anything to be re-added. A clear disk is not at all the same as an empty disk. An empty disk contains an empty filesystem, with the metadata required to represent an empty top level folder and everything else needed to allow you to write new folders and files to it. A clear disk is all zeros. When you ADD a disk to a NEW slot in an array that already has valid parity, the disk must be clear so parity remains valid. If the disk hasn't been precleared, Unraid will clear it in this scenario. On the other hand, if you clear a disk that is already in the parity array, then writing all those zeros to the disk while it is in the array updates parity (just like all write operations to disks in the array including format). So when all the zeros have been written, the disk can be removed and parity is still valid because all those zeros have no effect on parity. Quote Link to comment
Vr2Io Posted December 12, 2020 Share Posted December 12, 2020 3 hours ago, wildwolf said: Use unbalance to move all the data Shouldn't use move, keep data in original places as backup. For example, I like moving data in this way If need disk5 /abc to disk6 /abc, then move disk5 /abc to /backup/abc first and keep it. Quote Link to comment
Recommended Posts
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.