Using Data Replicator 3 on a Synology DS212 – don’t

As mentioned in this post, I bought a Synology DS212 NAS for our home network, especially as our Acer WHS had a minor hiccup from overheating during the Waldo Canyon fire (we had to keep the windows shut from the smoke on some of the hottest days of the year).

Synology DS212Since Synology have a recommended backup app (it’s called Data Replicator 3) for their NAS boxes, I decided to try it. Once our new router was configured and my laptop was connected to it via a wired connection (and hence running at 100Mbps), I installed DR3 and did a full backup overnight.

The next morning it had completed. Yay, thought I, but then after a couple of hours I noticed something really badly wrong: my C: drive had only 150MB free, if that. Windows Explorer was showing the drive with a lovely red bar. Yet only the day before it had something like 65GB free, so what had happened?

After a minor panic, I did some thinking. According to some programmer lore: if something suddenly goes wrong then the last thing you changed is probably the culprit. Well, the last thing I’d done was to install DR3 and to do a backup. What could go wrong with that? That’s what I thought, but come with me into the land of the VirtualStore…

No, this is not some online store where you can buy stuff, but a particular feature, introduced in Windows Vista, that helps assure that apps installed on a machine don’t get corrupted by different users. For example, let’s say I let Joe use my machine to access FooBar Editor. I set him up with a user account. Somehow though Joe manages to mess with the FooBar install in Program Files. In the old days, FooBar would then be messed up with me too. But with VirtualStore, any changes Joe makes to FooBar are saved in a shadow directory (It’s C:\Users\\AppData\Local\VirtualStore if you are interested). When Joe wants to use FooBar (or indeed any app installed in Program Files), Windows first checks this shadow directory for the files needed to run FooBar, and then, if not found, the actual “real” folder in Program Files.

What this means is that if Joe is able to change something, it will only change for him, not for anyone else on that machine.

Now, the VirtualStore is not used for every file on the system, only those files that require Admin rights in order to change them. This includes anything in the Program Files (including Program Files (x86), ProgramData, and Windows folders. In essence, this feature ensures that the reliability of a Windows system is maintained across many users; no one user can mess things up for others.

Sounds great in theory, but what had happened is that DR3 doesn’t know about this. I imagine that what had happened was that DR3 had altered the backup date/time for each file it came across. Every single file in those aforementioned directories had been copied to the VirtualStore. In a flash, as it were, I’d doubled the amount of disk space I had in use as every program installed was duplicated. Boom, no more space on that drive.

Gaak.

Luckily all of the folders in the VirtualStore duplicated by DR3 had the date/time of the backup, so I could just go through the VirtualStore, identify and delete them all. I got back my 65GB of free space and uninstalled DR3. I already had Acronis True Image on my laptop, bought another copy for my wife’s laptop, and have set that up to backup to the NAS instead. No more problems.

Album cover for DukeNow playing:
Genesis - Duke's Travels
(from Duke)


Loading similar posts...   Loading links to posts on similar topics...

1 Response

 avatar
#1 brioni said...
26-May-13 5:04 AM

To be fair, Synology do say (although not emphatically enough IMO) that DR3 is for backing-up Data and is not really suitable for system backup. Your experience proves the point!

Leave a response

Note: some MarkDown is allowed, but HTML is not. Expand to show what's available.

  •  Emphasize with italics: surround word with underscores _emphasis_
  •  Emphasize strongly: surround word with double-asterisks **strong**
  •  Link: surround text with square brackets, url with parentheses [text](url)
  •  Inline code: surround text with backticks `IEnumerable`
  •  Unordered list: start each line with an asterisk, space * an item
  •  Ordered list: start each line with a digit, period, space 1. an item
  •  Insert code block: start each line with four spaces
  •  Insert blockquote: start each line with right-angle-bracket, space > Now is the time...
Preview of response