Migrating to Unraid


Recommended Posts

My situation

- one Ubuntu home server with 2 arrays RAID 5 of 3 disks each (software raid using mdadm). All disks are 4TB (so total is 16TB). The server also gets a 64GB SSD for system and a 512GB SSD for some specific applications (Plex library files, database). Almost all applications are on Docker (so quite easy to reconfigure elsewhere).

- one entertainment center, Win 10, used for my games. 256GB SSD + 3TB HDD + 1TB HDD.

 

For space occupation reasons, I would like to combined it in one unique physical machine and Unraid seems quite attractive for that (I especially like the software raid and the way it allows to slowly grow without requiring to change a full array). 

 

My questions are then :

How to migrate my data? I see it totally feasible to get an extra 128GB SSD (I have one laying around) or even free the 512GB one from the server firstly to install my first VM (Ubuntu) and reconfigure it as it is on the server now. Then the topic of the data migration is the critical one, out of the 16TB, I use 12TB or so. Would that be possible to :

  1. put a brand new 4TB disk in the system, take another one from one of the arrays (putting the array at risk), create then a 8TB pool in Unraid without Parity drive.
  2. move the data from the array that has no more parity drive and move it to Unraid
  3. move the 2 disks of the now empty array as well as the parity drive of the second array to Unraid, add them in the pool, defining one of them as Parity (now get 5 disks so pool is 16TB in size). 
  4. Move the data from the 2nd array to Unraid
  5. Move the last 2 disks to Unraid, add them to the pool creating a second parity disk in the process.
  6. enjoy my migrated data on a single 20TB pool

the unknown here are :

  • is that possible to create a pool without parity then later add one parity
  • is that possible to grow a pool, then allocate more space to an existing VM which will then see the apparent disk size changed

 

Quick clarification : I have online backup of everything so I am ok to take the risk of losing an array by removing the parity disk, I did it in the past already. I just want to get the download process as a backup solution only because it takes a huge time (otherwise I would just build up new machine and re-download all on it without question).

 

Besides that initial setup issue, the next question is regarding the upgrade :

Now I'll be with only 4TB drives, from what I understood in Unraid, it is possible to mix and match different sizes of disk, as long as the parity drive is the biggest size. That is the point here. Let's say a disk dies, I replace it with 8TB model (to slowly increase my space as I replace disks in the future). Can I then define it to be the parity drive?

 

 

Link to comment

Taking some of the easy questions...

 

48 minutes ago, Memes11 said:

is that possible to create a pool without parity then later add one parity

Yes.

48 minutes ago, Memes11 said:

s that possible to grow a pool, then allocate more space to an existing VM which will then see the apparent disk size changed

I'm not sure I understand the question. However, is it possible to grow the Unraid cache pool with additional disks? Yes.  Is it possible to grow a VM disk image file and then have the said VM see the extra space? Yes.  Do you want to run a VM on the disk array?  Can you, yes. Do you want to, no because of the over-head in parity.  Some people use image files on the cache-pool (ssd); other's like to attach a ssd, HD, or NVMe to a VM for it to use.

 

53 minutes ago, Memes11 said:

Now I'll be with only 4TB drives, from what I understood in Unraid, it is possible to mix and match different sizes of disk, as long as the parity drive is the biggest size. That is the point here. Let's say a disk dies, I replace it with 8TB model (to slowly increase my space as I replace disks in the future). Can I then define it to be the parity drive?

 

Case 0:  If you have a data disk fail, you'll want to replace the disk first, then replace your parity disk after the data has been rebuilt.  I might get this wrong, if your parity is 4TB, your data disk fails ("I'll be with only 4TB drives..."), and you replace the drive with an 8TB then the system will rebuild the data on disk but it will still be 4TB of disk space.  

 

Case 1:  If your 4TB parity drive fails, and you replace it with an 8TB drive, once parity has been rebuilt then yes you could start upgrading data drives in array with larger drives.  Again like in case 0, you could upgrade with a >8TB drive, but only 8TB will be formatted/protected.

 

Case 2:  If you're running an array of drives without parity; lose a 4TB drive and replace it with an 8TB, you would see 8TB of space -- but this case you lost data on failed drive, because there is no parity. 

 

Can you take a disk in the array and assign it later to parity?  Yes, however you'll want to copy off any data before-hand to another drive as it will be erased.  Also, this gets to be a little messy as the array will be looking for a disk in the slot which your now-parity disk is taking up -- here your choices are replace the disk with another to fill in the slot, leave it blank and explicitly specify disks for shares (skipping that slot in array), or backup all data and remake the disk array (starting over).

 

1 hour ago, Memes11 said:
  • put a brand new 4TB disk in the system, take another one from one of the arrays (putting the array at risk), create then a 8TB pool in Unraid without Parity drive.
  • move the data from the array that has no more parity drive and move it to Unraid
  • move the 2 disks of the now empty array as well as the parity drive of the second array to Unraid, add them in the pool, defining one of them as Parity (now get 5 disks so pool is 16TB in size). 
  • Move the data from the 2nd array to Unraid
  • Move the last 2 disks to Unraid, add them to the pool creating a second parity disk in the process.
  • enjoy my migrated data on a single 20TB pool

Process seems right. To aid in copying speed you may want to add the parity, on Unraid, last.

 

I hope that helps.

Link to comment

Thanks for all the answers.

 

The idea is to use the SSDs in a cache pool, run the VM off of it. The data resides on the HDD pool.

 

But from further reading I have done, seems that I mis-conceptualized Unraid as an hypervisor while it is more a NAS OS with built-in virtualization for easy spin off of container or VM. am I right?

Link to comment
5 minutes ago, Memes11 said:

Thanks for all the answers.

 

The idea is to use the SSDs in a cache pool, run the VM off of it. The data resides on the HDD pool.

 

But from further reading I have done, seems that I mis-conceptualized Unraid as an hypervisor while it is more a NAS OS with built-in virtualization for easy spin off of container or VM. am I right?

Correct...IMO...

Link to comment
4 hours ago, Jcloud said:

Case 0:  If you have a data disk fail, you'll want to replace the disk first, then replace your parity disk after the data has been rebuilt.  I might get this wrong, if your parity is 4TB, your data disk fails ("I'll be with only 4TB drives..."), and you replace the drive with an 8TB then the system will rebuild the data on disk but it will still be 4TB of disk space.  

That won't work. There is a procedure specifically crafted to deal with that situation.

See here for a thread linking to and discussing the procedure.

https://forums.unraid.net/topic/59500-solved-parity-swap-procedure/

 

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.