5

I have a 6 disk (2TB each) mdadm RAID 5 volume created in Ubuntu 12.04 Server. However, I'm moving to a different solution and want to "unraid" my disks but keep the data. Only 50% is in use.

From what I can surmise I basically have to do this recursively for each physical disk.

  1. Fail the disk
  2. Format the failed disk
  3. Move a portion of files to the new disk.
  4. Reshape the array
  5. Shrink the logical volume md0

This seems like a very time consuming process. Is there an easier way to do this (automatically perhaps) without buying new disks to temporarily hold the data?

I am also aware that during this processing my RAID volume will be degraded and vulnerable the entire time. I am not too concerned about this and will be using battery backup and moving the most important files off first.

Thank you for your help!

3
  • Anyone have any ideas? Oct 12, 2012 at 18:30
  • What is this new solution? Why is leaving the RAID set not an option? Indeed reshaping an array is time consuming.
    – jippie
    Oct 21, 2012 at 19:07
  • What I ended up doing was marking one disk as faulty, resizing the filesystem, and then reshaping the array. When the disk was removed I then formatted it as ext4 and moved 2TB of data to the drive... etc etc. Took forever... But all data intact :) Oct 25, 2012 at 13:12

2 Answers 2

3

What I ended up doing was repeating this procedure until I had all of the files off.

  1. mdadm /dev/md0 --fail /dev/sd... --remove /dev/sd...
  2. mdadm --zero-superblock /dev/sd...
  3. mkfs.ext4 /dev/sd...
  4. resize2fs /dev/md0 (disk size)
  5. Copying 2TB of data to /dev/sd...
  6. Go to step 1 until all of data is off of md0.

After this is all done I did the following:

  1. mdadm --stop /dev/md0
  2. mdadm --remove /dev/md0

All went well and I didn't even loose any data. Obviously you should back up your data, but in my case backing up 6TB isn't really feasible. Therefore, I was willing to take the risk. There were a lot of vulnerability points to this process and it takes a long time. I'd urge you to only do this with data you either have backed up or can easily recreate.

2
+100

Well, you have RAID5 on 6 2TB disks which gives you 10TB usable space, 50% of which is used by data - that's 5TB you have to put somewhere. I don't think you can do this any other way without having additional disks. Which doesn't really help you.

However I wanted to note one thing - you'll be moving part of this dataset to a single disk, which gives you no redundancy and after that you'll be resizing the raid5 set which may result in its corruption in the process.

From what you plan to do and the constraints you described I understood you do not have a backup of this dataset. Are you sure you want to do it this way without first moving the data somewhere else? This sounds like an overly optimistic approach :)

2
  • No sense in letting the bounty go to waste. Here you go :) Oct 25, 2012 at 13:24
  • That's generous :) Thank you very much. I see you like the adrenaline, but I'm glad you got lucky. This time :> Oct 26, 2012 at 11:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .