Mac Virtualization Benchmarks: Parallels vs. VMware

In the vast majority of overall our tests, Parallels Desktop 6 won. Again, if you count up the general tests including one 3D graphics score, Parallels won 61% of the tests by at least 10%, and was also a bit faster on an additional 23% more of the tests. In other words, Parallels Desktop 6 beat VMware Fusion 3.1 in 84% of the general tests we ran.

via 12-Conclusion | MacTech.

For the handful of Windows-only applications I use on a semi-regular basis, I’m a happy Parallels user. Not only is it fast, but it gets out of the way in the manner a good desktop virtualization hypervisor should.

Change the Location of Your iPhone Backup

Are those iOS backups taking up too much space on your boot drive? While there’s no built-in function in the iTunes preferences menu for moving the archive folder, it’s a simple procedure on most platforms. While others have mentioned this in the past, I haven’t come across a single page with instructions for all major operating systems. For reference, the instructions are below:

Mac OS X

  • Close iTunes
  • Move the existing ~/Library/Application Support/MobileSync/Backup/ folder to the destination drive (for example, named BigExternalDrive)
  • Open a command prompt by launching Terminal and create a symbolic link using a command similar to the one below, replacing /Volumes/BigExternalDrive/Backup with the path to your destination:

ln -s /Volumes/BigExternalDrive/Backup/ ~/Library/Application\ Support/MobileSync/Backup

Windows Vista and Windows 7

  • Close iTunes
  • Move the existing C:\Users\(username)\AppData\Roaming\Apple Computer\MobileSync\Backup\ folder to the destination drive (for example, D:\)
  • Open a command prompt and create an NTFS junction point using a command similar to the one below, replacing D:\Backup with the path to your destination:

mklink /J "C:\Users\(username)\AppData\Roaming\Apple Computer\MobileSync\Backup" "D:\Backup"

Windows XP

  • Close iTunes
  • Download and extract this junction utility to your Desktop
  • Move the existing C:\Documents and Settings\(username)\Application Data\Apple Computer\MobileSync\Backup\ folder to the destination drive (for example, D:\)
  • Open a command prompt an NTFS junction point using a command similar to the one below, replacing D:\Backup with the path to your destination:

cd Desktop
junction "C:\Documents and Settings\(username)\Application Data\Apple Computer\MobileSync\Backup" "D:\Backup"

References:

Change munin Node Hostname

If you ever need to change the hostname of an existing munin node, and you want to retain the existing historical data, follow this procedure:

  • Disable or comment out the munin-cron job. On a RHEL or CentOS system, this is typically contained in /etc/cron.d/munin
  • Replace the existing hostname entry in munin.conf with the new hostname.
  • Rename the existing RRD sub-directory and files.

cd /var/lib/munin
mv oldhost newhost
cd newhost
rename oldhost newhost oldhost*.rrd

  • Remove the old HTML directory:

rm -rf /var/www/html/munin/oldhost

  • Enable or uncomment out the munin-cron job to restart the service.

Update 2/11/12: Stefan Schlesigner has posted a helpful script for performing this process.

ZDNet: SSD Reliability

Given the same source data, I would be hesitant to jump to the same conclusion. This report throws out numbers without listing the class of drives (enterprise vs. consumer), age or generation of drives, the number of total returns, the failure type (software, firmware, flash malfunction, etc.) or even whether the drives truly “failed” versus the myriad of other reasons for returns (buyer remorse, operator error, software incompatibility, etc.).

I place much more stock in the claims of companies that back their reliability claims with math and science, like Fusion-io does:

Fusion-io’s data integrity design target is a 1 in 10^30 probability of undetected bad data and a 1 in 10^20 probability of uncorrectable data, as compared to a 1 in 10^16 probability of undetected or uncorrectable errors for rotating magnetic storage devices.

Then again, the best recipe for traffic is to take two pieces of data (return rates and voltage architecture), combine, and let the reader feast of the bold, unsubstantiated claims. Delicious.

Initial Thoughts on CrashPlan 3

Impeccable timing. Directly on the heels of my previous post, CrashPlan released their first major update in about 9 months. Many bug fixes and enhancements, including some welcome improvements to separate backup sets (!), day-of-week scheduling, added command line geekery, and subtle interface improvements. Since the client was just rolled out last night, I’ve only had an hour or so to poke around. Here are some initial thoughts.

As usual CrashPlan’s automatic update process worked flawlessly. All of the machines I tested had automatically downloaded and installed the latest client software overnight, and they were back in action in short order.

Along with the features rolled out in the updated client, CrashPlan has also made a few changes to its subscription model. The new pricing has gone live at the CrashPlan Store, and here are the previous prices for comparison:

The noticeable differences are the introduction of a lower-cost, 10GB storage tier and the bundling of CrashPlan+ features with each plan. Both of these changes are welcome, and I hope the lower initial cost to entry will encourage more folks to use dependable, near-real-time online backup.

Also as previously announced, the pricing for unlimited family backup plans have been raised slightly:

This is completely logical, since the subscription now covers CrashPlan+ development and likely takes into account the a growth in user count and backup data. Personally, I’m glad I forked out for two 3-year family subscriptions back when they first launched: 4.5 years of unlimited backup to go, baby! I am not eligible for a refund on the now-defunct CrashPlan+ licenses I purchased at $59 a pop, but heck, it’s been worth its weight in saved bacon!

All in all, good changes that leave me with a couple questions:

Will businesses be allowed to use CrashPlan+ with the new CrashPlan Central subscription? In the past, I’ve recommended the CrashPlan+ client to a number of friends and colleagues, but CrashPlan Central was always off limits for business use. If not, will their be an easy way for customers to purchase a similarly hosted version of CrashPlan PRO?

When will a new version of CrashPlan PRO be released? I assume many of these changes — and perhaps more — will be integrated into the CPP release after additional testing.

By the way, the search functionality on the CrashPlan support wiki is broken (actually, based on the HTML source comments, it looks intentionally disabled). If you need to find something, use one of the following URLS (replace QUERY with your query. Fair ‘nuf?)

My CrashPlan Wish List

First, CrashPlan is awesome. But since this is the time of year when all of the children post their Christmas wish lists, I figured I’d list a few features that would be cool to see in an upcoming release. In no particular order:

Wish #1: Prompt to Replace an Existing Computer

During the past couple years of using CrashPlan, I’ve needed to reinstall CrashPlan a number of times. Most often, it has been to migrate from one laptop to another. Other times, it has been after reinstalling an operating system. In either case, it’s a relatively straightforward procedure to re-install CrashPlan and replace an existing host:

  1. Download and install CrashPlan
  2. Sign in using your existing username and password to set up your new computer
  3. Copy your old GUID from the list of computers on CrashPlan’s website
  4. Double-click the CrashPlan logo to enable the super-secret command line
  5. Type guid [paste the old GUID]
  6. Re-launch the CrashPlan desktop interface
  7. Log back into the CrashPlan website to remove the new, unused computer GUID

I have had no problems performing this procedure, but it’s understandably daunting for those who could care less about GUIDs and terminal commands — that is, a majority of the human race. It would be nicer to see process similar to the following:

  1. Download and install CrashPlan
  2. Sign in using your existing username and password to set up your new computer
  3. CrashPlan asks if you’d like to add a new computer or replace an existing computer from a selectable menu

Based on the answer to the question, CrashPlan can either generate a new GUID and setup the client with defaults, or it can set the GUID to match that of your existing computer and inherit all of the appropriate settings, without any unnecessary command-line gymnastics.

Wish #2: Improve Stability of the Linux Desktop Client

One of the reasons I love CrashPlan is that they’re very dedicated to bringing an excellent backup tool to many platforms. For some reason, however, the Java-based desktop client for Linux tends to by flakier than its Mac and Windows counterparts. Maybe it’s just me, but I’ve seen this instability on at least a dozen Linux servers. First, navigating through the restore interface is slow and tends to cause the CrashPlan GUI to crash with Java OutOfMemory errors. One workaround I’ve tried has been to increase the size of the Java heap allocated for the desktop client by editing /usr/local/crashplan/bin/run.conf and increasing the -Xms and -Xmx values, as below:

GUI_JAVA_OPTS="-Dfile.encoding=UTF-8 -Dapp=CrashPlanDesktop -DappBaseName=CrashPlan -Xms256m -Xmx1024m -Dsun.net.inetaddr.ttl=300 -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.negative.ttl=0 -Dnetworkaddress.cache.negative.ttl=0"

