January 11, 201511 yr Hi - I have an array of 12 disks including parity out of which 2 are already xfs converted. I want to replace 3 smaller disks (disks #2, #4, #7 - picture below) and convert the remaining 11-2-3=6 disks to xfs. I have in hand the 3 replacement disks (4, 3, 3 TB) and another 3 backup disks (4, 4, 4 TB). a. I am wondering what is the best way to do this? In some ways I do not mind replacing as many disks as possible at one go since I have an external backup of my critical data. b. If I want to "insert" a xfs formatted data disk into the array and rebuild the parity, what is the best way to do this? The last time I tried inserting a xfs formatted disk with data on it, Unraid did not recognize the format. I had to reformat it the disk in Unraid GUI and copy the data back on that disk. Thanks!
January 11, 201511 yr Do one thing at a time. This won't be a quick process, and if something goes wrong you want to be able to pin down when/where it happened. I wouldn't replace the disks yet, since the rebuild is going to rebuild the disk bit by bit, which includes the filesystem, so do that last. Easiest way, assuming you have the ability/space to, would be to add the new drives you have as additional drives, format to XFS, and start with those. Copy data from non-xfs drives to those new xfs drives, then format those now empty drives. Rinse and repeat. Your total array size is 20 TB, and the new drives are 10, so that would cut down on the amount of musical chairs you have to do. Then after you are done, you can shrink your array and remove those 3 drives you wanted to remove. If you don't have room for the new drives, then same thing, just with your existing drives. There's a sticky about this. http://lime-technology.com/forum/index.php?topic=37490.0
January 11, 201511 yr I did the same thing... I did not get a new drive though but was able to make one empty by combining several disks together.. When I had one disk free I changed that to XFS, copied a full ReiserFS disk to that freshly formatted XFS, then formatted the ReisesrFS to XFS..... Took me a week or two.. Really painless and not to much work, Only takes a lot of time..
January 11, 201511 yr Author Thanks Helmonder and Traxxus. So summarize the recommended course of action: 1. add the 3 replacement disks to the current unraid array, format them as xfs and migrate the data to these three drives. 2. Remove the empty 3 drives (disks #2, #4 and #7) from unraid -> parity will be lost and a rebuild will be needed soon after this. 3. Add a spare 4TB drive to array to help move and convert the remaining 6 drives one after another to XFS so that parity is preserved during this process. Is this the best recommended approach? Do one thing at a time. This won't be a quick process, and if something goes wrong you want to be able to pin down when/where it happened. I wouldn't replace the disks yet, since the rebuild is going to rebuild the disk bit by bit, which includes the filesystem, so do that last. Easiest way, assuming you have the ability/space to, would be to add the new drives you have as additional drives, format to XFS, and start with those. Copy data from non-xfs drives to those new xfs drives, then format those now empty drives. Rinse and repeat. Your total array size is 20 TB, and the new drives are 10, so that would cut down on the amount of musical chairs you have to do. Then after you are done, you can shrink your array and remove those 3 drives you wanted to remove. If you don't have room for the new drives, then same thing, just with your existing drives. There's a sticky about this. http://lime-technology.com/forum/index.php?topic=37490.0
January 11, 201511 yr Community Expert I recently converted all my array data drives to XFS. I also upsized some of my data drives like you are planning to do. What I did was replace 3TB parity with 4TB and let it rebuild. Replace a 3TB data drive with 4TB and let it rebuild. Replace another 3TB data with 4TB and let it rebuiild. At this point everything was still RFS, but with the extra space I was then able to move all of the data off one RFS drive onto others, and then reformat that now empty drive to XFS. Then, move all of the data off another RFS drive onto other drives, and reformat that now empty drive to XFS. Repeat as necessary. Except for the initial parity rebuild to upsize the parity disk, I was never running without parity. In fact since I still had that original parity disk I could have just put it back in if there was any problem.
January 12, 201511 yr Author trurl - Looks like I am in a similar situation as you are. The best we can do with is have the parity rebuild once. Given that I am replacing 3 drives at once here is what I think would be most efficient in my scenario. a. format the new 3 drives as xfs that is unraid compatible and rsync the data from 3 old unraid drives to the new ones. b. REPLACE the 3 old drives with the new xfs formatted drives and add a 4th xfs drive to unraid <- parity will built after this step, only once for this entire process c. Follow the established process of moving data from remaining existing unraid drive to the new 4th drive to convert the remaining to xfs What I need help with is (a). How do I format a drive to unraid xfs compatible format so that I can add data to this drive and replace the older unraid drives? Thank you for all the suggestions. I recently converted all my array data drives to XFS. I also upsized some of my data drives like you are planning to do. What I did was replace 3TB parity with 4TB and let it rebuild. Replace a 3TB data drive with 4TB and let it rebuild. Replace another 3TB data with 4TB and let it rebuiild. At this point everything was still RFS, but with the extra space I was then able to move all of the data off one RFS drive onto others, and then reformat that now empty drive to XFS. Then, move all of the data off another RFS drive onto other drives, and reformat that now empty drive to XFS. Repeat as necessary. Except for the initial parity rebuild to upsize the parity disk, I was never running without parity. In fact since I still had that original parity disk I could have just put it back in if there was any problem.
January 12, 201511 yr Author I am planning to replace the drives and rebuild the parity with the new replaced drives. After I replace the drives parity will be lost. The idea is no matter which way, parity will need to be rebuilt at least once. I would rather replace 3 drives and then rebuild the parity. Do not replace the old drives and expect them to be XFS, whether they are formatted as XFS is irrelevant, the rebuild process will rebuild the drive bit for bit, including the filesystem. The rebuilt drive will be reiser when it's done. There is no way around this.
January 12, 201511 yr Community Expert The way I did it I never really "lost" parity, but also, I did not need any additional slots, which was another goal I had due to my small system. On the other hand, my way might actually wind up making the drives work a little harder since each of the rebuilds has to read all of every drive. If you have plenty of slots, then another possibility would be to put in all of the new drives, including the larger parity drive if you need one, but don't assign them yet. Preclear all of these new drives if you haven't already. And then 0) If you are replacing parity to make it larger, then go ahead and replace it first and let it rebuild parity with the existing configuration. 1) Assign each of the new drives to a new slot in the array one at a time. Since they have already been cleared, unRAID will only need to format them which shouldn't take very long, and you will still have parity while you do this. 2) Move the data off the drives you are going to remove, remove the drives, and rebuild parity. If you do it this way then you will have parity during all of the data moving.
January 12, 201511 yr Author That's good info, thank you. I imagined that parity will be rebuilt even if I am adding new empty drives. Good to know parity will be rebuilt only if the new drives have data on them. The three new drives are being precleared and will be done by tomorrow. The parity is not being upgraded, just the drives which are smaller than 3tb. I will follow what you have suggested, thanks. The way I did it I never really "lost" parity, but also, I did not need any additional slots, which was another goal I had due to my small system. On the other hand, my way might actually wind up making the drives work a little harder since each of the rebuilds has to read all of every drive. If you have plenty of slots, then another possibility would be to put in all of the new drives, including the larger parity drive if you need one, but don't assign them yet. Preclear all of these new drives if you haven't already. And then 0) If you are replacing parity to make it larger, then go ahead and replace it first and let it rebuild parity with the existing configuration. 1) Assign each of the new drives to a new slot in the array one at a time. Since they have already been cleared, unRAID will only need to format them which shouldn't take very long, and you will still have parity while you do this. 2) Move the data off the drives you are going to remove, remove the drives, and rebuild parity. If you do it this way then you will have parity during all of the data moving.
January 12, 201511 yr Community Expert That's good info, thank you. I imagined that parity will be rebuilt even if I am adding new empty drives. Good to know parity will be rebuilt only if the new drives have data on them. That's the whole point of cleared drives. They already match parity.
Archived
This topic is now archived and is closed to further replies.