Thursday, March 18, 2010

Drobo — Guessing How BeyondRAID Creates Space and Volumes

November 23, 2009 by Greg Ferro · 16 Comments 

As part of the Gestalt IT Tech Field Day got to visit Drobo in the offices at San Jose and received a per­sonal present­a­tion from the CTO and spoke with the Chief Software Architect (I think that was his title). One of the things that really inter­ested me was how the BeyondRAID sys­tem did its thing. Why ? Because I think it’s one of the most innov­at­ive things to hap­pen to smal­ler stor­age sys­tems, and pos­sibly the entire stor­age industry in quite some time.

The most vital fea­ture of the Drobo stor­age units, is that you can insert and remove drives without ANY SOFTWARE or CONFIGURATION. Just insert or remove one drive at a time, and wait until the lights go green and you are ready to USE the system.

Populate drives on the fly

Because you can insert drives on the fly, you can scrounge SATA drives from old serv­ers and then pop them in. Once you get some more lar­ger drives, just swap the smal­ler ones for the big­ger drives and the Drobo will real­loc­ate the disks, pre­pare them in whatever form of RAID that works and then presents the max­imum pos­sible drive space to you.

How does this work ?

Drobo cre­ated their own algorithm they call Beyond RAID, and while they won’t give too much away, I wanted to go over the impres­sion I got from their CTO dur­ing the present­a­tion. The first thing to under­stand is that their is no con­fig­ur­a­tion soft­ware, no drive ini­tial­isa­tion, no format­ting. As soon as the drive is inser­ted, the the Drobo ini­tial­ises the the first few sec­tors and prob­ably does the rest of the format­ting asyn­chron­ously. What you see, is that the drive is ready within ten seconds.

Revision on RAID disk arrays

Some quick revi­sion on RAID and disks drives before we start.

There are three key con­cepts in RAID: mir­ror­ing, the writ­ing of identical data to more than one disk; strip­ing, the split­ting of data across more than one disk; and error cor­rec­tion, where redund­ant (“par­ity”) data is stored to allow prob­lems to be detec­ted and pos­sibly fixed (known as fault tol­er­ance). Different RAID schemes use one or more of these tech­niques, depend­ing on the sys­tem require­ments. The pur­pose of using RAID is to improve reli­ab­il­ity and avail­ab­il­ity of data, ensur­ing that import­ant data is not harmed in case of hard­ware fail­ure, and/​or to increase the speed of file input/​output.

Wikipedia — Redundant Array of Independent Disks

Two Drives

Lets say you put two drives into your Drobo. The soft­ware will work out what it can do with two drives to cre­ate a redund­ant copy of your data. Obviously, two drives can only be mirrored.

drobo-workings-1.jpg

Now lets say that you get a 750GB drive from a server that has just been retired. In a nor­mal RAID sys­tem, all the drives have to be identical, the Drobo soft­ware ignores that. Slide it in, wait ten seconds for the ini­tial­isa­tion and you’ll get some­thing like this:

drobo-workings-2.jpg

When you think about it, a 750MB drive is an “over­sized” 500MB drive. So just treat the sec­tors on the drive like a 500MB unit and have 250MB space left over. That’s bet­ter than the alternative.

Reformats on the fly

Even the though the disk archi­tec­ture has sig­ni­fic­antly changed, the Drobo soft­ware starts mov­ing the sec­tors around the drives until all your data is striped.

Striping (wiki­pe­dia) “data strip­ing is the tech­nique of seg­ment­ing logic­ally sequen­tial data, such as a single file, so that seg­ments can be assigned to mul­tiple phys­ical devices. Advantages of strip­ing include per­form­ance and through­put. In some RAID con­fig­ur­a­tions (such as a RAID-​​5 with a par­ity drive), if one drive fails and the sys­tem crashes, the data can be restored by using the other drives in the array.”

The Drobo will re-​​arrange the data on the drives, regard­less of what format or RAID type they were in, to a format that provides the most space and per­form­ance. The basic value of the Drobo soft­ware is that it will auto­ma­gic­ally find the

