Confused about which HDD's to buy :-(

Status
Not open for further replies.

DVitoD

Explorer
Joined
Dec 13, 2014
Messages
78
Hello :)

I'll try to keep my problem short and simple:
  1. I'm a noob
  2. I'm stupid
  3. I'm a stupid noob :D

With that disclaimer out of the way:
  1. I have Synology NAS'ses, 16x WD RE4 4TB in it (2x8);
  2. I am running out of space and am studying migrating to FreeNAS; I will use the 16 RE4 disks in there too;
  3. I have a testbox with 1 WD 2TB disk in it;
  4. To properly test and study FreeNAS, I need to buy extra disks so I can put in at least 4 disks in the testbox; I will be reusing these new to buy disks in the FreeNAS system too (of course);
  5. I am thinking about a 10 or 12 bay server;
  6. The problem at hand is: which disks to buy, 4TB or 6TB?
    1. I understand a VDEV has to use similar disks. That would argue for buying 4TB disks for the test system too;
    2. Unfortunately, WD RE4 and WD Red are almost the same price; I could buy me the bigger 6TB disks to benefit extra from more space;
    3. That would require me to create more than 1 VDEV; 1 VDEV (VDEV-A) for the 4 TB disks, 1 VDEV (VDEV-B) for the 6 TB disks.
      1. Situation 1: only 4TB disks: VDEV-A (4 TB disks) : 1x8 from Synology + 2 from the testbox = 10 -> (10-2)*4 = 8 *4 = 32 TB of storage;
      2. Situation 2: 4TB and 6TB disks:
        1. VDEV-A (4TB disks): (8-2)*4=24TB
        2. VDEV-B (4-2)*6 = 12TB
        3. Total: 36TB
    4. So, this is a minimal difference of only 4TB:
      1. But the 6TB are already 'an investment in the future' compared to the 4TB. If I need to expand, I only need to expand the 4TB disks (I already have 4*6TB disks then);
      2. However, the 6TB have only 3 years warranty, the RE4's (4TB) have 5 years warranty;
  7. If it is starting to daze you, please feel in good company, as I am getting confused about what to do also :p

Now, what makes it even more complicated is: I am only starting to learn FreeNAS. It is fairly complex to understand what to do for the combination of optimum price/speed/reliability:
  1. I am noobly assuming only 1 zpool, and as big as possible a single VDEV RAID-Z2 (not in the above case of 6TB disks of course, then it would have to be 2 VDEV's). A single VDEV, in order not to sacrifice too many disks to parity;
  2. But it might very well be that the expert wisdom in here says 1 VDEV is a bad idea (I am reading a lot, but there are so many threads on this forum, so I haven't found the thread dealing with the optimum number of VDEV's :D).
  3. EDIT: Especially on reading this thread: https://forums.freenas.org/index.php?threads/disks-dropping-from-array-during-scrub.25038/ , which actually scared me. Destroying a whole pool(?) I thought ZFS was so safe this can never happen?

So, basically my question are:
  1. Speed/reliability/price, should I create 1 big VDEV with 4TB disks, or are there valid reasons to use more than 1 VDEV (then the 6TB disks might come into the picture);
  2. I've also read something about 'mirrored zpools', but I couldn't find out what is meant with that. Does that mean you have a redundant zpool? Does that make sense? Is it relevant?
I apologize for this rather not so clear post. That is exactly the situation in my head right now :oops:

Thank you in advance for any help :)

Bye,
 
Last edited:

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I'd not worry too terribly much about the warranty difference. Between years three and five, the cost-to-replace for the disks are much less than buying a new disk today.

I think your problem is that in #1-3 in your short problem summary, you're wrong. You're reading and you seem to have a lot of various good bits of info. The things you seem to be missing or unclear on:

1) A single vdev is bad if it is wide, meaning "made up of a lot of component devices (individual drives)". Going much wider than perhaps a dozen or maybe 18 gets dicey. You do not necessarily need more than one vdev. You may get better performance out of more vdevs, though. I have an 11 disk RAIDZ3 vdev here as the only vdev in a 30TB pool and it is just fine.

