What is JBOD?

| November 24th, 2009

s2avatarsetting

standards

by

Jeff Stewart

SENCAW | AUTHOR

What is JBOD and how does it compare to RAID?

raid5-arrayWith all the new SATA boards out there, now we have options for all of the old, odd sized SATA drives hanging out on the bench currently being used as drink coasters and dispersed as independent drives. In some applications, however, it is now an optionto be able to use all these disks as if they were one single volume. The proper term for this is spanning; the pseudo-cutesy term for it, clearly chosen to contrast against “Redundant Array of Inexpensive Disks or RAID”, is; “Just A Bunch Of Disks or JBOD”. What’s next? AFTOM – A Freaking Ton of Memory?

JBOD is not RAID, but I discuss it here since it is sort of a “red headed step brother” of RAID… JBOD can be thought of as the opposite of partitioning: while partitioning chops single drives up into smaller logical volumes, JBOD combines drives into larger logical volumes. It provides absolutely no fault tolerance, nor does it provide any improvements in performance compared to the independent use of its constituent drives. (In fact, it arguably hurts performance, by making it more difficult to use the underlying drives concurrently, or to optimize different drives for different uses.)

When you look at it, JBOD doesn’t really have a lotgoing for it and it still requires a controller card or a software driver, which means that almost any system that can do JBOD can also do RAID ’0′, and RAID ’0′ has significant performance advantages over JBOD. Neither provide fault tolerance, so that’s a wash. There are only two possible advantages of JBOD over RAID ’0′:

Avoiding Drive Waste: If you have a number of odd-sized drives, JBOD will let you combine them into a single unit without loss of any capacity; a 10 GB drive and 30 GB would combine to make a 40 GB JBOD volume but only a 20 GB RAID 0 array. This may be an issue for those expanding an existing system, though with drives so cheap these days it’s a relatively small advantage.

Easier Disaster Recovery: If a disk in a RAID ’0′ volume dies, the data on every disk in the array is essentially destroyed because all the files are striped; if a drive in a JBOD set dies then it may be easier to recover the files on the other drives (but then again, it might not, depending on how the operating system manages the disks.) Considering that you should be doing regular backups regardless, and that even under JBOD recovery can be difficult, this too is a minor advantage.
And remember “spanning” and “striping” mean the same thing!

I prefer RAID 5 and RAID 0+1

raid5uiRAID combines two or more physical hard disks into a single logical unit using special hardware or software. Hardware solutions are often designed to present themselves to the attached system as a single hard drive, so that the operating system would be unaware of the technical workings. For example, if one were to configure a hardware-based RAID-5 volume using three 250GB hard drives (two drives for data, and one for parity), the operating system would be presented with a single 500GB volume. Software solutions are typically implemented in the operating system and would present the RAID volume as a single drive to applications running within the operating system.

There are three key concepts in RAID: mirroring, the writing of identical data to more than one disk; striping, the splitting of data across more than one disk; and error correction, where redundant (“parity”) data is stored to allow problems to be detected and possibly fixed (known as fault tolerance). Different RAID schemes use one or more of these techniques, depending on the system requirements. The purpose of using RAID is to improve reliability and availability of data, ensuring that important data is not harmed in case of hardware failure, and/or to increase the speed of file input/output.

Each RAID scheme affects reliability and performance in different ways. Every additional disk included in an array increases the likelihood that one will fail, but by using error checking and/or mirroring, the array as a whole can be made more reliable by the ability to survive and recover from a failure. Basic mirroring can speed up the reading of data, as a system can read different data from multiple disks at the same time, but it may be slow for writing if the configuration requires that all disks must confirm that the data is correctly written. Striping, often used for increasing performance, writes each bit to a different disk, allowing the data to be reconstructed from multiple disks faster than a single disk could send the same data. Error checking typically will slow down performance as data needs to be read from multiple places and then compared. The design of any RAID scheme is often a compromise in one or more respects, and understanding the requirements of a system is important. Modern disk arrays typically provide the facility to select an appropriate RAID configuration.

Redundancy is achieved by either writing the same data to multiple drives (known as mirroring), or collecting parity data across the array, calculated such that the failure of one disk (or possibly more, depending on the RAID scheme) in the array will not result in loss of data. A failed disk may be replaced with a good one to allow the lost data to be reconstructed from the remaining data and the parity data.

Leave a Reply

Spam Protection by WP-SpamFree