Another 750MB ?

Lets say we got another 750MB drive from some­where. Lets slot that in there and look at what the archi­tec­ture might be like:

drobo-workings-3.jpg

The Drobo will prob­ably look for four 500MB drive spaces as RAID 5, leav­ing 2 x 250MB drive spaces that it can mir­ror. This will roughly give you about 1.75 Gb of usable space.

Remember, you can insert drives and the Drobo soft­ware will reli­ably move your data around until it has it in a redund­ant configuration.

Two More 1GB drives

You’ve got your hands onto a PAIR of 1GB drives. Here my view on what the Drobo is gonna do:

drobo-workings-4.jpg

So for a total RAW drive capa­city of

Drives Total Capacity
2 x 500MB 1GB
2 x 750MB 1.5GB
2 x 1GB 1GB
Raw Capacity 4.5GB
Usable Capacity 3.2GB

Space alloc­a­tion

Note that this avail­able space can now be broken up into pieces and alloc­ated to sys­tems that are attached using iSCSI, Firewire or USB. Not only is this suit­able for home use for, but the lar­ger units, espe­cially the Drobo Elite which has dual iSCSI inter­faces, are more than per­fect for VMware test environments.

Wrap up on the features

That usable capa­city is fully redund­ant, dynam­ic­ally cre­ated and built over time. To my know­ledge, no other stor­age product does this. The abil­ity to change the archi­tec­ture of the disk drives at all is a major advance in stor­age, but to change them on the fly, and main­tain the integ­rity of the data dur­ing the pro­cess is a real advance.

You should note that Drobo soft­ware is field proven at time of writ­ing. Some fifty thou­sand units have been sold and the reviews from people who are pro­fes­sional pho­to­graph­ers and video­graph­ers have been stunning.

I’m lik­ing this gear and will be out to buy one shortly. Stay tuned for some more inform­a­tion on that.

Please rate this post:

  Why Rate Posts?
1 Star - It\\\'s Crud2 Stars - It\\\'s Tosh3 Stars - Something\\\'s missing4 Stars - Needs works5 Stars - Good Enough6 Stars - Good7 Stars - Excellent8 Stars - Brilliant9 Stars - Astonishing10 Stars - Awesomely Godlike? (2 votes, average: 9.00 out of 10)
Loading ... Loading ...

Comments

