Disk image management in VDI environments: VMware, Ardence, shared disks, and the offline goal

A few weeks ago I wrote about VMware's upcoming OnDemand streaming technology.

A few weeks ago I wrote about VMware’s upcoming OnDemand streaming technology. (This is a feature that lets a local virtual machine boot a VM from a disk image before it has been copied 100% across the network. In effect it “streams” the disk image from a file server to the client.) I wrote that this was similar to Citrix’s Ardence technology, and I said the VMware technology might be better than Ardence’s since it would work offline.

Many readers disagreed with my views. They felt that Ardence was better than VMware because (1) it could work with any hypervisor or on native hardware, and (2) that Ardence’s “shared disk image mode” (where multiple clients mount and stream the same disk image from a server) is critical in the VDI space.

On the first point, I think the readers who commented on that article were right—Ardence will provide more flexibility since in addition to working on native hardware, Ardence can be used with VMware, Xen, Virtual Server, Parallels, etc.

The second point about Ardence’s shared disks—and how this might compare to VMware’s OnDemand technology— requires more thought. In today's article, we'll look at the shared versus individual disk architectures. Then we'll look at what it will take to enable each of these to work offline.

The importance of shared disk images in VDI environments

It’s certainly true that VMware’s OnDemand announcement was little more than a few sentences mentioned at a trade show, so right now we don’t know too much about this technology and whether it will even support a model where a single image could be used by multiple machines at the same time. So instead of speculating about what VMware may or may not have, I’d like to look at this “shared image” issue in general and highlight some of the architectures that are out there.

One of the main advantages of moving to a centrally-hosted desktop (VDI, DDI, xDI, whatever) is that you can create a single disk image that can be used by multiple computers. (Imagine a single disk image shared by thousands of end-user workstations!) Of course this advantage is also a challenge, because as you know you can’t simply boot 1000 desktops from the same disk image file. You’ll have issues with computer names, domain memberships, SIDs, etc. So to really leverage a VDI-type investment, you need to move beyond the 1-to-1 disk image-to-client ratio.

In order to implement a 1-to-many disk image environment, you’ll need some tricks or software to enable multiple clients to share the one image. There are two basic ways this can work:

  • Create an initial “template” disk image. All of your users would have their own image based on this template. Any changes a user makes are saved to their own image. This is known as a “stateful” image.
  • Create a “shared” image. All of your users would use this same image each time. Their changes would not be saved from session to session. This is also known as a “stateless” desktop.

Stateless versus stateful: This is the question

Fundamentally you need to figure out if your users need to be able to save their own desktop image each time they’re done working (stateful), or whether you can “reset” the users’ desktops to the initial state each time they connect (stateless). As you can imagine, the stateless image is much easier to manage. (After all, mandatory profiles are MUCH easier to implement than roaming profiles, right? This is the same concept, just applied to an entire disk instead of just one image.)

Unfortunately the stateless image is scary to a lot of people. The thinking is, “What? The exact same image for all users? Impossible! My users need to save their own settings and customize their own desktops.” Even though this stateless image sounds scary, keep in mind that people have been doing this for twelve years with something called Terminal Server! Remember that every single user that connects to a Terminal Server gets the exact same desktop. (After all, not only are TS users connecting to the same image—they’re connecting to the same COMPUTER!) But of course there are ways to let users customize their own desktops. We can use roaming profiles or flex profiles. We can use SoftGrid or Citrix Streaming Server (or ThinStall or Endeavors or Altiris or whatever) to stream applications to users’ desktops. We can use Citrix Presentation Server or Provision Networks Virtual Access Suite or Ericom PowerTerm to deliver icons for server-based computing applications on other servers directly to the users’ desktop.

The point is that even though all users share the same desktop, we can use profiles and streaming and several other technologies to customize the desktop on-demand for each user. This applies to server-based computing desktops and VDI-based desktops.

