Sunday, May 31, 2009

How to use Time Machine with a Buffalo Terastation NAS

I always thought how convenient a Time Capsule would be. But I was always discouraged with the cost. I already have a 802.11n Wifi router and already have a NAS too. It was just plain impossible to justify the cost of getting a Time Capsule.

So I looked around to see if there were any other solutions. And I found one. Unfortunately I do not know how it compares to Time Capsule as I do not have one (yes, some investigation needed here). But it does what I need to do and that is take a regular backup of my system.

In my environment I am using a Buffalo Terastation Live with 1TB of storage. The file system where the backups are stored is a 1TB external USB hard drive connected to the Terastation.

Step by step procedure is listed below:

  1. So first things first. In order for your Mac to store backups on NAS drives, you have to change a system property. Please refer to the following command:



    MacBook :~ mactimes$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

    Restart your system in order for the changes to take effect. Once done, Time Machine will allow your system to use a Network drive (non-standard drives in general) to backup your system. But unfortunately, there is still more to do. The application has difficulties creating the backup file and the work around is to manually create this storage container (known as SparseBundle) for Time Machine.

  2. Turn off Time Machine in order to complete the next steps.

  3. Run the following command to grab the MAC address from your Network Interface. This is recreated when creating the backup file.



    MacBook :~ mactimes$ ifconfig en0 | grep ether

    Make a note of the MAC address and remove the colon marks. This and the hostname are required for the naming of the backup file.

  4. Create the "sparesebundle" file on your local file system. We will copy it to the NAS server later.



    MacBook :~ mactimes$ hdiutil create -size 300g -fs HFS+J -volname "Backup of MacBook" macbook_001b63b14f57.sparsebundle
    created: /Users/mactimes/macbook_001b63b14f57.sparsebundle

    note: The "-size" is the max size that you allow the file to grow to. Supply the size which fits your requirements
    note: HFS+J is file type, this does not change.
    note: -volname is the name you configure for your backup file.
    note: output name is [hostname]_[MAC address].sparesebundle

  5. Move the file to the File Server



    MacBook :~ mactimes$ mv macbook_001b63b14f57.sparsebundle /Volumes/usbdisk1/

  6. Now is the moment of truth. In Time Machine Systme Preferences Panel, select "Change Disk". It will display the volumes you can backup to. It should display the volume you moved the file to. If your share is not listed, ensure that the NAS is mounted. Also, if you haven't rebooted after Step 1, please be sure to reboot then try again.

  7. Before starting Time Machine, you will want to stop the indexing on your backup file, else your system will become extremely slow. To do this go to "Spotlight" in your System Preferences. In the Privacy tab, add the share where you copied the backup file.

  8. From here, just turn on Time Machine and let it run. You should get a successful backup although it can take time to complete depending on how much data your hard drives are using.
Now that is it. I have been using this technique to do regular backups and usually let it run over a night during the weekend. So far I have had no issues although I have only recovered one or two files since enabling it.



Just as a note, the technique mentioned above is clearly a hack and not promoted by Apple in any way. I will not be held liable for any data loss especially since I have not fully tested a full recovery myself. This technique worked well for me but I am guessing depending on the hardware used, mileage may vary. If you have any issues, I am more than willing to help for the setup although I cannot guarantee this technique for your environment. Please use at your own risk. If you do have success with this technique, please comment to let others know.

