Posted November 11th, 2008 @ 02:54pm by Erik J. Barzeski
Update Dec. 24, 2008: I've long since repurposed my Drobo after running into the same problem a commenter below had: the data backs up but doesn't show itself as a backup in Time Machine. There's a work-around, but it isn't a case of "it just works" at all, so you may want to avoid using your Drobo for Time Machine backups at all. It's way, way too much of a headache.
A few days ago I reformatted my Drobo because it was acting up. I believe this was due to a system reinstall and not the fault of the Drobo. Prior to reinstalling I was made aware of the fact that the Drobo, like virtually all expandable mass-storage devices, "lies" to the computer about its disk size.
This "lie" is beneficial if you plan to expand the size of your disk drives. It leaves "room to grow."
The "lie" is a horrible one, however, for Time Machine, which prunes its backups automatically when a disk is full. In my case, Time Machine would be led to believe I have a 2.0 TB disk even though my current Drobo configuration is only 1.35 TB. Once Time Machine had dumped 1.35 TB of data on my disk, it would not know to start pruning old backups to make room for new ones because it would believe that it still has another 650 GB of free space!
Additionally, because Drobos give you quite a bit more than half the storage space, it plays some tricks with your data to keep it safe. The long and the short of it is that once you get to about 95%1 of your actual maximum capacity (again, 1.35 TB in my case), the Drobo slows file copies to a crawl in order to run its proprietary routines that are designed to protect your data.
Update: 2008-11-13 08:42:40
I've drastically changed the content of this post. I do not want to be seen as giving bad information (nor, obviously, do I actually want to give bad information), and since search engines are likely to pick up on this article, I've amended this article to be as useful as possible for as many people as possible.
As a result, several of the comments below may seem out of place. I'll consider removing some with the author's permission, though I currently hope to leave them all in place.
If you're looking to use your Drobo with Time Machine, I've come to understand that there are essentially three methods for doing so.
Best Method: Use a Sparse Image
By consensus, the "best" method is to use Time Machine's capabilities to back up not to the disk itself, but to a sparseimage file. A sparseimage file is like a DMG (disk image), but with some added special properties. For example, it can expand dynamically and the image file can be held to a maximum size. Apple's Time Capsule uses a sparseimage file with Time Machine to store backups for multiple computers.
The easiest way to create a sparseimage that will work with Time Machine is to use an Automator script called Time Tamer. Time Tamer will create a sparseimage file on your Drobo sized that's twice as large as your boot disk. For many, that will work.
If you're comfortable using the Terminal, and you'd like to customize the size of your sparseimage file (as well as the name), you can do so (originally posted in my comment below) with this command:
hdiutil create -size 1024g -fs HFS+J -volname "Time Machine Backup" /Volumes/Mimzy/Bunny_0017f202b9ec.sparsebundle
In this script, "1024g" is the maximum file size (1024g = 1024 GB = 1.0 TB), "Time Machine Backup" is the name of the disk as it will appear when mounted during backups, "/Volumes/Mimzy/" is the path to my Drobo, "Bunny" is the name of my computer (
hostname without the ".local"), and "0017f202b9ec" is my computer's MAC address, obtained with
ifconfig en0 | grep ether or via the System Profiler application.
Using this method, you can safely set your Drobo to be a 2.0, 4.0, 8.0, or even a 16.0 TB drive. This size will be reported to the Finder and other applications as the available size of the disk, and theoretically if we see 8 TB disk drives at some point, you might even get there. 🙂
Because of the "protection" methods used by the Drobo, it's still recommended that you stay below the "95% actual disk space" threshold at which the Drobo will slow file copies to a crawl. The Drobo Dashboard application will tell you how much actual disk space you have. In the image below, it's the "Storage Capacity."
You can also approximate your "actual size" with the Drobolator.
In my case, I've formatted my drive as a 16 TB drive and created a Time Machine backup sparseimage file capped at 1.2 TB. Until Time Machine backs up 1.2 TB of data, I'll have a little extra space to store files temporarily, but it's up to me to remember that. After all, so far as the Finder knows, the disk is 16 TB in size. However, if I ever swap out any of the 500 GB drives I have installed now2 with a larger one, I will either be able to increase the maximum size of my sparseimage file (
hdiutil resize -size 1500g) or I'll have a little room to play with.
This method is quite nice for several reasons. One, your sparseimage file can be upsized as you add more storage. Two, the sparseimage file itself is a single file. You can back this file up, copy it to another Drobo, or do anything else with it that you can normally do to a single file.
There's just one word of caution, and that is that regardless of the situation for which you use the Drobo - Time Machine, general storage, or a combination of both - you should take care to remain below the 95% threshold.
Method Two: Format for Smaller Sizes
If you use the Drobo Dashboard application to format your drive, you'll notice that it offers several choices for volume size: 1.0, 2.0, 4.0, 8.0, and 16.0 TB. If you create a volume that's larger than your "actual" storage space3, you'll get one volume that reports this increased size to the Finder and everything else.
But if you choose a size smaller than your actual storage, you'll create multiple volumes. For examaple, if I chose the 1.0 TB option with ~1.35 TB of actual storage space, I'd get two volumes or "disks." Both would report that they were 1.0 TB in size. One would actually be 1.0 TB but the other would only be about 300 GB in size. If I then expanded by replacing the drives with larger ones, I'd increase the actual size of the second drive or, eventually, end up creating a third drive, a fourth drive, and so on - all 1.0 TB in size.
If you never plan to increase the size of your Time Machine backup, you can use this to your advantage. In my case, I could have chosen a 1.0 TB size and used the first disk - the one that's got an actual size of 1.0 TB - as my Time Machine backup. The second disk I could use for temporary file storage or something, again taking care to stay below the 95% threshold.
This isn't the most practical of methods, and it's fairly limiting. If you later change your mind and want 2.0 TB of Time Machine space, you'll have to reformat your Drobo, which will delete the data on every Drobo drive.
Method Three: My Original Method
This is based on my original method, which I've since abandoned in favor of the sparseimage method. It uses a combination of the Drobo Dashboard and Disk Utility in a way similar to the second method, but without the "extra disks" or the precise limits on volume size.
Before you read any further into this method, parts of this method may very well be unsafe. According to a Data Robotics representative, the first parts of this method are supported. I'll point out when that barrier is crossed.
For this method, you format your Drobo using the Drobo tools for a volume size larger than the actual size of your disk. You should leave room for growth, up to and including choosing the 16 TB option. The Drobo will reformat (i.e. erase) the drives and appear on your desktop after a few minutes as a 16 TB drive.
Before copying any data to the drive, launch Disk Utility. Click the "Partition" tab and drag the volume size (or type in a number) such that it is below the 95% threshold.
This screenshot illustrates the process on a Drobo formatted as a 2.0 TB drive. Because this screenshot is from the way I used to be doing things, there is one incorrect thing and one difference from the way it should be done:
- Difference: your volume shouldn't have any "blue" in it, as blue = data. It should be entirely white.
- Incorrect: 1.35 TB was my "actual" storage capacity. I should have sized it at 1.2 TB to stay below the 95% threshold.
Again, do this before you copy any data to the drive.
When you're done, your Drobo will appear on the desktop as a disk of the size you've chosen. In my case, had I created a 1.2 TB disk, it would show 1.2 TB. I could use the volume as a Time Machine backup volume, for general storage, or any combination of those two things. Time Machine would automatically prune old backups as necessary and you wouldn't have to think about sparseimages or the 95% threshold, as that's built in already.
The downside is that you're also limited in how easily you can upgrade the storage. If some day you find four 1.0 TB drives on your porch, and you pop them into the Drobo - one at a time, and when the Drobo lets you so you don't lose any data - you'll have 2.7 TB of actual storage space. Yet your disk will still show only 1.2 TB because that's how large the partition is. The rest is just unused - and inaccessible - space.
That "supported" versus "unsupported" barrier I talked about before? Here it is. Everything above here is supported by Data Robotics. What I'll talk about now, below this point, is not supported by Data Robotics. Again, I've done what I'm about to tell you below and others have as well, but you should consider us to have gotten supremely lucky.
Warnings aside, let's get back to the scenario I was talking about above. We lived happily with a 1.2 TB disk, but it's full and someone left four 1.0 TB drives on our porch, so we want to put them into the Drobo and increase the size.
So we do so, one at a time and when the Drobo tells us it's safe, and eventually we have 2.7 TB of actual storage space being reported to us as the 1.2 TB volume we created earlier. When the Drobo is not doing anything - the Drobo Dashboard's drawer will often say something like "DATA PROTECTION IN PROGRESS" when it is - you can launch Disk Utility and drag the partition size to create a larger partition. In this case, you might drag it out to 2.4 TB. You'd click "Apply" and you'd wait for the partition scheme to be applied.
After awhile, your disk might re-appear on the desktop, data intact, at its new size.
I've done it several times. Once when I was using this method, as seen in the screenshot above with the "blue data," and several times last night as a test re: increasing the size of the partition as a test. However, it remains unsupported and not recommended. You cannot trust Disk Utility when it says "this volume will not be erased" because it doesn't know that the Drobo is the special kind of disk that it is.
Note that the initial partitioning to a smaller size may take awhile, and it will likely depend on the sizes ("fake" and "actual") of your drives. Some of the operations I performed took a few minutes. One commenter noted that his took 12 hours.
I should note here that I was "okay" with catastrophe - losing every bit of data on the Drobo - because mine is a backup drive and I have several other backups available. Odds are, you don't. Consider that the last warning.
Some Thoughts on Why Method Three Works at Least Some of the Time
An HFS+ disk has several invisible items. It has an "Extents Overflow" file, a few catalog files, and volume bitmaps and information that store things like the size of the disk and its partition(s). I believe that the Drobo also stores this information - part of the reason why you can use Disk Utility to Verify and Repair Drobo drives, or format them - and this is exactly the reason why you can re-partition with live data.
With a normal disk, the location of this type of data is important. I believe this "hidden information" is typically written at the lowest addresses on the disk. If data is written immediately after it, the disk is limited in how much it can change that hidden information by the space it gave itself to grow. This hidden volume information is obviously stored on the Drobo, but it may not be in one place and it may not even be on one disk. The Drobo seems to act as a sort of address translator. The Mac says "give me this file," and the Drobo assembles the file from various parts sitting at various locations and hands it to the requesting application.
If that's true, then perhaps live resizing a Drobo will work fairly successfully a good percentage of the time as long as some guidelines, such as not pushing close to the 95% "slows to a crawl" threshold, are observed4. Nobody outside of Data Robotics knows how the Drobo works, but I personally believe this method to be at least a little bit safer than the stern "DO NOT" warning issued by Data Robotics. But then again, they're the experts and I'm just speculating wildly, so take this entire section for what it's worth (not much at all).
- Please see this comment for more on this number.↩
- My Mac Pro got the four 1 TB drives that came with the Drobo.↩
- Again, ~1.35 TB in my case with four 500 GB drives - use the Drobolator to figure out your actual size.↩
- Everyone who tested, regardless of the kind of data they had, reported that Disk Utility always showed the files as unfragmented and always occuping the "beginning" portions of the disk.↩