Re: Format XFS on replacement drive / Convert from RFS to XFS (discussion only)


Recommended Posts

2 hours ago, Harro said:

I like that idea. Thank you. After everything is moved would I need to write a new config?

No new config required -- but if you DO want to do it, you can still maintain parity, since this is a single parity system.    Since parity will be valid when all is done, you can do a New Config (which will let you re-assign all of the disk numbers reflect the content they originally had) and you can check the "Parity is already valid" box, since the only thing you're doing is re-ordering the disks.    Note that you can't do this with dual parity, since the order of the disks matters in that case.

 

Link to comment
1 hour ago, trurl said:

The faster method as outlined leaves you without parity protection until after the data is consolidated. Do you have backups?

 

One thing the wiki doesn't mention is formatting the new large disk. unRAID will give you the option to format that disk after adding it when you start the array. Since that method doesn't involve rebuilding any disk, you can format that disk to any filesystem you want.

 

You could also do the "safer method". I mentioned Turbo write earlier in the thread, but I'm not sure how much advantage that would give since there would be reads of the source data mixed in with reads of all disks to calculate parity writes. Of course, since you would be rebuilding this first large disk, it would be the same filesystem as the original disk, so you would eventually have to empty it and reformat.

No, I do not have backups. Will breaking the parity protection be my best choice?

Link to comment
2 hours ago, rednick69 said:

No, I do not have backups. Will breaking the parity protection be my best choice?

 

Breaking parity will put your data at risk if something goes wrong.  How important is your data?  I disabled parity when I converted my disks.  It took about 5 hours per terabyte to copy averaging 52MB/s.  It will likely take 2-3 times longer with parity enabled.  I was prepared to accept the consequences if another disk failed during conversion.  You need to ask yourself if you would you rather go slow and steady and maintain parity (safe) or bypass it to speed things up (risk)?

 

It sounds like you currently have an array of 5 disks totaling 13 TB and would like to consolidate to 3 disks totaling 18TB.  Is that correct?  How many new disks can your system support in addition to what you currently have?

Link to comment
3 hours ago, rednick69 said:

No, I do not have backups. Will breaking the parity protection be my best choice?

While I'm continually surprised that folks consider their data important enough to built fault-tolerant servers, but not important enough to back up, it's clear that many people are in this situation.   Assuming your data is at least "somewhat" important to you, I wouldn't break parity when it's not really necessary.

 

In your case, I'd first upgrade your parity drive to 6TB; then do one of the following, depending on whether or not you have a spare SATA port:

 

I.  If you have a spare SATA port ...

(a)  Add a 6TB drive, formatted as XFS.

(b)  Copy all of the data from two of your 3TB drives to the 6TB drive (verify those copies);  then format the 2 3TB drives as XFS.

(c)  Now, one-at-a-time, replace the two empty 3TB drives (the ones you just formatted as XFS) with your other 2 6TB drives -- the rebuilds will take several hours; but when this process is completed you'll have two empty XFS-formatted 6TB drives.

(d)  Copy all of the data from your other Reiser drives to the 2 6TB drives you just added to the array;  then format those drives as XFS.

 

