Thursday, August 29, 2013

DIY Time Vault (Time Capsule clone)

Apple's Time Machine is a nice piece of software, however, it also is know for failing regularly on both, Macintoshs and Hackintoshs.
Of course one would expect that the product works perfectly on its intended hardware, leaving the more underground Hackintoshs behind, however, it doesn't!

=> Wanna skip the motivational part? Just scroll to the Recommendation section.

So, what is the problem?
In pursue to solve the mystery, I experimented with various different file servers and server OS serving various different Hackintosh, since this is what is at my proposal.
At the beginning, the results seem inconclusive, however, I have the impression that by now, I got closer to the problem's solution.


The Servers

Let's have a closer look at the 3 file servers I was using during testing.
  1. Low Power: Intel Atom single core, running NAS4Free, 4 HDD @ RAID-Z1
  2. Moderate Power: AMD E-350 dual core, running FreeNAS, 2 HDD @ RAID-Z (mirror)
  3. Moderate Power: AMD E-350 dual core, running FreeNAS, 2 HDD @ RAID-Z (stripe)
  4. High Power: AMD FX-6100 six core, running NAS4Free, 4HDD @ RAID-Z1

Workstations
  1. Core i5-3570K, Z77, overclocked, 8GB
  2. Core i3-3225, H77, 8GB

Network

Everything is connected by Gigabit-Ethernet.

 
Experience

When one does encounter problems with Time Machine, usually, the workstation just freezes up. Maybe the mouse pointer will still react, but that's about it. During TM backups, the workstations seem to freeze up rather often, in particular when doing a fresh, first or initial backup, covering a large amount of data.

The Core i5-3570K struggled a bit in the beginning during writing backups to the Atom system. However, at some stage, the initial backup was successful, and backing up this particular workstation on the Atom server never had been a problem again.
The same workstation had no problems to store backups on any of the other server setups at any given time.

With the Core i3-3225, the experience was totally different. After many unsuccessful attempts, a backups was created successfully once on the Atom NAS. Incremental backups were OK, until a major change on the disk's data structure was introduced and backups failed ever since.
The same workstation failed to backup successfully on the AMD FX-6100, even when being the only client to that system. Even when running the FX-6100 at max specs, backups were still failing and the workstation was found in an oblivious state.
On the positive, backups to the AMD E-350 with a RAID-Z in stripe was immediately successful. This sort of backup-storage translates into the non-ZFS world as RAID-0, which is really fast, but not redundant (one disk goes bang and the data is gone). This server config gave some hope and also input to understand the TM-problem.
Now at the last option to discuss, the E-350 FreeNAS box was configured to RAID-Z(mirror), which is equivalent to RAID-1, i.e. mirroring disks. Such a config is somewhat slower than striped arrays, however, it give redundancy and therefore is a better safe-heaven for valuable data. Now, how did this perform as a TM backup server (Time Capsule)? Well, mixed results here! The backups stalled again, when the other workstation accessed the server during backup. However, the TM backup succeeded while the other workstation was totally disconnected from the file server.


Conclusions

When reflecting on the results, it seems that Apple's Time Machine needs a very prompt response from the file server (or Time Capsule, for good measures). However, there seems to be this other factor, being the processor (clock) of your OS-X host. The Core i5-3570K (3.4GHz + turbo) hardly ever had a problem to backup all it's data, while the Core i3-3225 (3.3GHz) had a hard time doing so.
All in all, I think, Time Machine is very much dependent on a quick reaction of the file server. Still I do not understand why the fastest machine, the AMD FX-6100, failed. However, I discovered, that in this particular FX-6100 setup, there might be a problem with the Gigabit-Ethernet.


Recommendation

When building a Time Capsule clone, the following can be done.
With an AMD E-350 dual core and a 1, 2 or 3TB drive, a fully functional Time Capsule clone can be built when running FreeNAS.
In the case that you wish to protect your valuable backups/data more reliably, you may want to consider using a file sever with mirrored disks. If one disk fails, the other still holds all the data. I figure that this is more secure than using Apple's Time Capsule, which employs one disk only.
Therefore, my personal recommendation is to build a relatively low power AMD E-350 system as a Time Capsule clone, running FreeNAS with 2 mirrored disks. I would call this a Time Vault.
Configuration of the FreeNAS-OS to operate as a server for Time Machine backups is pretty simple. In a usual way, set up your data storage structure, than add a share for AFP and set the "disk discovery" mode of said share to "Time Machine" and you're good to go.