So let’s say you decide you want use a shared stateless desktop for your VDI environment. How do you physically make that happen? I’ve written in the past that Ardence has a very slick way of doing this. With Ardence, multiple (even thousands) of client computers (physical or VM) can mount the same disk image file over the network. When the Windows instance running from the shared image queries the registry for information like computer name, domain RID, etc., Ardence redirects that request to a central database where it replaces the generic information in the image with the specific information needed by that client computer. Out-of-the-box, Ardence allows thousands of client computers to share a single stateless disk image.

What other stateless solutions are out there? Does any other vendor have a solution similar to Ardence’s where VDI desktops can share a same image?

The closest thing I’ve seen are solutions that manage delta image files. (Or “change” files.) VMware’s ACE solution falls into this category. With ACE, you create one master image, just like Ardence. However instead of deploying that image directly, you run Sysprep on it to prepare it for imaging (just like in a traditional way). Then when VDI or ACE users connect and boot their VMs, they connect to a Sysprep source image that they can then customize for themselves.

One of the nice things about VMware is that you don’t need to have one full image file for each user. VMware allows you to perform “snapshots” of disk images that you can then roll back to. When using VMware disk images in VDI scenarios, the Sysprepped source image acts like a “snap-shotted” image, and each user’s customizations are saved in delta image files. So instead of having a multi-gigabyte disk image on your network for every single user, you have a single master image that is several gigabytes, with each user’s customizations in delta image files that are maybe only a few hundred megabytes.

This master template / delta file method balances the best of two worlds. You get a stateful desktop image without requiring multiple gigabytes of network storage per user. Unfortunately it has some disadvantages too, the primary one being that you now have to manage these as separate images when it comes to patches. Since the delta image files are engineered at the disk block level, if you patch the master template then all the deltas will break.

A possible hybrid solution?

One possible solution to this is for a software vendor to create a template / delta system that was “smart.” Imagine a solution that was kind of like roaming profiles, except for a whole computer. This could capture specific files and folders and changes that users made at the file-level, while still allowing administrators to patch the original template image.

I know several vendors have been talking about something like this. Does anyone know whether it exists yet?

Always connected versus offline use

The initial driver that caused me to write the article about VMware’s OnDemand technology a few weeks ago was that VMware's solution can be used offline. I felt that offline capabilities were something that was lacking in Ardence’s solution, and I sort of hinted that it would be cool if we could see offline support from Ardence soon.

However, the more I thought about it, the more I realized there are a few complexities in the offline use case that would have to be addressed.

First and foremost is the fact that for true offline use, the VM must be able to boot and the user must be able to login without any connectivity. Windows has several intrinsic capabilities here (logon via cached credentials, etc.), so I’m not suggesting this is a show-stopper, but it’s something that would have to be considered.

The bigger issue comes back to this whole “stateful versus stateless” question. In a stateful scenario, the user’s “state” has been saved into their environment (most likely with some form of master image plus delta file). Thus a user could boot and reboot their VM locally without any network connectivity.

However in a stateless scenario like with Ardence, the user state is reset to scratch when the desktop is powered off, and upon booting the user’s environment is dynamically recreated from various elements that require the network (profiles, streaming, etc.). So at least in theory, an Ardence image couldn’t effectively boot without the network.

One potential work-around would be for Ardence to not allow the offline VM to reboot. If it was only pausing and resuming, then it could always resume with the state that was cached locally. Essentially this means the Ardence image would become stateful while offline. Then upon regaining a network connection, the user’s state (profiles, etc.) could be saved back to the network and the locally cached state could be discarded.

What's Next?

Now that I've outlined what I feel are the real issues in the VDI disk image management arena, what do you think is next? Is offline usage that important? Is a stateless desktop possible and worth the trouble? How would you handle patching in a stateful environment?

Join the conversation


Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

