JBOD: any system that can do RAID-0 can do JBOD?
any storage controller that can do RAID-0 can do JBOD?
Am looking for a storage solution using ZFS, currently have Dell Perc5i and 6i not sure about their capabilities for JBOD.
does ZFS really only need JBOD for RAIDZ, RAIDZ2 etc?
Solution 1:
There's a very important distinction between JBOD and Raid-0 that I haven't seen anyone mention: when a disk fails in a single-disk-Raid-0, it means that that whole Raid-0 has failed, and that means that you can't replace the failed disk without rebooting the server (unless you are able to use a raid utility like MegaCli, but that doesn't seem to be very easy). If a disk fails in JBOD mode, you should be able to hot-swap the drive and ZFS will rebuild the ZFS pool.
See this thread: MegaRAID JBOD substitute
Another thing to keep in mind, is that you should technically be using a raid-enabled drive (like WD Caviar RE or Barracuda ES drives) in JBOD mode. If not, the raid controller may erroneously detach a disk that is busy trying to repair itself. But at least you'll be able to hot-swap it.
From wikipedia page on ZFS: "Note that hardware RAID configured as JBOD may still detach disks that do not respond in time; and as such may require TLER/CCTL/ERC-enabled disks to prevent drive dropouts: [29]"
Solution 2:
The Perc5i and Perc6i are lame in this respect (no JBOD) and thus not particularly well suited for ZFS. Others have had good luck with the Dell SAS 6i/r as it can be acquired relatively cheaply (~$150) and I believe can operate in non-raid JBOD mode. I'd give Dell a ring and ask first, since I've never used it that way myself. Don't mention ZFS when you call, just ask them if the SAS6i can present drives without any RAID protection or whether they must be part of a RAID0/1 virtual disk.
ZFS wants your disks, not an abstracted 'virtual disk' or LUN. With any configuration (single drive/mirrors/stripes/raidz) ZFS will use your CPU to calculate block checksums for data integrity. With RAID-Z/RAID-Z2, ZFS additionally computes parity blocks using your CPU (RAID5/RAID6 on a PERC5/PERC6 has an onboard chip for this). If you do mirroring, ZFS doesn't need to calculate parity and thus has lower cpu overhead (only checksums, no parity) yet since it has access to multiple copies of the data ZFS will notice any corrupted blocks (on read or scrub) and self heal.
Solution 3:
Yes, even non-RAID controller can do JBOD. This is even more basic than RAID-0.
Solution 4:
JBOD is 'Just a Bunch Of Disks' and is essentially non-RAID. It's essentially using the RAID controller as just a pure disk controller. I believe that ZFS does its own internal storage management, which is why this is a valid thing to do with ZFS. Note that 'valid' is not the same as 'ideal'; it depends a bit on how much redundancy you want.