2) You can actually mix 4TB and 6TB drives in a RAIDZ2 or RAIDZ3 vdev, but it'll use the size of the smallest drive. In certain situations where you planned to upgrade later, this might make sense, since ZFS can be set to autoexpand a vdev's size when you replace disks.

3) ZFS is not magic and it can be damaged. Worse, the ZFS model assumes that you are being sufficiently diligent about the design and administration of your pool, and the available features are hellishly complex, so the strategy is that any errors in the pool can be detected and corrected - there is no tool to go and try to correct undetected errors in a pool (no fsck or chkdsk). If you corrupt a pool, it could potentially result in loss of the pool. This should never happen to a properly designed and administered pool, but that does not mean it cannot happen.

4) A pool made out of mirrored vdevs is using a RAID1-like strategy for the individual vdevs and might seem vaguely like RAID10 when looking at the overall pool.
 

DVitoD

Explorer
Joined
Dec 13, 2014
Messages
78
Thank you for your reply, and your kind words, Jgreco :D

1. Ok, so I don't need more VDEV's for reliability, that's great news. Currently, I am considering a max situation of 10-12 disks. But then again, the data hunger never stops (:p). 16 disks will have to be the max anyway, I don't plan on becoming a Google data center :D
- It's interesting to see that you use RAIDZ3, btw: just this afternoon I was reading an article that RAID6/RAIDZ2 are bound to be obsolete rather soon too, the bigger the disks (6TB) get. I might consider doing RAIDZ3 too.​
2. Thanks, now that you mention it I recall reading that before. I simply forgot. Makes the thinking a little bit easier :)
3. Thank you. I actually am such a noob that I can't assess in that referenced thread whether or not his setup was solid. It just got me scared. And on reading more this day, I was thinking: ok, and what happens if the ECC-RAM gets broken? Simply, the chip is defective from one moment to the next. What happens then? Is your pool gone then too? Because that would mean that, despite all the miracles of ZFS, it is very risky: one defective RAM chip (and they do break from time to time), and you're gone. ?
4. Just so I understand: it means you take for example 6 HDD's and put them in VDEV-A, and another 6 HDD's and put them in VDEV-B. Your original data resides in VDEV-A, and is mirrored to VDEV-B (ZFS does that?). Is it wise to do this? Has it added benefits beyond just a VDEV-A with 12 disks in it? (Leaving aside the loss of RAW storage space).

Thank you again Jgreco :)
 

R.G.

Explorer
Joined
Sep 11, 2011
Messages
96
I'm relatively close to noob-dom on FreeNAS, so the experts will have to correct this where I get it wrong, but I have some comments that seem correct to me and that I think would be useful to other newbies.

