volcs0 Posted May 4, 2020 Posted May 4, 2020 I'm trying to be extra careful with this upgrade. I've read the procedure outlined here. This was very helpful, but I have some questions. I have no disc inclusions/exclusions, and I want to preserve parity during the upgrade. My array has six data drives - 8, 4, 3, 3, 3, 3 = 24Tb. I recently added the last 3Tb drive and made it XFS from the start. I'm using unBALANCE Scatter to move all of the data off of my largest (8Tb) drive to the remainder of my array. When this is done, my other 5 drives will be nearly full. This will be completed by tomorrow morning. The detailed instructions assume (I think) that the mirroring procedure was used - not moving (I could be wrong about this). If I copied data to create a large empty (currently ReiserFS) drive, do I still follow the same steps from step 8? Once the 8Tb drive is cleared and reformatted to XFS, I can convert the remainder. Thanks for the help in working this out. Quote
JonathanM Posted May 4, 2020 Posted May 4, 2020 I think what you are referring to is trying to keep the data on the same slots after the conversion is done. If you don't particularly care which drive has which data when you are done, all you need to do is make sure all the data on your largest drive is copied elsewhere, then format it to XFS, and copy the data back to it. When you finish copying the contents of the 4 and 3 back to the 8, you format them to XFS, copy another 2 3TB drives to the now XFS 4 and 3, format those 2, copy the last 3, format, done. I really, really recommend copying instead of moving, for a couple reasons. First, when you copy, you can verify before erasing the source. Second, it's WAY faster to format a ReiserFS drive which erases it anyway vs. all the deletions that are needed during a move with parity enabled. ReiserFS is slow about deletions anyway, when you compound that with an array write to the destination drive, it can take many hours more to accomplish the same end goal. rsync -arv /mnt/disk3/ /mnt/disk1 rsync -narcv /mnt/disk3/ /mnt/disk1 The first command would copy all the files from disk3 to disk1, the second command would verify with checksums that the copy is complete. If the second command lists any files, it's because they don't match, and you need to figure out why. One reason would be that you forgot to keep something from writing to the server. Quote
volcs0 Posted May 5, 2020 Author Posted May 5, 2020 Thanks so much for this (I actually also just posted in the forum topic for the XFS conversion procedure). The problem with copying (I thought) is that I am not doing a drive-to-drive copy - the data from the 8TB is getting scattered over the other 3 and 4 TB drives. But for the remainder of the drives, I will take your advice and copy instead of move. So, back to my current situation. Array is running, the 8TB is empty. The other drives (4,3,3,3,3) are now all full. What are the steps? Sorry for being a noob here, I really don't want to screw this up. Is this what I should do? 1. Stop the array 2. Reformat the 8Tb drive to XFS (is this pretty straightforward?) 3. Restart the array This a lot simpler than the 10 steps outlined in the Wiki, so I want to make sure I do this correctly. Is that all there is to it? Won't it complain since the drives look different from before? Won't it want to rebuild parity? Again, sorry for the questions - I just want this to be smooth. Thanks. Quote
JonathanM Posted May 5, 2020 Posted May 5, 2020 8 minutes ago, volcs0 said: 1. Stop the array 2. Reformat the 8Tb drive to XFS (is this pretty straightforward?) 3. Restart the array That's it, pretty much. In step 2, you change the desired format type on the drive to XFS, then when you start the array, it should show that single drive as unmountable, and you will have the option to format it. Check to make sure only the drive that you changed shows as unmountable, as it will format all unmountable drives at once. Parity stays valid whatever the format or content of the drive as long as you don't set a new config and rearrange drive slots. Parity has no concept of files or formats or anything like that, only patterns of bits across all the drives. Quote
volcs0 Posted May 5, 2020 Author Posted May 5, 2020 Thanks. But if I use copy (not move) and then I reformat one of the drives, won't parity now be wrong? It seems like parity would only be correct if the drive being reformatted is empty, right? Thanks. Quote
itimpi Posted May 5, 2020 Posted May 5, 2020 2 hours ago, volcs0 said: Thanks. But if I use copy (not move) and then I reformat one of the drives, won't parity now be wrong? It seems like parity would only be correct if the drive being reformatted is empty, right? Thanks. No. As was said parity has no idea of files or file systems, just the bits that should be on the drive. This one of the reasons that parity does not care if you have a mix of file system types and encrypted/unencrypted drives in the array - they are all just bit patterns as far as parity is concerned. Parity treats formatting just like it does writing files, it is updating sectors on the drive to have new contents (the control structures for the empty file system) and parity is updated to match these new bit patterns. Quote
volcs0 Posted May 6, 2020 Author Posted May 6, 2020 (edited) Hi - I just wanted to follow up. I know this information is redundant, but I wanted to write it up for any other novices who are trying to do this and have the same questions I did. This procedure worked well - for me. YMMV. I'm on unRAID 6.8.3. 1. Make sure you have enough space to empty or copy (completely) one of the drives. 1. Run "Docker Safe New Perms" form the Tools menu (this is installed as part of the Community Applications) 2. Use unBALANCE to move OR copy from one drive to the others. This is pretty straightforward - you choose move OR copy FROM and specify which TO drives (just don't use the cache drive), and then select all the folders. Click Plan and then run it. This will take a long time to run - for me it was like 48 hours for 5.5Tb. You can use copy or move - it doesn't matter at all. But I was told that copy is faster, since you don't have to wait for the files to be deleted off of the "from" disc and for parity to be updated. Again, it doesn't ultimately matter. 3. When everything is done (and you don't see any errors from unBALANCE), stop the array. 4. Click on the name of the disc that you copied FROM (the one that either now is empty if you moved or still has data, if you copied). On the next screen, under File System Type, choose XFS, click Apply and Done. 5. Restart the array 6. The disc you changed will now say "unmountable." At the bottom of the screen - you will see the option to format - you will have to click a button saying "I really want to do this." It will then format the disc - will take about a minute, and then it will be part of your array. 7. Repeat this process with other discs, starting with Step 3. Remember to turn off your Dockers - if they are set to auto-run, they will have started up with you restarted the array. Thanks to everyone for help - especially the Wiki - so much useful information in there. Edited May 6, 2020 by volcs0 Quote
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.