Done >:(.    At this point your entire array is XFS, and you have 4 6TB drives and a couple smaller drives in the array.    You may want to use one of your 3TB drives to replace the 1TB drive.

 

II.  If you do NOT have a spare SATA port ...

(a)  Replace your 1TB drive with one of the 6TB drives.   Note that this will still be a Reiser disk after the rebuild.

(b)  Copy all of the data from your 1st 3TB drive to the 6TB drive;  then reformat that 3TB drive as XFS, and then copy the data back to it.

(c)  Repeat Step (b) for another 3TB drive.    When this is completed you'll have 2 3TB drives with their data intact and in XFS format.

(d)  Now, one-at-a-time,  replace the 2 3TB drives that are in XFS format with your other 2 6TB drives.   This will take a long time; but when it's done you'll have 3TB of free space on each of those drives.    Copy all of the data from your Reiser 6TB drive (the one that used to be a 1TB drive, so it will only have 1TB of data on it), to one of these new drives; and then reformat the Reiser 6TB drive to XFS -- it will now be an empty 6TB XFS drive.

(e)  Now copy all of the data from your remaining Reiser disks to the free space on your 6TB XFS disks -- and when done, just reformat the remaining Reiser disks to XFS.

 

Link to comment

dboonthego, garycase, and trurl, thanks for yall's responses and information. I will take this info and move forward. 

 

garycase, I'm not sure about everyone else but I'll speak for myself. I didn't build a fault-tolerant server for data retention. I built it for it's reliability, little need for human interaction(once setup), and simplicity due to the many support discussions in these forums. I also like the fact that if a drive fails, I can just pop another one in and it will rebuild in most cases as if nothing happened. 

 

Any documents or photos which are important to me are in the Google cloud and will remain there because they are accessible on the go. 

 

Every time I've ever requested help in these forums it has been a great experience with many people giving instructions on what I need. 

 

Again, thank yall for the information. I will move forward with my upgrades. 

Link to comment
  • 3 weeks later...

Okay I have a problem with the instructions. I will point it out. Okay you tell us to swap disk 10 and disk 11 all good below, then you have us switch the file systems back meaning disk 10 the one that was converted would be XFS and disk 11 would be reiserFS. wouldn't disk 11 the converted drive already be XFS? Why would you switch it back to reiserFS

 

Go back to the Main page and click on the dropdown for the swap drive (e.g. Disk 11) and unassign it (click on "unassigned" or "no device")

Click on the dropdown for the other drive (the one being converted, e.g. Disk 10 to start), and reassign it as the physical drive of the swap drive, the drive that was empty (e.g Disk 11)

Click on the dropdown for the slot of the swap drive (e.g. Disk 11) and reassign it to the physical drive that was being converted (e.g. Disk 10); you have just swapped the 2 drives, which is fine as they are identical (except for file system format)

Important! Click on each drive name (e.g. Disk 10 and Disk 11) and swap the file system format of the drive - if it's ReiserFS change it to XFS, if it's XFS change it to ReiserFS; it's important to swap the disk formats as well as the physical drive assignments

You should see all array disks with a blue icon, a warning that the parity disk will be erased, and a check box for Parity is already valid; IMPORTANT! click the check box, make sure it's checked to indicate that Parity is already valid or your Parity disk will be rebuilt! then click the Start button to start the array; it should start up without issue and look almost identical to what it looked like before the swap, with no parity check needed; however the XFS disk is now online and its files are now being shared as they normally would; check it all if you are in doubt

If you are sure it's all fine, stop the array and click the empty swap disk slot (e.g. still Disk 11), and change the format to XFS, then click Apply and Done

Link to comment
7 hours ago, megna22 said:

Okay I have a problem with the instructions. I will point it out. Okay you tell us to swap disk 10 and disk 11 all good below, then you have us switch the file systems back meaning disk 10 the one that was converted would be XFS and disk 11 would be reiserFS. wouldn't disk 11 the converted drive already be XFS? Why would you switch it back to reiserFS

 

I wasn't sure at first why you thought that, but then figured out you must think that unRAID always knows what's on each disk, even after being removed from the array.  When you add/assign a disk to the array, unRAID does not know what is on the disk, whether it's empty or has data, and if there's data what file system it is using.  And worse, when this was written, the file system was not cleared for an unassigned drive, so that if you unassigned a Reiser drive at Disk 10, then assigned an XFS disk there, it would still be marked for ReiserFS, until you manually changed it.  I suspect recent updates have changed that, but it would be marked as Auto, meaning it's supposed to try and figure out the file system on next use.  In the past, Auto was not reliable, and sometimes failed, leaving the drive marked as Unmountable, which results in a prompt to format the drive, which obviously can be disastrous.

 

The whole point of that instruction is to make sure that the file system for the drive is correct after the swap, because it will NOT be until you set it correctly.  I'll try to see if there's a better way to word it.

 

To illustrate what happens -

   Before swap:

   Drive R     Disk 10    ReiserFS

   Drive X     Disk 11     XFS

 

   After swap of assignments:

   Drive R     Disk 11    XFS or Auto

   Drive X     Disk 10    ReiserFS or Auto

 

   After FS correction:

   Drive R    Disk 11    ReiserFS

   Drive X    Disk 10    XFS

Link to comment

I understand now what you are saying! something weird happened when I swapped this drive as it zeroed the drive out again not sure why it did that it was just weird as it was already part of the array so I had to wait 2 hours for that to complete. O-Well sh*t happens. :) Thanks

Link to comment

Hello all,

Apologies if this has already been covered in this thread but I haven't been able to find the answer to my circumstances in my reading here.

I am running Unraid plus 6.3.2. and wanting to do this conversion as part of a major array overhaul.

 

I have followed the instructions to do the file system changeover from the wiki page,  which links back to this thread.

As a part of the instructions, it says to exclude the new swap drive in the global share settings before starting the array.

I did this and then started the rsync command in the console.

I saw all the files begin to get copied and the varying rates at which the copies occi\urred.

 

So far, so good, and no problems.

 

