Jump to content

Messed Up Rebuild with conversion to XFS


mp285

Recommended Posts

First off, let me just say that I do have up-to-date backups - so if I've completely screwed this up then I can always restore from them!

 

Ok, so basically what I was trying to do was upgrade one of the disks in my array (from 2TB to 4TB) whilst converting the file-system to XFS (so that I can use the 'File integrity' plugin).  Unfortunately I didn't read the documentation as well as I should and I seem to have messed it up!

 

My current system:

A: Parity - 4TB

B: Disk 1 - 2TB (to be replaced)

C: Disk 2 - 2TB

D: Disk 3 - 2TB

 

Replacement Drive:

Disk 4 -4TB

 

What I did (and now realise was a mistake) was to follow the normal disk replacement procress and slot in the new drive (Disk 4).

So:

  • Stop Array
  • Deallocate Disk 1
  • Power Down system
  • Replace Disk 1 with Disk 4
  • Restart System
  • Assign Disk 4 in place of Disk 1
  • Start array rebuild.

 

Immediately I noticed that the new Disk 4 was being formatted as ReiserFS rather than XFS.  A quick google later and I realised that this was intended.  So I stopped the rebuild, and powered down the system.  Which is my current status...

As I mentioned, my goal is to replace Disk 1 with Disk 4, but formatted as XFS.  As I see it I know have 3 options:

 

Option 1:

- Leave Disk 4 in the drive. 

- Complete the rebuild.

- Convert to XFS another way - probably by removing it from the array, wipe drive, reformat as XFS and restore contents from backup (or the removed Drive 1).

 

This is my least favourite option as it needs a pointless rebuild (taking a couple of days), which would be immediately wiped.

 

Option 2:

Restore Disk 1 to the array and start again from the beginning, doing it properly.

ie.

  •   Add Disk 4 to the array as an additional drive, formatted as XFS.
  •   Copy contents of Disk 1 to Disk 4.
  •   Remove Disk 1 from the array.

 

The problem with this is that if I re-insert Disk 1 it won't let me restart the array as it says that it doesn't have enough capacity to rebuild it.  ie. its now looking for a 4TB drive where Disk 1 used to be.

Is there anyway to override this, and say 'actually, trust me, this is fine'?  I'm assuming the attempt to rebuild wouldn't have altered the parity drive - so theoretically nothing would have changed?  I have backups of the flash drive, so would this be a simple as just restoring 'disk.cfg' and running a parity check?

 

Option 3:

Somehow convince the array that Drive 1 / drive 4 are completely gone and rebuild parity from just disks 2 & 3.  I could then add Disk 4 as a new drive, format as XFS and restore it's contents from backups.

 

My favourite is option 2, but I'm not sure how to make it work.

Any guidance or thoughts on this would be greatly appreciated - and if there's an easier way to do this then please let me know. At least this will teach me to read the documentation properly next time!

Link to comment

Rebuild from parity as I understand it, is a bit by bit replication of the original data.  I assume this includes the filesystem type.

 

If it were me I'd just add the new disk 1 with a new config and recalculate parity then copy data across from my backups. 

 

I may be wrong but it's what I'd do..

Link to comment

Rebuild from parity as I understand it, is a bit by bit replication of the original data.  I assume this includes the filesystem type.

 

If it were me I'd just add the new disk 1 with a new config and recalculate parity then copy data across from my backups. 

 

I may be wrong but it's what I'd do..

What he said.

 

Link to comment

What do you mean by adding the disk with a new config?

 

At the moment, if I boot up with the new disk in it, it just tries to continue the rebuild!  If I remove the disk from array, it tells me the array is unprotected and i need to insert a new disk as soon as possible.

Link to comment

There are a several ways you can do this but they all arrive at the same place.

 

Stop the rebuild. Go to Tools - New Config. You will have to reassign all your drives. Be sure you don't assign a data drive to the parity slot. Go to the page for drive 1 and change its filesystem to XFS. When you start the array parity will rebuild. Wait till after the parity finishes to format drive 1. Copy backup to drive 1. Done. You should probably do a parity check somewhere in there after the parity build but it's not important when exactly since you have backups.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...