While this tends to fix most of the issues, selecting files for restore still tends to be an arduous process. To get around the clunky client completely, I’ve resorted to running the desktop interface locally on my Mac or Windows workstation, and connecting to the destination server using ssh. Despite operating over a network link, the interface is much more responsive and stable…

Wish #3: Central Management Client

… which segues quite nicely to my next wish: a central management client for maintaining deployed instances. While the CrashPlan PRO Server has a web interface for administration of clients, it lacks the relative simplicity and polish of the desktop interface. The web management server is also not an option for folks who have deployed the standard CrashPlan software. A similar web management interface is available for CrashPlan users, although I cannot locate an option to retrieve the backup history of each host. For folks who manage a number of CrashPlan or CrashPlan PRO clients, it would be great to be able to fire up the CrashPlan desktop client on a workstation and have the ability to manage any of the hosts on your account, or to enter the IP address and credentials for a remote host running CrashPlan (VMware’s vSphere Client comes to mind):

Wish #4: Restore Points for Directories

While the CrashPlan interface allows one to drill down on a per-file basis and choose the exact version of a file to be restore, it doesn’t present the same options for folders. At best, you can ask the client to restore the “latest version before [date and time].” I’d love to see the same sort of drill-down method of restoring the contents of an entire folder at a specific time (aka “restore point” or “safeset”).

The current method is slightly less-than straightforward, since it doesn’t tell you the exact time and date of the directory it will be restoring. For now, I’ve taken to browsing through the history.log.0 file, picking the best  ”Completed” time.

Wish #5: Time-Based Scheduling

CrashPlan doesn’t currently offer a means of scheduling a backup to kick off at specific intervals (a la crontab). Sure, it offers the ability to set a time window during which backups are allowed to run, but it doesn’t offer fine-grained controls. For example, if I set a backup to run every 4 hours, it will create a dynamic schedule where the next backup will kick off 4 hours after the completion — not start — of the previous successful backup. Also, this timing is destination-specific, so the effect is an ever-changing, unpredictable timeline. While this is typically not an issue in a desktop environment, it causes understandable consternation to businesses whose IT staff are used to rigid backup schedules and predictable restore points. The current scheduling methodology is not without its benefits, notably the staggered nature by which backups are performed across an organization tends to balance the load to any central backup destinations, but I believe there’s a business need for traditional “static” scheduling.

Wish #6: Destination-specific Backups

Ah, to have the ability to set different source selections and retention policies for each backup destination. For example, I may want to backup copies of raw video captures to my local destination for “just in case” protection while I’m editing a short, but I don’t want to waste the bandwidth and time backing them up off-site when I’ll be deleting them soon anyway. Or perhaps I have an on-site backup vault with a limited amount of storage, so I want to keep one week’s worth of backups on-site, while retaining an year’s worth of versions off-site.

In the meantime, I’ll just back up everything, everywhere and wait for Matthew’s promise to come true.

Wish #7: Full Command Line Interface

Not to stretch it, but it would be super cool if the CrashPlan service were geeked-out with a full CLI for use with external scripts. This would make it so much easier to coordinate CrashPlan backups with systems that require pre- and post-scripts to properly prepare the data for backup (databases, especially).

Wish #8: Understand Filesystem Hierarchy

The CrashPlan restore interface is polite. If you attempt to restore a file without sufficient space in the destination folder, you’re shown a gracious error message. Unfortunately, this logic doesn’t take into account filesystem hierarchy. For instance, say I have the following folder/filesystem layout:

  • /foo (1GB filesystem)
  • /foo/bar (10GB filesystem)
  • /foo/bar/bigfile1 (2GB file)
  • /foo/baz (10GB filesystem)
  • /foo/baz/bigfile2 (2GB file)

If I attempt to restore the entire contents of the directory /foo, CrashPlan won’t allow me. It knows that I’m trying to restore 4GB of total data, but only checks the free space in the top-level /foo filesystem — unaware that both subdirectories reside on separate filesystems with plenty of free space. My options are to restore each subdirectory one-by-one, or to restore the entire shebang into a separate folder and rsync the contents back to their final destination.

That’s all I can think of for now. Despite these quirks, I still believe CrashPlan is one of the best commercial backup products on the market. It’s low-cost (or free), extremely flexible, and relatively easy to manage. Thanks to all the folks at Code42 for their hard work! I can’t wait to see what features are going to be launched in the next iteration of the platform.

What are some killer features you’re waiting for in a backup solution?