However, when I went back to the Unraid GUI in Windows, I noticed some things that concerned me.

These are:

1) The swap disk seems to be included in the array. Its capacity was added to the capacity of the array after it was assigned and formatted.

2) The Shares tab now has a Disk Share for the swap disk that I didn't specifically create.

3) The Users Share (i only have one share) still shows included disks as 'all' and no disks as excluded

4) Both the new swap disk and the parity disk are doing writes as the copying is progressing. I assume this is slowing down the copy process.

4) The total capacity of the drives is being reduced by the size of the files as they are being copied.

 

Is this normal behaviour?

When it says to exclude the drive, I assumed that it would be reflected in these array markers.

 

My main question is, is it safe to continue the process as documented?

 

As just a minor issue/suggestion, some of the written command lines (where the criticality of not making and error are highlighted) can be difficult to read when it comes to the spacing. Sometimes it loks like the command is just one long string but spaces in the string exist, and at other times there appear to be spaces but in fact it is a continuous string.

As a very much newcomer to this command line writing, so way to indicate spaces would be helpful and appreciated.

Link to comment
1 hour ago, CarloC said:

1) The swap disk seems to be included in the array. Its capacity was added to the capacity of the array after it was assigned and formatted.

2) The Shares tab now has a Disk Share for the swap disk that I didn't specifically create.

3) The Users Share (i only have one share) still shows included disks as 'all' and no disks as excluded

4) Both the new swap disk and the parity disk are doing writes as the copying is progressing. I assume this is slowing down the copy process.

5) The total capacity of the drives is being reduced by the size of the files as they are being copied.

1) The disk is part of the parity array, but not part of the user shares.

2) Since the disk is not part of the user shares, the disk is shared.

3) All the disks that are part of the user shares are included, but not any disks that are not part of the user shares.

4) Since the disk is part of the parity array, parity is written when the disk is.

5) Not sure what you mean here. Writing to the disk will obviously decrease its free space.

Link to comment

Almost ready to start my conversion to XFS and wondering if I could go about it this way.

No swap drive available but have enough storage on array to move data around.

Ex: disk3

1).in global setting exclude this disk (disk3) from shares

2) use Unbalance to move the data off disk3.

3) stop array and No device

4) Click the disk3 unassigned on array and choose XFS for FS

5) Set the destructive mode in setting of Unassigned devices to enable.

6) Under unassigned devices disk3 is available to destroy the partition. 

7) Destroy partition and add back into array under same slot it came.

8 ) Formatting starts with XFS as FS

Pretty sure parity check will start also. But does this seem doable.

Thanks

 

 

        

 

 

Link to comment
5 minutes ago, Harro said:

Almost ready to start my conversion to XFS and wondering if I could go about it this way.

No swap drive available but have enough storage on array to move data around.

Ex: disk3

1).in global setting exclude this disk (disk3) from shares

2) use Unbalance to move the data off disk3.

3) stop array and No device

4) Click the disk3 unassigned on array and choose XFS for FS

5) Set the destructive mode in setting of Unassigned devices to enable.

6) Under unassigned devices disk3 is available to destroy the partition. 

7) Destroy partition and add back into array under same slot it came.

8 ) Formatting starts with XFS as FS

Pretty sure parity check will start also. But does this seem doable.

Thanks

      

