6 ms·
This is only difficult with ZFS if you care about performance. If you are a typical home file server user, you can add vdevs in a rather ad-hoc fashion as they
by phil21 9y ago
This is only difficult with ZFS if you care about performance. If you are a typical home file server user, you can add vdevs in a rather ad-hoc fashion as they fill and it works pretty well.
There is a huge performance penalty of course, as all the majority of new data will reside on the latest vdevs - but it generally works.
I do agree this is one of the largest drawbacks of ZFS, but very few filesystems get it right.
- eriknstr 9y agoWhat I'd like to know is, can this issue be resolved in a future version of ZFS or is it too ingrained into the design of ZFS?
- cbhl 9y agoIt would be expensive -- you'd have to "rebalance" the data by copying it to the new volume / away from the old volume, which would take hours or days.
- rocqua 9y agoPeople who want this feature are mostly frugal. They want it so they can upgrade by just buying a single new disk. That is a rare enough use case that the performance penalty would be worth it.
- cbhl 9y agoFrugal enough to shut off their computer when they're not using it (to "save power"), so the rebalancing won't have time to complete in the background?
- kalleboo 9y agoIsn't the fact that Drobo is still around and doing well a testament to people being fine with this tradeoff?
- wtallis 9y agoFor years the fix ("block pointer rewrite" feature) was promised as coming eventually, but that effort was abandoned. BTRFS will reach ZFS levels of stability before ZFS reaches BTRFS levels of flexibility.
- wmf 9y agoyou can add vdevs in a rather ad-hoc fashion as they fill and it works pretty well As long as they're expensive mirror vdevs, right? My impression is that home users want the efficiency of RAID-6 and they want incremental expansion (regardless of whether this combination is "good for them"). ZFS can't do that.
- jbronn 9y agoWhile it's true you can't expand a vdev, you can always add another vdev to a pool at any redundancy level you desire to expand capacity. For example, you could add a trio of drives as a raidz vdev to a pool with an existing mirror vdev (`zpool add mypool raidz dev1 dev2 dev3`). However, the drawback is that the expanded pool won't be "balanced" unless its datasets are rewritten.
- tscs37 9y agoHome users would rather just add a single drive instead of having to worry about adding entire RAID setups.
- alyandon 9y agoExactly that. I can essentially add/remove drives on a whim (for any reasonable definition of "on a whim") using btrfs and run a rebalance command afterward and I'm done. That, of course, is really not a concern for enterprise use cases.
- floatboth 9y agoYou should always use mirrors! http://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raidz/ http://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-... "don’t be greedy. 50% storage efficiency is plenty". Mirrors perform better, perform MUCH better when degraded, rebuild MUCH faster.
- tscs37 9y agoMirrors are also less safe. [0] For a 6x8TB and assuming a (optimistic) 10^-16 URE, you get 3.5% failure rate for a RAID5 array, 0.7% for a RAID10 array and a 1.06e-08% failure rate for RAID 6. Why be greedy for all that performance? Most home-grade NAS or even some business-grade NAS isn't used for performance sensitive operations, more like Word Documents and Family Pictures, stuff you don't want to loose. I'd rather take safety over performance here. [0]: https://redd.it/6i4n4f https://redd.it/6i4n4f
- sfoskett 9y agoYeah, as mentioned in the post, you can indeed just add a vdev to the pool whenever you want. But the risk, apart from performance, is data protection If you add one disk, your whole pool is at risk. So of course you have to add two or more disks as a mirror or RAIDZ but lots of home users don't want to do this. They want that Drobo thing where they throw another log on the fire and everything gets rebalanced. It's sad that ZFS can't do this, and that it can't "upgrade" RAID-Z1 to RAID-Z2. It's hard to do, but would be so much nicer.
- problems 9y agoCorrect me if I'm wrong, but I can't add vdevs to a RAIDZ (RAID5/6ish) system in ZFS, which are probably the most common configurations for home NAS systems. I'd love to run ZFS, but I can't because I need to be able to add more drives as I buy them.
- Terribledactyl 9y agocorrect, the number of devices in a raidz1/2/3 vdev cannot change. However you can replace all of the drives one at a time with higher capacity drives and most zfs installs will grow your vdev. You could also add another raidz vdev if you have the space in the server, eventually they should level out depending on workload. "Best" solution, read most expensive, would be to copy the data over to a new server you've configured for the new load/capacity.
- tscs37 9y agoAdding 3 drives at a time is expensive and a non-option for a home NAS. As is "just copy it to a new server". Both have high investment costs for something a plain mdRAID, snapRAID or LVM RAID can achieve far simpler with better results.
- snuxoll 9y agoI add two at a time without much problem, mind you I have a rather extreme setup with an external 12-bay enclosure but I feel most people building a NAS instead of buying an off-the-shelf system from Synology/Drobo aren't looking to cut costs or corners. A 4TB Seagate IronWolf drive costs $129 off Amazon, buying two to add as a new mirrored vdev to my TrueNAS box isn't outrageous.
- tscs37 9y agoReducing the cost of a custom system isn't irrational. My own personal budget is very limited, buying two IronWolf HDDs in this case is easily a good chunk of my monthly income. If I can build a NAS that can expand with single drives as needed, it's more cost effective for me. And I imagine a lot of others have the same problem. In the end, by buying 2 drives when a single drive could have solved the problem equally well: expanding your space by 4TB, is wasting money. Period.