In my previous blog post How to backup VMs in ESX onto Dropbox, I showed you how to backup your virtual machines on ESX to your Dropbox account, but who said it should stop there? I realized after playing with Dropbox on ESX, I had a crazy idea of trying to run a virtual machine that was stored in my Dropbox account. Since I am using the free Dropbox account, I have a maximum of 2GB of online storage and decided to spin up a tiny Linux virtual machine and upload it to my Dropbox account. Not surprised, I was able to register the virtual machine and fire it up and it worked like a charm.
Now, this got me thinking …. if I can run a virtual machine from Dropbox via ESX, could I get another ESX host to see this same Dropbox account? The answer is YES! One feature of Dropbox is the ability to access your files across multiple devices: Windows, Linux, Mac OSX desktop, iPhone, iPad, Andriod and of course ESX. For demonstration purposes, I created two virtual ESX 4.1 hosts called west and east and authorized both hosts to access my Dropbox account.
Here is a screenshot of the two ESX hosts via 'My Computers' tab on Dropbox account:
DropBox is a cloud service that offers file storage and synchronization, personal cloud, and client software. The platform brings together all your files in one place. DropBox is one of the most valuable startups in the world and has. License: Free OS: Linux Windows 8 Windows 10 Mac OS X Language: EN Version: 116.4.368. Double-click Dropbox Installer.dmg. Within the Dropbox Installer window that opens, double-click the Dropbox icon. A notice will appear warning you the Dropbox is an app downloaded from the internet. Click Open to continue. Dropbox for Mac is an incredibly useful file storage and sharing program. Because it is cloud-based, you can access your Dropbox files from practically any device with an internet connection. This page refers to the install of Dropbox for Mac, though it can also be accessed from the web, Windows install, and iOS, Android, Google and Windows apps.
Here is a screenshot of the small 1GB Linux Debian virtual machine I created and uploaded to my Dropbox account:
Here is a screenshot of both ESX hosts (east and west) accessing the directory of the small Linux virtual machine:
I registered the virtual machine on the west coast ESX host and here is a side by side screenshot of both vSphere Clients:
As you can see, the virtual machine is powered on and running. If we take a look at where the virtual machine configuration file and disks is stored, you will see it is currently on the Dropbox account accessed by 'west' coast ESX host:
Here is a screenshot showing the registration of the small Linux VM on west and there is currently nothing registered on east:
Let's say we had a failure on the west coast ESX host and we need to access this virtual machine via east coast ESX host. I registered the virtual machine and powered it on and now the system is back up and running again:
Again, we can see the configuration and virtual disk is now being accessed from the Dropbox account by the east coast ESX host:
We also confirm that the virtual machine is now registered on the east coast ESX and there is nothing running on the west coast ESX host:
Dropbox Download Mac 10.7.5
Dropbox App Download
As you can see from this simple demonstration, you can easily run a virtual machine and have it accessible via multiple ESX host, though I would not recommend you go out and start putting your production VMs on Dropbox, but it is an interesting idea for cloud storage 😉
Note: While testing, I found the synchronization process between the two ESX host to be slightly off and were not always up to date when a change was made. I had to restart the Dropbox daemon several times after I created the virtual machine for the other ESX host to see the updated files. I am pretty sure it is an issue with the daemon versus dropbox, since I can see the files updated on the web browser immediately. I would be very careful to ensure that only one host is accessing the files, else you could see some discrepancies.