Help Me Migrate!

guitarslingerchris

Supreme [H]ardness
Joined
Oct 29, 2004
Messages
7,379
Okay, so long story short my server has changed forms many times and at times, like now, it's my only personal Desktop. Problem I ran into before that got me to where I am now is that I ran out of space and did not have money to invest in a significant new setup so I offloaded data and dropped RAID and ran everything on single drives. This was great until I came to my current predicament where I have 15 drives in my system and all of them are managed individually.

Now I still don't have a serious chunk of change to invest in an all new setup but I have ~$500, could possibly swing more but time will tell, and I want to figure out how best to begin to migrate all of this data to a stable, growable RAID config with acceptable performance.

Specs:
Core i7 3820
Gigabyte X79-UD3
16gb G.Skill DDR3 1866
Gigabyte GTX 680
Xonar Essence STX
SuperMicro AOC-SASLP-MV8 (I have two of these but only use one currently)
Crucial M4 128gb
Crucial M4 256gb
(2) 1tb Western Digital Black FALS (separate RAID1)
(1) 2tb Western Digital Black FAEX (Downloads/Steam/scratch disk)
(1) 3tb Hitachi 7K3000 (Probably dying, who knows? Assume this won't see the next iteration of the machine)

RAID candidate drives:
(5) 2tb Samsung F4
(2) 2tb Seagate Barracuda Green
(6) 3tb Seagate Barracuda (Three of these currently, three more arriving tomorrow)


All of this is housed in my Fractal Define XL case which I love but will reach it's capacity once my new 3tb drives arrive.

My initial plan was to pick up a Norco 4224 case and build another machine specifically to run the server. I have the cash to pick up the Norco 4224, and it's very possible I could borrow the necessary parts to run the server until I can build my own but that still leaves me short of a RAID card and cables. I assume this means I would be best off shooting for a ZFS software RAID setup of some sort?

My Goal is to find an acceptable solution within my current means so that I can create a RAID that I can add disks to. This will let me build the initial RAID with 3-5 disks and add more as I empty their data onto the RAID.

Help me please!
 
Last edited:
@OP - keep me up to date.. I'm in the exact same predicament.

Software RAID with all your hard drives is too risky, I think. The best bet would be to invest in hardware raid. Is there anyway you have old PC parts somewhere that you can use to build a homemade file server?? If so, you can bypass the Norco.
Also aren't you afraid of running RAID? Like I'm always paranoid that if I run RAID and I delete a reallly important file from one hard drive means the file is gone forever on the other hard drive whereas if I manually backup then I still have the file..
 
What kind of performance and redundancy are you looking for? Do you need a hardware solution, or would you be happy running something like FlexRAID or UnRAID on a spare box? Is it just for storage, or are you using it for work or something?
 
@Forceman: Nothing mission critical that I won't have backed up elsewhere. Performance is somewhat negligible as long as it's usable, I used to run a solution years ago that would bog down to 12MB/s writes but I could live with it since I was reading at ~100MB/s.

Redundancy I haven't exactly pinned down and I am not sure whether or not I will require a hardware solution, that's a lot of what I need help figuring out. Down the road this will be my focus again and I can put real money into it but for now I need to at least map out a course of action that will let me proceed without managing 15+ separate drives.
 
With all those dissimilar makes/models/sizes of HDD's you're far better off with a non-striping solution like unRAID/FlexRAID/SnapRAID rather than striping solutions like hardware raid and zfs.

#2 its virtually impossible to regret buying a Norco 4224, they're just too damn convenient for the pricepoint when you're getting into 16+ drives territory.

#3 if you dont have the funds to build an entirely separate server (although making your desktop/gaming system double as your storage server is discouraged for many reasons), then you could build out the norco case as a jbod box (external drive rack basically) with a PSU, supermicro ATX power board and Intel expander with a miniSAS cable interlinking the expander in the norco and the controller in the main system, if you want pictures of how this looks I can post some.
 
Last edited:
With all those dissimilar makes/models/sizes of HDD's you're far better off with a non-striping solution like unRAID/FlexRAID/SnapRAID rather than striping solutions like hardware raid and zfs.

I wouldn't be opposed to creating separate RAIDs specifically for like drives. I am actually going to clean up that list because not all of them would be intended for the RAID anyhow.
 
@odditory: I am limited physically with another box. If I end up getting the 4224 it will have to be placed on the opposite end of the house so it will need to be a standalone solution.
 
I wouldn't be opposed to creating separate RAIDs specifically for like drives. I am actually going to clean up that list because not all of them would be intended for the RAID anyhow.

Its one way to go but not all of those drives may be happy in hardware raid and If you dont need greater than single disk read/write performance then for storing media and whatnot you're better off not striping anyway. However striping systems do take some of the headache out of pooling. But unless you want to build multiple raid6's and lose 2 drives per array to parity overhead then you could gain greater resilience at least statistically speaking by going triple or even quad parity on FlexRAID (and I believe SnapRAID author is working on triple parity).

Just things to consider - good to have options. And you want to test these systems to see if they feel right and there's a comfort level. Personally I love the concept of the newer non-striping raid software and they work well in testing but I have a large existing investment in hardware raid and I'm having difficulty leaving it and transitioning to a software based system because the hardware raid has proven itself so damn reliable. if hardware raid then I can't speak highly enough of Areca 188x cards.
 
Last edited:
I like the looks of FlexRAID but I have questions.

1. Assuming I set it up I would probably first set it up on my current system while I put together the new one. How would I go about moving the drive pool or would each individual drive still work independantly and I would just rebuild the drive pool from scratch on the new system?

2. If you add drives to the pool with existing file structure and data do they gain the benefit of parity or do you need a clean drive for that?
 
In the context of FlexRAID yes the drives work independently even when they are pooled, and if you set them for sleep/spindown and then try to access a movie lets say, only the disk that actually contains the movie spins up, not the whole pool like striped raid. Similar to unRAID, however unRAID maxes out at 1 parity drive (and I believe they half-ass implemented the possibility of a second parity disk which is just a copy of the first rather than real double parity calculation like RAID6)

And adding drives with preexisting partitions and data is the whole beauty of it -- adding these drives to the pool is a read-only process, meaning no existing data is modified, there is no "initialization" like typical hardware raid. And when you remove drives from the pool they're still a plain old disk with NTFS. The pooling is just a means of virtualizing plain NTFS drives into a single drive letter, and writing to the pool will fill up a disk at a time by default beginning with whichever has the most free space (however it can also be configured to spread data out evenly across all drives, but that has downsides).

To gain the benefit of parity, parity data has to be created and that requires a clean drive, yes. The methodology is similar to RAID4 where the drives containing data (aka DRU's) don't have any parity data on them. When one or more disks are configured as parity disks (aka PPU's) they get one large parity file preallocated on them - that also makes file fragmentation a non-issue.

As for as moving the pool you'd just reconfigure it on the new system same as the old - I'm not 100% on the best practice here and there's probably technically a way to move a configuration file and not have to do anything else but OTOH recreating the pool only takes 30 seconds and then you'd run a validation process to make sure you didn't make any mistakes in the config -- that's also a read-only process and doesn't risk data if you did make a mistake. The system is designed in a way that its extremely difficult to screw up your data.
 
Last edited:
I appreciate the response, you've enlightened me quite a bit and this sounds like a solid possibility for moving forward.
 
And just to clarify what odditory said about FlexRAID, if you add a new data drive, you don't necessarily have to add a new clean parity drive (depending on what RAID level you choose, I guess). A single parity drive can handle any number of data drives (assuming you are happy with that level of redundancy) so it isn't a 1 for 1 requirement. You would need to rebuild the parity data itself, but a single 2TB parity drive can handle any number of 2TB data drives (again depending on redundancy level chosen).
 
Yeah technically you could have one parity drive protecting a million data disks, and in terms of parity disks FlexRAID goes way beyond what pretty much anyone else is offering which is an unlimited number. You could have 10 parity disks protecting a single data disk if you wanted. Whereas ZFS maxes out at triple-parity, hardware raid maxes out at double (though there are a few vendors offering triple I think), unRAID maxes out at 1+1, SnapRAID maxes out at double-parity, you get the idea. It's loosely similar to the QuickPAR concept except much more robust obviously.
 
Absolutely not, but then FR isn't trying to be backup software. A physical separate 1:1 copy of your data is superior to parity based raid.
 
Flexraid seems interesting. I am however concerned about data integrity. It is not a matter of adding checksums to ensure data integrity, you need to use end-to-end checksums, as CERN says. I dont know too much about Flexraid and data integrity. But, in theory, you could run Flexraid on top ZFS and get the best of two worlds. Create individual ZFS disks, and give all disks to Flexraid.

Anyone tried that?
 
Flexraid seems interesting. I am however concerned about data integrity. It is not a matter of adding checksums to ensure data integrity, you need to use end-to-end checksums, as CERN says. I dont know too much about Flexraid and data integrity. But, in theory, you could run Flexraid on top ZFS and get the best of two worlds. Create individual ZFS disks, and give all disks to Flexraid.

Anyone tried that?


You could do that (I use SnapRAID in conjunction with single drive ZFS filesystems on one server). Bear in mind though, that you lose the self-heal capability of ZFS (ie ZFS can then only detect checksum errors rather than detect and repair)
Individual file restore after checksum error is then down to Snapraid/Flexraid.

Some pros of this approach are

- you can easily mix drive sizes
- in the event of multi disk failures, you only lose the contents of the failed drives
- you can spin down unused disks if you want
- array expansion is easy

and some of the cons

- it's not "live" parity, so you can only recover up to the point of the last parity sync ***
- performance is lower than a striped array
- it's slightly more complicated (in terms of setup/admin)

*** this makes this approach unsuitable for a general purpose filesystem, but for a media collection which doesn't change all that much, it can be ideal.
 
I gotta say, if ZFS had the native ability to do pooling without striping so that individual disks rather than the whole pool would spin up when accessing a file, and you also had end-to-end checksumming and array expansion, it would officially be the greatest filesystem for home media storage to ever have walked the earth. And the ZFS + Flexraid combination seems interesting but it creates a barrier to entry since its somewhat complex to set up and manage as you said.

Interestingly, the FlexRAID author is working on a ZFS-like implementation for Windows (and maybe *nix too, not sure) which he's dubbing NZFS and details have been scarce but hopefully we'll find more out soon.
 
Last edited:
Okay, I have my new 3tb drives in hand and time to play with this stuff tonight. What I want to accomplish is creating a parity RAID-F setup with FlexRAID on the 3x3tb I just received and begin to fill that with data. As I empty drives I will wipe them and add them to the RAID one at a time.

1. Is that doable or recommended?
2. Can I increase the number of parity drives as I add drives to the RAID and does it matter the size of the drive?
3. This will be mostly media files but it's quite a lot of content, over 20tb at the moment, so how many drives should I sacrifice for parity?
 
Are you using storage pooling?

I have mine set up with no pooling, and the way it works is that you need as large a parity drive (or combination of drives) as your largest single data drive. So if you have a 3TB and a 1TB as data drives, you would need 3TB of parity space (assuming single redundancy). However, you can add as many 3TB or smaller drives as you want without adding additional parity drives. But if you were to add a 4TB drive to the system, you'd need to add an additional TB of parity space. So you can easily add additional drives (parity or data) down the road - the system will have to rebuild the parity data, but it's not a big deal.

As for how many parity drives, I guess that's down to how much you value the data. I only have 6TB of data, mostly media files, so I'm using a single parity drive.
 
My plan is to use 3x3tb drives initially, 3tb being the largest single drive, and then add the remaining 3x3tb and 7x2tb I have AFTER their data has been added to the pool.

EDIT: Perhaps I'm confusing terms here but my intention is to create a single logical disk with parity out of 7x2tb and 6x3tb drives. At the moment though I only have 3x3tb drives that are empty so I need to create this first, then migrate the data and then add the disks as they become available.
 
Thats no problem and I'd go 2 parity drives with that many disks. That means 2 x 3TB drives would be lost to parity when all is said and done. But to jumpstart the migration I would take the empty 3 x 3TB drives and create a pool with 2 of them set as DRU (data) and 1 set to PPU (parity). Fill up the 6TB of free space in the pool, snapshot it (create the parity data), then add more drives to the pool as you free them up, and at some point you'll want to add a second 3TB for the second PPU (parity drive).

The FlexRAID trial is 2 weeks so before you really migrate everything over you may want to get comfortable with it first, create the initial pool and copy a few GB's of files to it -- then practice the snapshot function and simulating a restore after a failure, etc. For the pool type its probably the "Cruise Control" + Snapshot mode you'll want - thats what most people choose for storing lots of media files that arent constantly changing.
 
Last edited:
Playing with FlexRAID and reading some of the wiki makes it seem like I don't need to ditch the data on the drives at all to create a pool with parity. Is this a new feature or am I missing something?

EDIT: Looks like it only wipes out the PPU drives. So in theory I could setup two of my new drives as PPUs and add everything else in?
EDIT2: Testing the theory anyways, I have a single 1tb that is fully backed up so I just tossed it into the RAID and we'll see what happens.
 
Last edited:
That's true - the data stays, only the parity drives get wiped.

My question with regards to pooling is, do you want the 2x3TB to show up as 2 drives in the system, or are you going to pool them into one large 6TB logical drive? I have mine set up without pooling so I have independent discs, not one big pool. It kind of sounds like you want pooling, but you have to buy a different package to get that (at least you did, maybe it has changed) - RAID plus Storage Pooling.
 
That's true - the data stays, only the parity drives get wiped.

My question with regards to pooling is, do you want the 2x3TB to show up as 2 drives in the system, or are you going to pool them into one large 6TB logical drive? I have mine set up without pooling so I have independent discs, not one big pool. It kind of sounds like you want pooling, but you have to buy a different package to get that (at least you did, maybe it has changed) - RAID plus Storage Pooling.

I'm using the trial at the moment which presumably has everything unlocked. I want pooling because I now have 17 separate disks after removing the Hitachi 3tb so it's killing me to manage it all across those drives.

After adding the 1tb with data on it, the drive in Windows showed no change so I stopped and started the pool but at that point the drive showed up in Windows but wasn't accessible. Removing the 1tb with data seemed to clear everything up. I'm copying the same data to the original drive pool now to see how this stuff works but the first drive with data addition was a failure so far.
 
I don't really follow the second sentence, but keep in mind that when you add a preformatted drive to the pool (meaning one that already has a partition and drive letter), once its added to the pool, that drive gets hidden from being accessed in windows directly (meaning the drive disappears from the list of drives in explorer), and when the pool is started then a new drive letter shows up that represents the pool. This is intended behavior because FlexRAID needs to manage the drive while its in the pool, else conflicts would arise if you had direct access while it was pooled. Naturally if that drive is removed from the pool then you've got direct access to it again and no data is modified in the process of de-pooling.
 
Yeah, I'm not sure if you can add a filled drive if you are using pooling - I've only ever used it with individual drives.
 
Yeah, I'm not sure if you can add a filled drive if you are using pooling - I've only ever used it with individual drives.

ofcourse you can add drives with existing data to the pool as DRU's, thats one of the biggest selling points. in fact you have to preformat a drive NTFS and give it a drive letter (or use the Mount As Folder function in windows disk management) before it even shows up in the selection list to add to the pool.

And I do encourage the "Mount As Folder" method rather than drive letters, there are several advantages besides better organization (from the wiki/tutorial below):

- Prevents unnecessary spin-up of drives when you open Windows Explorer
- Prevents clutter in Windows Explorer by showing only your storage pool and not the drives that make up the pool
- Prevents the risk of contention due to simultaneous access of the same file from the Storage Pool and the individual hard drive
- Simplifies organization of your drives
- Allows for the use of more than 26 hard drives as it is not limited by the number of letters in the alphabet

So for the first three drives in my enclosure, rather than drive letters D, E, F, I configured them as C:\Disk 01, C:\Disk 02, c:\Disk 03, etc. And these correspond to the slot # in my Norco case - that way if one fails I know exactly which one without trying to figure out which slot is drive letter G. Finally, rename the volume label of each disk to match - Disk 01, Disk 02, Disk 03, etc.

Here's a tutorial for doing this.. http://wiki.flexraid.com/2011/09/29/tips-mounting-your-drives-as-folders-on-windows/
 
Last edited:
ofcourse you can add drives with existing data to the pool as DRU's, thats one of the biggest selling points. in fact you have to preformat a drive NTFS and give it a drive letter (or use the Mount As Folder function in windows disk management) before it even shows up in the selection list to add to the pool.

Like I said, I've never tried it - so good to know.
 
Well it seemed like it should have worked but perhaps I should have stopped the pool before adding the data drive to the pool? I'll give it another shot tonight but it definitely wasn't working for my last night.
 
Yeah I dont *think* you can just hot-add drives to a running pool without at least a restart but I'll double check. I always just stopped it before adding drives to pool out of habit since it only takes 5 seconds and was assumed as the cleaner practice.
 
@OP - keep me up to date.. I'm in the exact same predicament.

Software RAID with all your hard drives is too risky, I think. The best bet would be to invest in hardware raid.

Hardware RAID with a bunch of desktop-class, Green drives? Not a good idea.
He would be much better off with software RAID, assuming MDADM or AppleRAID.
Even FlexRAID might be an option.

Hardware RAID with those drives, if one dies, is very risky under the circumstances.
 
I successfully got FlexRAID working the way I want last night. I need to do further testing to make sure that it will survive failure but so far I'm very happy and it's working extremely well.
 
Back
Top