16 Responses to “Drobo — Guessing How BeyondRAID Creates Space and Volumes”
  1. Good try, but I don’t think that this is how Drobo’s BeyondRAID works. It’s how some other RAID-​​ish sys­tems work, but not Drobo!

    It breaks the data into chunks and pro­tects and striped them on disk inde­pend­ently. It also runs a pro­cess to re-​​lay-​​out data after a drive is added. The effect is sim­ilar (500+500+750=~1000 and 500+500+1000+1000=~2000) but the mech­an­ism is very dif­fer­ent. In fact, it appears that ALL of the data in the mir­ror set cre­ated at first (500+500=500) would become a RAID5-​​ish stripe-​​plus-​​parity set once the third drive is added. It would then be exten­ded to a wider stripe with drive num­ber 4. The “ori­ginal” data is no longer mirrored — it’s all now striped with parity.

    Some clues are the quick rebuild time when little data is present (indic­at­ing it’s doing it on a used block basis not as a whole set) and the uni­form per­form­ance as drives are added. The extremely long rebuild time when adding a lar­ger disk to an exist­ing set of smal­ler disks is another hint — they’re redo­ing ALL of the data, not just adding a new RAID set.

    I do wish they would just come out and explain it. Maybe when the pat­ents come through…

    • Greg Ferro says:

      In fact, the RAID is prob­ably being done at the sec­tor level, with algorithms that use RAID con­cepts, but instead of attempt­ing to simply mir­ror or run stripe algorithms and match those across identical spindle con­fig­ur­a­tions, they are prob­ably using a meta alloc­a­tion table that tracks the redund­ant loc­a­tions of sec­tors. That Meta Allocation Table is itself prob­ably main­tained on every drive to ensure integ­rity and the update of that is what would take the time for large volumes of data. Well, that and the mov­ing of data between spindles to find redund­ancy and optimal performance.

      I would guess that the algortihm doesn’t look for drive per­form­ance, but will in the near future.

      But all of these things are quite hard to explain, and this cov­ers at least the concept of how BeyondRAID works. i hope.

  2. Mike B. says:

    I’ve had very good luck on my home POS (not point of sale) server I use for stor­ing all of my digital good­ies. I have an Adaptec Raid con­trol­ler with 6 400GB drives RAID5. It’s been in ser­vice years and through all of the power fail­ures and ran­dom drive deaths i have never had an issue. It appears that Drobo isn’t so robust.

    Not spam– just shortened…
    http://​tiny​url​.com/kudfad

    http://​www​.bill​streeter​.net/​2​0​0​8​/​0​3​/​d​o​-​n​o​t​-​b​u​y-a-drobo/

    and

    http://​www​.newegg​.com/​P​r​o​d​u​c​t​/​P​r​o​d​u​c​t​R​e​v​i​e​w​.​a​s​p​x​?​I​t​e​m​=​N​8​2​E​1​6822240010

    Not sure I’d trust it with all of the poor feedback.

    Mike

  3. furicle says:

    My con­cern has always been what hap­pens if the Drobo dies? Systems using soft­ware RAID I can just pull the disk(s) and put them in another com­puter. Hardware RAID requires a match­ing card, but often you’ve got a spare server with match­ing cards, or you put a spare card on the shelf. Not sure I want to buy two Drobos just so I can trust one.

    • Greg Ferro says:

      I asked a ques­tion like this. Provided you take note of the pos­i­tion of the drives, you can insert them into another Drobo (maybe even any Drobo since they all use the same soft­ware) and the sys­tem will work the same as before. The new Drobo may want to real­loc­ate data around the place, but your data should be safe. Even if you lose a drive.

      • Brent says:

        Actually, you do not need to remem­ber where the drive pos­i­tions are. This is one thing Data Robotics says some­where on the web­site. They call the sets of hard drives “packs” that you can store off­s­ite if needed. Just be sure the Drobo is off when remov­ing the drives oth­er­wise you will lose everything if you pull too many drives out. To use the “pack” again, just insert the drives in any order in the Drobo and all your data is back (again only when the Drobo is off should you add all the drives again, and be sure it’s an empty Drobo).

  4. Guys

    I tested the move of disks to a new Drobo as I installed my DroboPro. The disks were inser­ted in a dif­fer­ent order and in any case, the ‘Pro is an 8-​​bay unit so doesn’t have the same lay­out. After a little “think­ing” time, the DroboPro showed my drives all green, so no prob­lem mov­ing between devices. In fact, I didn’t insert one drive as it appeared to have failed. The other 3 had suf­fi­cent data to rebuild the ‘RAID” sets. http://​thestor​agear​chi​tect​.com/​2​0​0​9​/​1​1​/​2​0​/​p​e​r​s​o​n​a​l​-​c​o​m​p​u​t​i​n​g​-​d​r​o​b​o​-​r​e​placement/

    • Greg Ferro says:

      Now that is undeni­ably awe­some. Different order and a failed disk and it still man­aged to rebuild.

      Drobo may have other prob­lems, but that is a great feature.

  5. justin says:

    What was undeni­ably un-​​awesome for me and drobo (cur­rent model), was a single power fail­ure a few days ago, and sub­sequent mac osx /​ hfs /​ firewire /​ reboot presen­ted the mac with a totally cor­rup­ted volume.
    All the data was gone. What is more, all the data the drobo util­it­ies said was “used” (not free) and “safe” prior to the power fail­ure, is now marked “unused” and “free”.
    The chunks of the files are there on the raw device but the file sys­tem is com­pletely mangled. No issue with the phys­ical drives, they are all green green green. Short files can be recovered using photorec to a ran­dom file name and exten­sion. Longer ones are fragmented.

    So a simple power cut caused a spec­tac­u­lar loss of 1TB of data. Just like that. And since the way the data is laid out on the drives is secret, there is no way to determ­ine what happened or to recover the file sys­tem with all its meta data (file names, dir­ect­or­ies, time stamps, etc).

    So my exper­i­ence was BackwardRAID.

    • Greg Ferro says:

      I have met with the Drobo people, and this seems sur­pris­ing. Have you con­tac­ted Drobo ? Was their tech­nical sup­port able to offer any assistance ?

      • justin says:

        So far the response to the online trouble ticket I cre­ated is to send, a day later, a form let­ter reply list­ing some com­mon FAQ entries and some­thing say­ing if this doesn’t solve the prob­lem dump the dia­gnostic file (which is bin­ary) and send it to them.

        Which I will do, but from read­ing past exper­i­ences it seems the best they might offer is to have me ship the whole unit to them and they will do what I am doing .. recov­er­ing file and file frag­ments from a raw partition.

        Anyway it doesn’t really mat­ter what their response is at this point. Because the 3 phys­ical drives I have in it are not noted as hav­ing any issues, even if they offer to send me a new unit, I can’t trust their soft­ware (firm­ware) again.

      • justin says:

        Here is the assist­ance drobo sup­port gave me:

        “You will need a 3rd party recov­ery soft­ware. The power fail­ure might have caused the issue.

        Uchenna P.
        Technical Support Agent
        Data Robotics, Inc.
        866−426−4280 ”

        Here is the log from DiskWarrior ($99):

        Dec 15 14:16:24 brooks-​​computer [0x0-0x173173].com.alsoft.diskwarrior[5414]: DiskWarrior App: Rebuilding disk device: disk1s10
        Dec 15 14:16:25 brooks-​​computer [0x0-0x173173].com.alsoft.diskwarrior[5414]: DiskWarrior App: disk1s10 Extents, Catalog and Attributes tree sizes total 1.35 GB.
        Dec 15 14:19:02 brooks-​​computer [0x0-0x173173].com.alsoft.diskwarrior[5414]: DiskWarrior App: Attributes file is severely damaged.

        DiskWarrior gives up try­ing to fix the disk after chew­ing on this for 10 minutes.

  6. justin says:

    Oh and for kicks, here is the log so far of photorec

    photoRec 6.11.3, Data Recovery Utility, May 2009
    Christophe GRENIER
    http://​www​.cgse​cur​ity​.org

    Disk /​dev/​disk1 — 2199 GB /​ 2047 GiB (RO)
    Partition Start End Size in sec­tors
    10 P HFS 263968 4226792639 4226528672

    Pass 1 — Reading sec­tor 118505855/​4226528672, 6156 files found
    Elapsed time 11h04m02s — Estimated time for achieve­ment 383h38m48
    jpg: 4512 recovered
    mp3: 681 recovered
    txt: 516 recovered
    mov: 199 recovered
    dv: 121 recovered
    tx?: 28 recovered
    gif: 23 recovered
    png: 22 recovered
    mpg: 16 recovered
    ogg: 11 recovered
    oth­ers: 27 recovered

    See the “Estimated time for achievement” ?

    383 hours. So almost 2 weeks.
    just to cre­ate a huge col­lec­tion of 90% rub­bish files and part-​​file fragments.

    I feel like I entrus­ted a digital archive to a drobo thresh­ing machine.

    And note: disks all green. No alerts from drobo after it came up after the power out­age. Everything, accord­ing to the drobo con­trol panel, is just perfect.

Trackbacks

Check out what others are saying about this post...
  1. […] Drobo  —  Guessing How BeyondRAID Creates Space and Volumes […]

  2. […] is that it’s easy, oh so easy, to make errors. Like fun­da­mental glar­ing errors (such as my post on Drobo) or even more fun­da­mental errors in judge­ment or […]



Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!