It gets pretty confusing after step 2. Maybe I missed something in your previous posts (haven't reread them), but I can't imagine why you want to get Unassigned Devices and parity rebuilds involved.

 

Probably don't even need step 1. After step 2, you have moved all data off disk3, so you can just stop the array, change its format, start the array to reformat. Parity remains valid, disk3 is now XFS and empty, ready for you to move data onto from any other disks you want to convert.

 

Not sure what is getting you confused here and making you come up with this scenario.  Basically you just need to move all the files from a disk so you can reformat it to another filesystem. Formatting a disk while it's in the array updates parity at the same time. Format is simply a write operation, it writes an empty filesystem. unRAID treats this write just like any other, by updating parity.

 

OK, I just went back and read this post you made on another thread

At the point where you said you replaced a drive, you seemed to think unRAID decided to format the replacement to XFS. It didn't format anything. It rebuilt the smaller drive (which had just been formatted XFS) to the larger one.

 

 

Link to comment
12 minutes ago, trurl said:

Probably don't even need step 1. After step 2, you have moved all data off disk3, so you can just stop the array, change its format, start the array to reformat. Parity remains valid, disk3 is now XFS and empty, ready for you to move data onto from any other disks you want to convert.

 

Not sure what is getting you confused here and making you come up with this scenario.  Basically you just need to move all the files from a disk so you can reformat it to another filesystem. Formatting a disk while it's in the array updates parity at the same time. Format is simply a write operation, it writes an empty filesystem. unRAID treats this write just like any other, by updating parity.

 

I moved everything from disk3 to where ever....Stopped array and changed the format to xfs...started array but array just saw the disk as reiserf format. So need to rid the disk3 of that format. before I can add it back again. The array sees the same disk3 going back again and says hey it's a rfs , so nothing new here. But if I destroy that partion and then add it back, it will format to xfs. The disk in question previously had user shares on them, so what is left after the move with Unbalanced is empty folders. I could ssh into and delete this but seems just as simple to just delete from the Unassigned devices.

The quote from unbalanced thread was from a parity disk going into the previous disk slot, so array saw that as no Fs on it.

Edited by Harro
Link to comment
43 minutes ago, Harro said:

 

I moved everything from disk3 to where ever....Stopped array and changed the format to xfs...started array but array just saw the disk as reiserf format. So need to rid the disk3 of that format. before I can add it back again. The array sees the same disk3 going back again and says hey it's a rfs , so nothing new here. But if I destroy that partion and then add it back, it will format to xfs. The disk in question previously had user shares on them, so what is left after the move with Unbalanced is empty folders. I could ssh into and delete this but seems just as simple to just delete from the Unassigned devices.

The quote from unbalanced thread was from a parity disk going into the previous disk slot, so array saw that as no Fs on it.

You seem to think you need to remove a disk then add it back. That must be where you are going wrong. You absolutely do not need to do what you are proposing. We have all done this before and this is all you need to do:

 

Stop the array.

Click on the disk you want to reformat to get to its settings page.

Change the filesystem to XFS.

Start the array to reformat.

 

There is never any removing a disk or adding a disk back again. The disk is already part of the array. You want to keep the disk as part of the array. You can format the disk while it is part of the array. Formatting will write a new filesystem to the disk, and since it is still part of the array, that write will also update parity so it remains valid.

 

As for the other thread, it is completely irrelevant whether the replacement disk had a filesytem or not. When you replace a smaller disk with a larger disk, that smaller disks contents are rebuilt to the larger disk. The filesystem of the smaller disk is its contents.

 

If you try to follow my instructions above, and for some reason you think it isn't working, post a screenshot.

  • Upvote 1
Link to comment
9 minutes ago, trurl said:

Stop the array.

Click on the disk you want to reformat to get to its settings page.

Change the filesystem to XFS.

Start the array to reformat.

 

This is exactly what I had done after removing all data from that disk. Problem was the format was grayed out and would not let me choose the xfs format, only could add back to array with the reiserfs format.

That is why I went to the other steps, thinking that the disk was holding some info from preventing me to format to xfs. Like I previously stated, only empty share folders remained on disk... Would that prevent the disk from formatting?

 

I am moving data from another drive now but will post a screenshot if I run across that again. .

 

Link to comment
10 hours ago, CarloC said:

As just a minor issue/suggestion, some of the written command lines (where the criticality of not making and error are highlighted) can be difficult to read when it comes to the spacing. Sometimes it loks like the command is just one long string but spaces in the string exist, and at other times there appear to be spaces but in fact it is a continuous string.

As a very much newcomer to this command line writing, so way to indicate spaces would be helpful and appreciated.

 

Wiki formatting is tricky, but I found a way to spread the rsync command parameters apart better.  I assume the 2 rsync commands are what you were referring to?  I could not see anything else where spacing mattered.  And I didn't find where "there appear to be spaces but in fact it is a continuous string".  Let me know.

 

While Trurl's answer is probably enough, it seems to me you may be unclear how unRAID works, so here are some basics.

* An unRAID array is a set of data disks plus parity disks.  Each data disk is very like a Windows disk, with its own file system and folders and files.  Each data disk can be shared as a disk share, or not shared.  Sharing is about providing controlled network access to the folders included in the share.  The unRAID User Share system is a whole 'nother level above the data drives, a virtual file system that combines all of the data drive file systems, and provides a different look at your data files.  It provides User Shares for every top level folder, with controls for sharing them.

* Global Share Settings should probably be renamed as Global User Share Settings, as it is strictly settings for User Shares, and is not involved at all with the flash share, Unassigned Devices shares, disk shares, Samba shares, NFS shares, etc.

* If a drive is excluded in Global Share Settings, then it is considered automatically excluded from all User Shares.  That's the whole purpose of the global setting.

 

When you select a swap disk, you are selecting a data disk in the array, and it stays a data disk in the array, with full parity protection.  I hope this helps.

Link to comment
2 hours ago, Harro said:

That is why I went to the other steps, thinking that the disk was holding some info from preventing me to format to xfs. Like I previously stated, only empty share folders remained on disk... Would that prevent the disk from formatting?

 

You can format a drive even if full.  The only thing that slows you down from formatting a drive is the checkbox that Squid mentioned, and that's an important safety feature long needed.  In the past, too many users have too quickly formatted drives, that shouldn't have.

Link to comment
13 hours ago, trurl said:

1) The disk is part of the parity array, but not part of the user shares.