I have given alot of thought to offline usage as well for VDI or OS Streaming.  One thing that could be a possiblity is to have Laptop/Mobile users have a few different local partitions on the hard drive.  For example, when they are connected to the network, they get their normal streamed standard image from an Ardence server.  However, when they are offline, the full standard image is synced to a hidden partition on the hard drive so that when the user boot's their laptop, their is intelligence to know when it should be grabbing it from the network or from the locally stored image.  For the saving of files, etc, their could be an option to sync their local settings such as roaming profiles, files, etc to a solid state drive such as a USB drive.  Once connected back to the network, the only synchronization that would need to take place would be the files.  The same scenario would of course have to take place should the applications be streamed as well.  So, I am sure something like this has to be in the works.  Laptop/Mobile users are the missing link in today's technology offerings outside of ACE

Ardences can provide both a stateful and stateless image to a PC.  Of course the stateful images ends up becoming a 1-to-1 relationship with the vdisk.

Ardences does not require the hypervisor overhead that VMware does...  Makes for much better performance on the PC.

The VMware solution still requires an OS that has to be managed just to run another OS.


The Hybrid Solution that Brian laid out would be a dream come true.  In regard to the offline usage, as it has already been pointed out mobile laptop users are the missing link.  Without a means of getting their OS/Desktop/Apps mobile, these solutions will never make it accross the board to all systems.  Don't get me wrong, we are already using VDI and Citrix here.
Actually the Domain Membership, SIDs, computer names, etc are taken care of by Ardence in a shared disk model. They keep improving this interface also since it is the most common question ("How do you deal with a single image that needs to be joined to the domain?" and "How do you deal with SIDs?").

Reference from Article:
Of course this advantage is also a challenge, because as you know you can’t simply boot 1000 desktops from the same disk image file. You’ll have issues with computer names, domain memberships, SIDs, etc. So to really leverage a VDI-type investment, you need to move beyond the 1-to-1 disk image-to-client ratio.

First - Ardence has both Server and Client solutions today - when they becomes "real" Citrix product the workstation version will be only for OEM:s. Citrix will "only" provie server solution (for example PS servers or VDI workstations).

When i cames to VDI and the broker discussion and think we can, again, see that Citrix is far from the rest with Desktop server 2.0 (as mentioned on VMworld). Desktop Server 2.0 will provide ICA all the way from the client to the backend "virtual workstation" with all the "goodies" in that with printer, local device, speed screen and so on!
It seems to me that a solution with ICA, DesktopServer, Ardence and XenSouce tech is going to put Citrix in the front seat - or what do you think?


Not sure where you are getting your information, but Citrix will continue to offer a streaming solution to the desktop as well.

I do agree with you however that Citrix is the only vendor that can offer the complete solution.


I'm confused by this comment? I know this is all handled by Ardence, and I mentioned that in the article.

From the article: When the Windows instance running from the shared image queries the registry for information like computer name, domain RID, etc., Ardence redirects that request to a central database where it replaces the generic information in the image with the specific information needed by that client computer. Out-of-the-box, Ardence allows thousands of client computers to share a single stateless disk image.


I am not sure if I buy into this offline thing. Why do we need an offline system if we already have an operating system in the laptop? If you need an offline application just stream it to your laptop, OK streaming is not ready for mainstrem use but neither is VDI.

VDI is good for people using PCs and possibly for remote access.

An additional problem with offline VDI is in synchroinising the user's documents. It is already a ridiculous situation with laptops

 and it will get worse if people start to have several virtual machines here and there.


Anyone else have a problem with the increasing complexity of these solutions?


Hey gang.....

I've been evaluating, testing, piloting and using OS Streaming of over a year now....I think there is a big point that a lot of people are missing.  The cost of Streaming vs VDI vs physical desktops.  I'm an Ardence customer and was recently so disappointed in their new pricing model since aquired by Citrix.  One of the big advantages that I saw in streaming was saving of storage space required.  With a streamed framework, you only have one vdisk that is streamed many times (in a perfect world) so an 8GB vDisk streamed 1000 times only costs you 8GB of storage on your backend VMWare farm (plus the 1MB HDD that each VM needs in ESX).  Obviously were talking SAN storage on an ESX farm that runs anywhere between $18-$25 per GB.  As opposed to a flat VMDK for each VM at 8GB each for a total of 8TB.  With the recent purchase of Ardence, I was told that Ardence will run you about $200 per node (per 1000 seats - at 50 nodes your at $320).  At $200,000 in Ardence licenses....I'll buy storage for my SAN instead and run flat VMDK's any day.