15 comments:

  1. JimJul 20, 2009 01:55 PM
    Thank you for your article. Regrettably I can't get your solution to work. Whenever I type in "ifconfig en0 grep ether" I get an error message of "bad value". I have a few Windows Vista machines hanging off my Terastation Live server and they work fine. However, with my MacBook using 10.5.7 of the OS get very very slow file copy performance and I can't create the sparsebundle to use TimeMachine. Any help you can give me would be greatly appreciated.

    As you might be able to tell I'm a MAC newbie and even the terminal commands are a bit foreign to me.

    Thanks, in advance, for your help on both (file copy and Time Machine) issues.
    ReplyDelete
  2. AnonymousJul 30, 2009 04:50 AM
    try just "ifconfig en0 | grep ether"
    ReplyDelete
  3. Newb @ MacTimesAug 1, 2009 08:26 AM
    Anonymous, thank you for correcting my mistake. You are absolutely correct.

    I have edited my post with scripting boxes to ensure that none of the special characters are accidently removed. I hope this helps to limit the issues that may arise.
    ReplyDelete
  4. Eric JonesAug 11, 2009 03:48 AM
    Almost every thing worked well but I still get the error:"The backup disk image could not be mounted".
    No matter what I get this error.
    I thought it was great when the system changed screens to Time Machine. Freaked me out for a minute. After that I pointed Time Machine to my NAS but it still failed.

    ej
    ReplyDelete
  5. Newb @ MacTimesAug 11, 2009 06:48 AM
    Hey EJ,

    I remember seeing this error when I was first playing around a while back but unfortunately I do not remember at which stage I got this error.

    Some things that I can think of which could cause problems.

    1) Ensure that you have rebooted the system after running the command in step #1
    2) In step #4, make sure that you are using the following format: [hostname]_[mac address].sparsebundle. [hostname] being the name of your Mac.
    3) Make sure that in step #4 that you create the file locally and then copy the file to the server.

    I hope that one of these suggestions help to resolve your issue.
    ReplyDelete
  6. Newb @ MacTimesAug 11, 2009 06:57 AM
    EJ, I just realized than when I wrote the post, the format required for the naming convention of sparesbundle did not display correctly. I fear I may have used angle brackets which did not display properly in the post. I have updated the post and replaced the angle brackets with square brackets.

    Again to clarify, the "hostname" is the name that you set for your mac. You can run the command "hostname" in the terminal to verify your hostname.

    I really hope this is the source of your problem and that it prevents issues for others in the future.

    Good luck and let us know how it goes.
    ReplyDelete
  7. oregonduckmanSep 15, 2009 02:50 PM
    Newb,

    Tried the following steps with the noted result, any ideas?

    1. defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes
    2. rebooted my system
    3. created the share iMac on my Terastation
    4. turned off TimeMachine
    5. used System Preferences to get the Mac address of my AirPort adapter
    6. ran the command hdiutil create -size 300g -fs HFS+J -volname "Backup of iMac1" iMac1_"The Macaddress from my airport adapter with the colons removed".sparsebundle
    7. did your step 6
    8. did your step 7
    9. did your step 8 except I received a Time Machine Error with the message "The backup disk image could note be created"
    ReplyDelete
  8. oregonduckmanSep 16, 2009 11:18 AM
    Got it to work on the wired connection but not on the wireless, any ideas?
    ReplyDelete
  9. AnonymousJan 7, 2010 05:07 PM
    wrong mac address, use wireless mac address
    ReplyDelete
  10. mikeOct 28, 2010 02:02 AM
    Many thanks Newb - I followed your instructions and it is backing up now (finally). Only another 300GB to go.

    :-)
    ReplyDelete
  11. mlcNov 7, 2010 02:10 PM
    Thanks Newb it almost woks as described on my LinkStation. Except that the folder on the NAS seems to small. TM stops because it says the Disk is too small and indeed the share appear in TM as 5GB in size whereas it is not mimited in size and there is ample size on the disk.
    I defined the TM folder on the NAS but can't find were to set the size. Other folders (not for TM) have no other size limit than the disk size. What did I missed?
    Matt
    ReplyDelete
  12. AlexanderNov 21, 2010 06:37 PM
    I followed all the beautiful instructions and it worked really good. I also use TM editor to do backups once a day. However after 12-14 days (backups) TM stops showing a message "To improve reliability it must create a new backup for you". If I click on "start new backup" the history and everything is deleted and I had to create a new sparse bundle file on NAS in order to have backups again. Then the same story (12-14 backups) repeated. Any ideas how to fix that? Thanks much. Alex
    ReplyDelete
  13. AnonymousJan 8, 2011 09:23 PM
    Awesome! After months of banging my head against the wall trying to get TM to "create a disk image" with my MacBook Pro and my Buffalo LinkStation LS-Q2, this worked!

    I haven't done a restore yet but, I'm not worried. We'll see how it goes.

    Thanks again!

    Guy in SoCal
    ReplyDelete
  14. YasinJan 15, 2011 03:25 AM
    I've spent several weeks looking through a long list of posts on the topic and with this, I finally got it working! THANK YOU! I was on the verge of looking into an entirely different solution due to the frustration. :)

    Much appreciated.
    ReplyDelete
  15. AnonymousApr 30, 2011 04:48 PM
    I tried doing this, but usbdisk1 is a random file... not a folder. How can I move the .dmg into usbdisk1 if it's just a file? (If that it correct, anyway...)
    ReplyDelete