2) Since the disk is not part of the user shares, the disk is shared.

3) All the disks that are part of the user shares are included, but not any disks that are not part of the user shares.

4) Since the disk is part of the parity array, parity is written when the disk is.

5) Not sure what you mean here. Writing to the disk will obviously decrease its free space.

Thanks for your help.

I have just finished the first drive re-assignment and it all went well.

I will now finish the rest but it will take quite a while.

It seems to me that the good part about this process is that the array is protected for most of the time, and I will only need to do a rebuild parity at the end of all the re-formats if I choose to shrink the array again. I might do this because there was one drive that was starting to play up and occasionally produced a few read errors.

Link to comment
4 hours ago, RobJ said:

 

Wiki formatting is tricky, but I found a way to spread the rsync command parameters apart better.  I assume the 2 rsync commands are what you were referring to?  I could not see anything else where spacing mattered.  And I didn't find where "there appear to be spaces but in fact it is a continuous string".  Let me know.

 

While Trurl's answer is probably enough, it seems to me you may be unclear how unRAID works, so here are some basics.

* An unRAID array is a set of data disks plus parity disks.  Each data disk is very like a Windows disk, with its own file system and folders and files.  Each data disk can be shared as a disk share, or not shared.  Sharing is about providing controlled network access to the folders included in the share.  The unRAID User Share system is a whole 'nother level above the data drives, a virtual file system that combines all of the data drive file systems, and provides a different look at your data files.  It provides User Shares for every top level folder, with controls for sharing them.

* Global Share Settings should probably be renamed as Global User Share Settings, as it is strictly settings for User Shares, and is not involved at all with the flash share, Unassigned Devices shares, disk shares, Samba shares, NFS shares, etc.

* If a drive is excluded in Global Share Settings, then it is considered automatically excluded from all User Shares.  That's the whole purpose of the global setting.

 

When you select a swap disk, you are selecting a data disk in the array, and it stays a data disk in the array, with full parity protection.  I hope this helps.

Thanks for your help and input.

 

Yes, it was the rsync commands that I found difficult to interpret. I find it hard to determine if the / has a space before or after it or if there is no spaces at all.

 

I was already a little sensitized to this issue because of an issue I am/was having with preclearing some drives.

In this post https://forums.lime-technology.com/topic/12391-re-preclear_disksh-a-new-utility-to-burn-in-and-pre-clear-disks-for-quick-add/?do=findComment&comment=506407 some corrections to the preclear_disk.sh file are presented.

I really struggled with getting the second more complex correction done and had to give up.

I will write a post to this topic talking about all the issues I have recently had with a preclear that would not go correctly.

 

The other information you shared has made me think of something. I'm not sure if this is the right place to bring this up.

It would seem to me that it is possible to have a second set of drives which are not a part of the user shares and could then act as backups to the drives in the array. The drives in the array could be public for use by anyone on the network, and the others could be secure and controlled by an administrator. Although not a true, offsite independent backup, they would be a set of redundantly protected backup disks holding copies of files.

Is this actually acheivable?

Does anyone do this?

 

Link to comment

With the help of some community members here, and the instructions in the wiki that are based on this thread, I have completed the addition of a new drive, and replaced a RFS drive with an XFS drive.

I now have a drive excluded from the global shares as per the instructions.

 

At this point I could repeat this process as per the wiki for the remaining disks using the rsync command and the disk swaping of assignments etc.

 

However, is it possible for me to complete the transfer of the rest of the drives in this fashion:

1) Stop the array and put the excluded drive back into the global shares

2) Start the array - Will a parity check occur at this point? the drive was already included in the parity calculations even if it wasn't part of the user share, correct?

3) Use the Unbalance plugin to shift all the files from one of the RFS disks to the newly included and empty XFS disk.

4) Stop the array and change the file system on the newly emptied disk from RFS to XFS

5) Start the array and then format the drive. Will parity be maintained by the copying method used by Unbalance?

 

I'm hoping that this will then present me with another XFS formatted drive which is included in the array and I just proceed until all drives are done.

 

Any help with this is again appreciated.

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.