From: kareldc <kar...@gmail.com>
To: zfs-...@googlegroups.com
Sent: Sunday, 2 September 2012, 12:18
Subject: [zfs-macos] Coming from OSX software raid...
--
As with any ZFS implementation, no you can't change a raidz1 to raidz2, but you can concatenate any devices. You could take that raidz1 and add any other device -- most sensibly, another equivalent raidz1. Then they're two, striped together, as one, automagically.
>The rule that I follow, for my concatenation of mirrored 2TB drives, is that I expand the pool with same-sized mirrored pairs. (I think that this policy of mine is more restrictive than what ZFS requires.)
Yeah but it'll make them into effectively same-sized pairs. The smallest size prevails.
>But I do recall running into some limits when I wanted to go RAIDZ, and then later wanted to grab that disk drive on sale and slap in in there.
Sadly that is true.
>ZFS is way more capable than Apple's "RAID", but less flexible than (for example) a Drobo or ReadyNAS. Or previous versions of Windows Home Server.
Yeah that is true, unless you consider it to be more flexible, that an incident of data corruption on ZFS doesn't necessarily force you to restore from backups or else send your array in to a professional data recovery service. Some people have different ideas of flexibility, but yeah most of us do wish that we could just toss around whatever resources we feel like. The word with the upstream ZFS engineers is that they roughly know how to do it, but it's really hard.
Hi kareldc,
welcome to maczfs!
Am 02.09.12 21:18, schrieb kareldc:Hi,
I'm interested in adopting ZFS but I had a few questions.
Right now I have a hackingtosh and I've set up a pair of hd's in mirror
with the OSX software raid. However, I have had a few bad experiences...
apparently when you move the drives to a different sata port your mirror
raid volume gets degraded. One of the drives kinda get lost apparently.
Can anyone tell me if ZFS is better in that aspect? Can I pop drives in and
out, increasing raid structures and move them around?
Yes and no.
ZFS organizes drives in so-called vdevs ("Virtual Devices"). You can
pop drives in and out of top-level vdevs *if* the vdev is a redundant
one. *But* there is absolutely no way to ever remove a top-level vdev
from a ZFS pool. It is plain impossible.
So *please* be very careful what you type, when you add drives. It is
way to easy to accidentally add another stripped top-level vdev,
instead of adding the drive to an existing mirror or make two new
drives into a new top-level mirror, which then can not be removed
again without a backup-destroy-restore cycle.
(However, you can promote an accidentally added single-drive top-level
vdev to a mirror, to at least have redundancy. And you can exchange
the accidentally added disk with another one of same or bigger size)I don't intend to move them around but the native OSX software raid just
seems way to fragile. It would be nice to be able to do
some maintenance without nerve wrecking fear.
Also should I do a clean install of the os. Do I just need to reinstall ZFS
to get things running again, that simple?
No need to reinstall the OS, just grab one of our installer and you
are set. Strictly speaking, it is not even necessary to reboot after
install, but nevertheless still recommended for safety. It is also
quite simple to uninstall, again even without absolutely needed reboot.
Best
Björn
--
| Bjoern Kahl +++ Siegburg +++ Germany |
| "googlelogin@-my-domain-" +++ www.bjoern-kahl.de |
| Languages: German, English, Ancient Latin (a bit :-)) |
>> Can anyone tell me if ZFS is better in that aspect? Can I pop drives in and
>
>> out, increasing raid structures and move them around?
>
> Yes and no.
Oh goodness, I misread that. You were talking about moving your hard drives around, and yes you can do that. But like everyone has said, you can't arbitrarily restructure.
You can plan forward strategies. Like I said, you can expand size by concatenating a new vdev. But you ideally don't want to lose redundancy that way. You ideally wouldn't want to add a raidz1 to a raidz2 to a mirror, just randomly. But if you can plan ahead, you could start a 4x1TB raidz1 now (3TB usable) and then add another 4x1TB raidz1 later (6TB usable). And so on. Or you could buy two drives at a time, adding them as mirrors, and that would be totally redundant and much faster.
You could do the old switcheroo, by building a raidz now and then later reclaiming your parity drive(s) for temporary storage as you copy your data to additional drives and then reassimilate the parity back in. I've done that.
These are generic ZFS concepts, so you can google them around. And you can experiment using raw files.
You're limited by your ability to plan and purchase, and by the saturation of your surrounding hardware resources -- number of ports, speed of controllers, etc. But if you're building a custom Mac clone, you're probably intending to be superior on those fronts compared to any Apple hardware anyway!
If you find any web sites which discuss such forward capacity planning strategies, let me know and I'll put em in the FAQ.
parameter: sysctl vfs.zfs.txg.write_limit_override=ndescscription:You tune this variable to the max mb/s your HD can handle. this way there are a lot less write stalls.Before that you would tune the txg wait time to 4s or 5s but that is only convenient if you'r writing a full speed.
So now the txg gets written when a. 30sec have passed or b. when x amount of data is in the txg (x= max you'r harddisk can handle)
If you use AHCI (have loaded ahci.ko and drives are recognized as using AHCI):/boot/loader.confCode:vfs.zfs.vdev.min_pending=1 #default=4vfs.zfs.vdev.max_pending=1 #default = 35If you don't use AHCI (didn't load ahci.ko and/or the drives are not recognized as using AHCI):/boot/loader.confCode:vfs.zfs.vdev.min_pending=4 #default=4vfs.zfs.vdev.max_pending=8 #default = 35
--
Boyd, a much better controller, from a performance perspective, yet okay price is
On Sep 3, 2012, at 2:43 PM, Gregg Wonderly <greg...@gmail.com> wrote:8 drives with great performance
The primary source of my performance woes, in addition to the horrid IOPS of my hardware choices, is ZFS deduplication.
Awesome idea, and a slam-dunk for my use case, because the dedup factor on my pool is about 3x -- That is, I'm hosting about 13 TB of data on my 6TB pool with room to spare.
But in order to determine whether an incoming block is already on the pool, ZFS has to maintain a table in memory that holds the content checksum (and some additional metadata) for every block. There are a lot of blocks. I need more than 24 GB of RAM to hold this table.
Since that's more than my cheap server can hold (or that I could afford at the time), that table gets swapped out. This is worst-case scenario for ZFS performance. It's awful.
So my next $100 purchase was an SSD, which I added to the ZFS pool as a "Level 2 Read Cache", an L2ARC.
This is a neat feature of ZFS, you can specify some SSDs as cache for reading (the ARC), some as a write cache (the "intent log", or ZIL). The read cache can fail safe; if the read fails ZFS will try again, and eventually fault the SSD. If *write* cache fails, you are hosed, so pros usually use a mirrored pair of "enterprise" SSDs for ZIL. For home use, I'd recommend Intel "Cherryville" SSDs, which are (I think) Intel's latest 20nm NAND with firmware that Intel worked on for 6 months. The same hardware is OEM'd to other vendors, but Intel still holds onto their firmware for the next year, and it's supposed to have significant bug fixes.
The SSD L2ARC helped a bit, but not a lot. I should have spent the money on the Intel SATA controller.
(I haven't yet used ZFS on-disk encryption, but I'm almost certain that it would *not* impact performance, although I don't quite understand how (or if) encrypted volumes change all of these in-memory data structures, or change memory requirements... I don't think there is any change at that level, that encryption is perhaps the last transformation applied to the bits as they are written to the spinning hard disks.) ((But avoid ZFS encryption if you want to later use the devices on your Mac, because the MacZFS version does not yet support this feature.))(((I think)))
Dang. Another long post. And this stuff isn't on-topic for a Mac port of ZFS. But for people getting started with ZFS, I hope it is of interest.
--
--
ZFS is way more capable than Apple's "RAID", but less flexible than (for example) a Drobo or ReadyNAS. Or previous versions of Windows Home Server.
Am Dienstag, 4. September 2012 um 06:11 schrieb Alex Wasserman:
Drobo is nothing but a fancy, and pretty expensive backup box. Mine sits basically unused now, and without it, I have more faith in my data than with it.
--
I have seen some of these things discussed, and I have, on occasion, rebooted to recover a drive which seemed to disappear when another drive failed during a scrub or resilver. I use mirrored pairs on my machines, and I try to make sure that I have them mirrored with 1 drive from each of the 2 "sides" of the controller, So, something likec2t0d0-c2t0d4c2t0d1-c2t0d5c2t0d2-c2t0d6c2t0d3-c2t0d7pairing is what I do, so that if something "falls" offline, I still have always had a fully functional pool that just has missing mirrored devices. I can then, replace the drive taken out by scrub, and reboot to recover the other drive(s), and just let ZFS resilver what ever is missing on the dropped drives.This happens about every 2-3 months as I loose another drive.