Another concept with Ardence is the private vs public images.  A public image uses a write cache which is cleared when the machine rebooted so any local changes are lost.  Ardence claims this as an advantage, and in some capacity it is.  However to circumvent this you need to use roaming profiles..OR...introduce a third party like ScriptLogic (what I'm using) or AppSense, etc....now you just drove the cost per node another $50.  Also lets not forget you need to add a broker in there as well.  For example Provision, LeoStream, Dunes, etc.  I prefer Provision...again at $65 a node.

Personally I think if VMWare can introduce a lower cost per node model then Ardence (or Wyse) Ardence will have next to nothing in the VDI space and will have to concentrate of server OS streaming.  Again, VDI is great and it has a place in a lot of organizations but I think some significant research needs to be done for total cost of ownership vs. standard desktop computing (which I'm working on and will one day get to you guys - hopefully by the next BriForum!!!)

Just my $.02


You haven't missed the boat, but you can't jump it if it hasn't arrived yet...  Desktop Server 2.0 will address all of the things you just mention..

Also, why would you want to manage 1000 flat vmdk files?  Did you forget that it'll cost you even more to add your management tools (altiris, etc).  $320 is cheap comparative.  Not to mention the administrative overhead required?  1000 vmdks is roughly 63 Luns you'll have to manage.

It's pretty obvious that you have not looked at the bigger picture... Implementation cost is only a fraction of the Total costs.



As Thomas McKinley mentioned briefly a bit earlier in these comments.. what are we going to do about the increasing complexity of these solutions. I will agree with Thomas that the technology is truly becoming more complex, it is harder for all us IT Professionals to keep track of all the technologies.

The way i see it.. hoping not to sound too Citrixified, I really took in the concept of delivey(i know its not that new, but they put it nicely). Instead of viewing the solutions as complex, i think we should consider the demands on us, and our knowhow, complex. I dont think we can in any way decide the solution, until we have grasped the demands from the organisations we try to help. But again on the other side.. how many of us are in a situation where we can truly grasp all the demands of all our users and customers and find the one good solution.

I dont see VDI as taking over a market, i see VDI as a new solution for a demand/challenge that we handled poorly before, or atleast can handle better now. I may not be able to keep expert knowledge on TS/Citrix, VMware, San, Desktop Management, VDI, Server Deployment and all the other technologies, but i sure am happy to see all these technologies ready to help us solve the challenges of our infrastructures today.

Stateful or Stateless, Online only or Offline usable.. i dont really think it matters right now, we are going to need all of these options, and i think we will be taking them in as soon as the vendors can finish them. For the first time in a long time, i actually find myself waiting for next generation of Desktop Brokers, OS Streaming and Virtualization because our customers are asking for solutions to their problems and they translate to next generation of the now well-known technologies. Normally we try to push technologies, now users/customers are asking for the next step.

I think its an exciting time for us all, and right now i am not as nervous about the complexibility as i am about not getting enough young IT people to deliver the solutions to the organisations who demands them. To some extend i think already now a solution is decided not only by which is the best, but which is the best and which is the best supported in technicians, partners etc. Noone wants to put their infrastructure in the hands of a Great product with a too small organisation behind it.

I should stop my blabbering ;)



Indeed you should!  You're but the newest arrival on the scene of self-proclaimed experts.  Let me guess: renevester.com?  So you passed your CCEA, and now you're suddenly the new 'grasshopper' on the block.

Interesting but I still think the implementation cost might pass the TCO...at least right now.  I'm eagerly awaiting the release of Desktop server 2.0 but that opens up a whole new dynamic of VDI...I'm interested to see how the XenSource purchase influences it.  So now what? I have to host my VDI desktops on an open source virtualization platform?...and I justify this by my VMWare ESX investiment how?  So I guess this is all the excitiment of VDI..you don't know who is coming out with what, when.

Like I said...it's a great technology and solution in the right environment but I don't think there is enough analysis on "the bigger picture" yet.


A front end solution like Provision Networks manages that complexity and makes it seamless to the end user. All the backend virtual machines, terminal servers, OS streaming, et al, that you've invested in are seamless to the user.

But of course Citrix is not only working on duplicating Provision Networks with Desktop Server V2, but will out perform it by using ICA instead of RDP, as well as provide all the backend technologies (virtual machines, terminal servers, OS streaming) so your solution doesn't end up being a peice/part solution of a bunch of different vendors, but one vendor for the entire solution.



Desktop Server V2 will not require that you use XenSource in lieu of VMware. In fact Desktop Server V2 doesn't care whether the desktop that's being published is a VM, a blade, or a basic desktop. All Desktop Server needs to publish a desktop is the IP of the operating system you want to publish as a desktop. That OS could be on VMware, Xen, Viridian, a blade, or any other hardware. Desktop Server is a broker to any desktop, not just desktops on other Citrix platforms.

I see some big advantage to adding streaming desktops to an unmanaged desktop/laptop model. What if you can tell your workers to just take care of their own computer, provide a lot of services through the web and whenever there is a moment that a worker, student, etc... needs a certain desktop application he gets it streamed to his own desktop.... Saves a lot of money on managed and can be very much in line if it matches the profile of your workers....

Just an idea, of course....

Right...so Citrix says now...but what about intergration?  I think a product like Provision is on to something because they fully intergrate into VC.  I can provision (no pun intended) new VM's on the fly and blast out templates just as easy as a streamed desktop.  I can see DS having intergration, but into XenSource (and I"ve already asked this question to my Citrix reps and was told there is zero intergration and provisioning in 2.0)

A few points on integration...

I think the player in this space that has the solution that is most platform independent and standards based will win.  Being tied to a single platform, whether it be VMWare, XenSource, or Microsoft or any other will limit the market potential of a product.

My guess is that Citrix will continue to support VMWare, and other technologies with Desktop Server and Ardence - but you will see tighter integration with Xen and MS based upon relationships.  

 While smaller players (such as Provision) may be feature rich at this time - Citrix, VMWare, and MS will eventually catch up eliminating the need for some of the small value add players.  There are two reasons:

1.  These features will provide the base platform a competitive advantage
2.  These features will reduce the cost to deploy these solutions

The best bet for companies like Provision is to sell as much as they can now and try to get acquired else see their market taken away by the big boys.

Hence Application Streaming and Softgrid.
Sure, but unfortunately you can not stream every application (in an educational environment say, 50%).

*hop hop* :)


You can stream the OS and use it off-line with AppStream. AppStream supports streaming Vmware and Virtual PC images to host desktops.
A user working from home only needs about 120MB of the OS image to get up and running with the corporate image of the OS. Applications on top of this OS and the rest of the OS can be streamed on-demand.
I am just thinking out aloud wouldn't VMWare ACE/ Kidaro enable offline usage? What i understand is it lets a VM to be run on top of a unmanaged laptop & this VM could be controlled from a central management server. These vendors claim these solutions dont need data center & other huge back end infrastrcture. Would there be a nice way this could be integrated into a VDI to offer a seamless offline experience for users?
Kidaro offers you so much more control than VMWare ACE. VMWare is asleep with the ACE product and this is a much better solution. Encourage you all to take a look and offer feedback, very interesting company.
And on the move in a big way. Kidaro is taking Wall Street by storm. It is currently being purchased or piloted by every major financial with more verticals on the way. I think this company will be a surprise to everyone in 2008.