I had the same problem with my new macbook pro running OSX Mavericks 10.9.1 and a QNAP TS-219P with firmware 4.0.2.
In the end I had to bypass the Time Machine GUI and set the backup volume through the command line using this command:
sudo tmutil setdestination -ap afp://TimeMachine@NAS.local/TMBackup
where NAS.local is the network name of my QNAP. Once that way set the backups worked fine and the GUI responds properly also.
*** the afp:// part of the above command can just be used in the "Connect to Server" menu item from the Finder. I found that the use of the username "TimeMachine" made all the difference, given that I also use the same network server for my normal network shares.
Better later than never, here is a hack to achieve this :
sudo ifconfig lo0 alias 127.0.0.2/32
Plug your usb drive, then via System Preferences
/ Sharing
add a smb share to a folder time-machine-macbook
in the drive time-machine-usb
Then, add a destination backup (Time Machine will see it as a network share)
sudo tmutil setdestination -a "smb://user:password@127.0.0.2/time-machine-macbook"
You can see if it's ok with:
tmutil destinationinfo
> ==================================================
Name : time-machine4
Kind : Network
URL : smb://kenji@realserver._smb._tcp.local./time-machine
ID : D820D053-C74A-4A06-A7E1-E60C8EA7934F
====================================================
Name : time-machine-macbook
Kind : Network
URL : smb://user@127.0.0.2/time-machine-macbook
Mount Point : /Volumes/time-machine-macbook
ID : F707BD0B-64DF-4DB6-A3B7-824470FB5EB2
Then start a backup with tmutil startbackup
and mount
will show:
/dev/disk3s1 on /Volumes/time-machine-usb (apfs, local, nodev, nosuid, journaled, noowners)
//user@127.0.0.2/time-machine-macbook on /Volumes/time-machine-macbook (smbfs, nobrowse)
You can see detailed progress with tmutil status
:
Backup session status:
{
BackupPhase = Copying;
ClientID = "com.apple.backupd";
DateOfStateChange = "2018-06-28 17:38:21 +0000";
DestinationID = "F707BD0B-57DC-4DB6-A3B7-824470FB5EB2";
DestinationMountPoint = "/Volumes/Time Machine Backups";
FirstBackup = 1;
Percent = "0.08711567546702646";
Progress = {
TimeRemaining = 32679;
"_raw_totalBytes" = 355694600192;
bytes = 34429528173;
files = 887351;
totalBytes = 391264060211;
totalFiles = 2922384;
};
Running = 1;
Stopping = 0;
"_raw_Percent" = "0.09679519496336274";
}
In my case, near 1000000 files were done in about two hours (USB2 disk penalty, versus more than 8 hours via Wi-Fi), I calculate percentages with a small script:
tm-progress.sh
Files : 918702 / 2922384 (31.43%) - Bytes : 32.21 GiB / 364.39 GiB (8.84%)
We can here that many files can make Time Machine to progress "slowly" in Bytes, but nearly 1/3 of files have been copied.
Next step, when backup is finished, plug the usb drive to your realserver and copy the sparsebundle over the "uncompleted one" (or in the shared folder). Of course, Time Machine should be disabled during this step to prevent mounting a partially copied sparsebundle (and maybe corrupting it)
I have used an apfs drive to benefit of snapshots (to be able to revert to a previous "backupdb" in case of sparsebundle corruption, not tested yet)
Edit: even faster mode :
Once the backup has reached BackupPhase = Copying
to make it faster you can make the backupbundle mount directly (without sending every operation through smb) by canceling the backup, renaming My-Computer.backupbundle
to something like 1My-Computer.backupbundle
, and creating a symbolic link :
ln -s /Volumes/time-machine-usb/1My-Computer.backupbundle /Volumes/time-machine-macbook/My-Computer.backupbundle
This tricks timemachine into following the link to the backupbundle localy, and not mount it through smb, which speeds up the backup. Make sure you move the backupbundle back when you have finished your local backup.
Best Answer
As I understand it there is a huge advantage for iSCSI that outweighs the issues above - it is seen as a local disk to the OS.
TimeMachine backups to USB, Firewire or Thunderbolt drives backup natively, while TimeCapsule and other Network drives get a 'SparseBundle" pseudo drive.
In my experience timeMachine on a sparse bundle always fails at some point in its life and has to be scrapped - especially over WiFi. I have had nothing but bad experiences using that system.
However (in theory) an iSCSI connection will use a native format (no sparse bundle) which seems much better.
If you need to restore you can always copy the Time Machine disk to a real USB or TB drive and mount it on the Mac - sure it is a pain, but really how often does that happen? Alternatively you can first rebuild the OS and reinstall the iSCSI driver, or boot off a Super Duper clone (assuming you have one).