(1) It is somewhat amazing that we have a computer-world where an individual can even contemplate having and managing tens of terabytes of data. Wow. This was the exclusive realm of governments and enormous corporations not all that long ago. (yes, I'm old)

I have a very active data-life for a single human. There are a dozen PCs in my house, eight of which I can touch from my seat in my office. The backup on all of these machines together is a few TB. To have tens of TB to back up, you're hosting a lot of music, pictures, and video. It would be good for you to ponder what of that data is really, really irreplaceable. You're spending a lot of money (for a single human, not an organization) and considering spending a lot more to keep those bits in your house. You're also spending a lot of your personal time managing that data and introducing the possibility of a keyboard mistake wiping out a lot of it. Have you considered something like Amazon S3 Glacier?

The point here is that (1) humans are pack rats and (2) different kinds of data are actually worth different amount of worry and money spent on keeping it.

(2) ZFS and by extension FreeNAS is an industrial grade solution to managing huge amounts of data that happens to fit within the systems that we can buy. Along with that industrial strength ability comes some complex and non-obvious issues. This is not as simple as making a new copy on another disk. ZFS solves a couple of specific problems in keeping large chunks of data, but you pay for that with the potential for losing large chunks of data with no hope of recovery if you type the wrong thing.

ZFS is an attack on two items - the need to use an entire trained human or maybe several of them to manage what data is in what disk, and the threat of silent corruption of data. In an earlier life, I employed a storage administrator to keep the storage up to date for my department. There is a lot of moving data from volume to volume as you exceed one disk's capacity and bringing more storage on line or off as disks die or data grows. ZFS solves this by internally administering data on multiple disks invisible to the user. The silent corruption issue is also a biggie. Data rots. CDs and DVDs rot and lose bits, and disks corrupt and die. ZFS is a suite of approaches to detect the inevitable bit-rot, and correct it by storing additional checking and correcting info. All of the data in a Zdev and Zpool is knit together with this detect-and-correct web of stuff, so you pay for your fixing bit-rot with the need to preserve the entire pool by losing no more than the allowable number of dead disks at once. ZFS is not fragile on the scale of individual bits, bytes, or disks, but it is prone to losing 100% all of it if you do the wrong thing. This is counter-intuitive to even some computer-savvy folks, and even some professionals.

So as advice:
- consider the value of your data in terms of how hard/expensive it would be to get it back if you simply lost it
- consider the value of your time spent managing your data
- consider the bet you're making in wagering that you have/will learn enough about ZFS to manage it properly and avoid the sudden total death of your data

After that, if you're still up for the bet, what jgreco said.
- go read "ZFS Best Practices". Now read it again.
- make zdevs in groups of no more than 12 disks per zdev. I like 7 or 11 disks per in RAIDZ3, but that's just me.
- worry about where you'll back up your ZFS. I use my ZFS as a backup medium, not as a working medium. If you are using your ZFS server as a working medium, you simply must have a backup for IT. Proper backup practice uses at least three levels; working, backup and backup-backup, and even better three rotating backup levels exclusive of the working store level. There is whole set of best practices in the area of backups. In any case, if you have less than two copies of your data *and a way to tell which one is right* and *you have tested that you actually CAN get the data back out of your backup* then you have no protection against a finger slip on the keyboard, a cosmic ray in your memory, or a random read error on the disk corrupting your data. How much was that data worth?

Here's my dim reaction to your questions. Bear in mind that I have a lot of professional computer background, but have only been tinkering with ZFS and FreeNAS for a year or two, and then only incidentally.

>> I am running out of space and am studying migrating to FreeNAS; I will use the 16 RE4 disks in there too;
EGADS that's a lot of data for one person. You really need all that stuff??

>> The problem at hand is: which disks to buy, 4TB or 6TB?
>> ... similar disks ... almost the same price ... benefit extra from more space ... more than 1 VDEV ... 'an investment in the future'
>> If I need to expand ... 3 years warranty ... 5 years warranty;
I find it helpful to think data-centric. Preserving data costs money and time, and all data corrupts over time. The most stable data preservation media that humans have come up with are (1) stone (hieroglyphics) (2) ceramic (cuniform clay tablets) (3) paper-ish (papyrus and similar). If these all seem very non-dense and slow, well, they are. Data storage is a trade off of stability versus cost versus access time versus density.

I have come to think of computer hardware as being a fungible, rotting medium where the data I want to keep is copied into new storage as the new storage comes on line. Three years is actually a very comprehensive warranty, as in three years new storage becomes available and affordable that makes keeping the old stuff on line questionable. Think of flowing new hardware under your data to keep the data afloat.

>> I am only starting to learn FreeNAS. It is fairly complex to understand what to do for the combination of optimum price/speed/reliability:
The solutions to speed/price/reliability are non-obvious in several ways. The need for speed is somewhat overrated. If you're streaming video, yep, you have a need for speed. That's a highly specialized need, and IMHO not a fundamental issue about how to store masses of data. Why base your data backup scheme on the need for super-speed for pieces of it at a time? They're two conflicting needs, and frankly, it is very cheap to build a separate very fast computer with fast data streaming needs that is backed up by slower, but more certain-to-survive bulk data storage.

It's worth remembering that "Good, fast, cheap; you may pick any two." appears to be a universal law. The only relief from this is that the definitions of "good", "fast" and "cheap" are defined by you, and that the computer industry continuously makes improvement possible. But at any moment, the maxim is true. And remember that "optimum" necessarily implies that none of them are fully realized.

>> I am noobly assuming only 1 zpool, and as big as possible a single VDEV RAID-Z2 ... single VDEV, in order not to sacrifice too many disks to
>> parity;
Not the best choice, IMHO. The intricacies of ZFS, managing pools and devs, and the failure rates/resilver rates indicate that under 12 drives more or less is best for a VDEV. See "ZFS best practices". I personally value my data very highly, and it is worth the extra price of one additional drive to get to RAIDZ3 from Z2 to ensure one more disk worth of immunity. My personal choices are a 4-drive or an 8-drive set of data with three drives of parity, giving a cost of 17% more or 10% more to go from RAIDZ2 to RAIDZ3, and get another disk-failure worth of immunity. Going to massive numbers of drives in RAIDZ3 increases the chance that you could have multiple disk failures while resilvering to fix the first failure. Keep numbers of disks in a Vdev modest.

>> But it might very well be that the expert wisdom in here says 1 VDEV is a bad idea ... optimum number of VDEV's
One giant Vdev is a bad idea. Buy using smaller, modest sized Vdevs, you compartmentalize the number of disks put at risk by one failing disk.

>> reading this thread: ... scared me. Destroying a whole pool(?) I thought ZFS was so safe this can never happen?
Rightly so. ZFS is a solution to certain common and difficult problems. It introduces non-obvious pitfalls that you have to go educate yourself against. That is, there are new and unusual ways to shoot yourself in the foot.

Fortunately, the practice of keeping a backup of your data, even when you use ZFS, innoculates you against this to a degree. You'll see this over and over: ZFS is not a backup. If you use ZFS for your live, working storage, you have no backups. ZFS is a protection against certain predictable problems with multiple disk data storage, including the failure of a disk. If you need to prevent data loss, the only good way is with a well-thought-out backup strategy, and this largely means at least one, preferably two entire backup stores, at least one of which is not in the same physical location as the other data.

It gets deep, doesn't it? :)

>> Speed/reliability/price, should I create 1 big VDEV with 4TB disks, or are there valid reasons to use more than 1 VDEV
(1) Pick any two :( (2) there are valid reasons to use modest sized VDEVs and more of them.

>> I've also read something about 'mirrored zpools', ... Does that mean you have a redundant zpool? Does that make sense? Is it relevant?
I have less experience with this terminology, but I think it may fall under the heading of "backup theory". FreeNAS and ZFS offer the function of replicating a zpool to a backup machine, and that's a good mechanism for doing backups of your ZFS pool(s). Maybe that's involved. I tend to gloss this over in my mind as "backup stuff, go think about your backup strategy", but that may not be correct.

Down at the bottom of this, you're about to learn a whole lot about storage systems and how to keep the data you already have. That's GOOD!
 

R.G.

Explorer
Joined
Sep 11, 2011
Messages
96
1. Ok, so I don't need more VDEV's for reliability, that's great news. Currently, I am considering a max situation of 10-12 disks. But then again, the data hunger never stops :)p). 16 disks will have to be the max anyway, I don't plan on becoming a Google data center.
I'm actually researching the Amazon S3 Glacier stuff as a possible archival store for stuff I won't need except slowly.
... what happens if the ECC-RAM gets broken? Simply, the chip is defective from one moment to the next. What happens then? Is your pool gone then too? Because that would mean that, despite all the miracles of ZFS, it is very risky: one defective RAM chip (and they do break from time to time), and you're gone. ?
That's a different issue. ZFS just works on fixing the data that's in your disks. It uses the system RAM to do this, and also stores stuff that was in the system RAM. If you had a data corruption on stuff that then got stored, ZFS would work really, really hard to preserve that corrupted data in its pristine corrupted state. If that propagates on into your backups, well...
If a system memory error happens while ZFS is doing something critical for ZFS's functioning, it might do anything, depending on exactly what got corrupted. If the bit-flip happened in something critical, that could be a serious problem.

ECC is a scheme for (1) detecting that there is a memory error and (2) correcting single bit errors. If your ECC system is operating and operating properly, then you can lose a whole chip and there is no difference to the data coming back out of memory because the ECC codes *correct* single bit errors on the fly. The common ECC setups will detect double bit errors but cannot correct them.

What should happen is that your system should be designed for and enabled for a single bit or double bit error from the ECC system to be noticed as a "Oh, my GOD!" interrupt and set off the data-fire alarms in the machine, doing stop-halt-quit-ACK! stuff to tell you that your RAM is going bad. This is why you see the notes about ECC all over the ZFS pages. If you catch memory errors before they corrupt your data on disk in non-detectable ways, your data is OK. If you don't catch it and it tanks your whole zpool, you go find and fix the RAM, find and fix any errors in the zpool, or simply destroy the zpool and restore it from your next backup layer that you have so thoughtfully provided for yourself.

Note that with ECC, single bit errors are non-disastrous, and corrected on the fly, while TELLING YOU THEY HAPPENED so you can fix things before a disaster happens, while double bit errors can set off screaming panic button shutdowns and stop the propagation of the disaster. Without ECC, you don't even know the disaster is going on until your system just starts acting funny (or dead).
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
An addendum to the ECC thing: with a double bit ECC error (detectable/not correctable) the system will panic, and the important bit is that even if it was writing out a transaction group at the time, it can be rolled back **so that the pool is consistent**. Crashes or panicks are of course bad but a corrupted pool is much worse.
 

saurav

Contributor
Joined
Jul 29, 2012
Messages
139
Isn't some setting/configuration required to make zfs do that rollback instead of just alerting and shutting down, once it detects the ecc error?

Or am I mixing up two different things?

Edit: I think I was thinking of the "failmode" property of zfs pools. It seems related to storage device failures, not ECC. Sorry to have veered off the thread's topic.
 
Last edited:

R.G.

Explorer
Joined
Sep 11, 2011
Messages
96
Isn't some setting/configuration required to make zfs do that rollback instead of just alerting and shutting down, once it detects the ecc error?
Edit: I think I was thinking of the "failmode" property of zfs pools. It seems related to storage device failures, not ECC. Sorry to have veered off the thread's topic.
You have it correct now. "ECC" as a technique is used in both the internal workings of disk drives themselves, and by ZFS to keep things straight. But the ECC we were just talking about is the ECC checking on the system RAM. This must be taken care of by the CPU and RAM, not the data on the disk.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Isn't some setting/configuration required to make zfs do that rollback instead of just alerting and shutting down, once it detects the ecc error?

A detected (not corrected) ECC error results in a system panic. There's no alert or shutting down. It is considered a serious fault. And it is a very rare event if you've done proper testing and burn-in of your hardware. The point is that the integrity of the pool should be maintained, since the pool is expected to be in a coherent state after each transaction group commit. So in the worst case you roll back a transaction group. This only works, of course, if the data that's on the pool is valid, which is why we fret about things like ECC for the host platform.
 

AltecBX

Patron
Joined
Nov 3, 2014
Messages
285
I'm a noob too. I ended up going with 12x 6TB Reds myself. I too wanted to create the biggest pool I can by going with 1 vdev to use 12-2=60TB RaidZ2 or 12-3=54TB RaidZ3.
I decided to just run 2 vdevs at 6-2=24TB RaidZ2 (vdev1) + 6-2=24TB RaidZ2 (vdev2) for a total of 48TB (really 43TB after the pool). This gave me a faster performance over RaidZ3 (54TB) but sacrificed an extra 6TB to gain better performance and risk a larger number of HD in a vdev (12x in 1 vdev instead of 2 vdev(6x2)) going dead.
 
Status
Not open for further replies.
Top