Many VDI shops use differencing disks on a one-to-one basis to keep their base image pristine, but you can attach multiple disks to the same hard drive and to build virtual desktops.
The use of differencing disks in virtual desktop infrastructure (VDI) environments isn't new. IT shops commonly create a base virtual hard disk (VHD) that contains the OS and possibly some applications, then link a differencing disk to that VHD to create one virtual desktop.
Disks on disks
The idea behind using this type of configuration is that when the differencing disk is created, the original virtual hard disk is treated as read only. The OS remains pristine because all write operations are directed to the differencing disk, which you can purge at the end of each session. This resets the virtual desktop to its original state.
This method works well, but it is not the only option. You can attach many differencing disks to the same VHD to create multiple virtual desktops, then attach differencing disks to one another in a chain to store desktop and user-specific information.
The challenge in having all virtual desktop sessions connect to the same OS is that certain aspects of the Windows OS must be unique for every virtual desktop. For example, each virtual desktop must have a unique computer name and IP address. This is why you would use the differencing disks in layers. The first level of disks -- the ones connected directly to the VHD -- contain the data that has to be unique from one computer to the next. A second layer of differencing disks holds user session data, which you can wipe at the end of each session.
Building multiple desktops with differencing disks
To create many virtual desktops from the same base VHD, deploy Windows on a master VHD. Apply any required patches and any core services, such as security software or App-V agents to this master image. But, unlike traditional VDI deployments, you won't clone that virtual desktop. Instead, all of the virtual desktop sessions share that copy of the OS.
Once you have created the initial virtual desktop, you will need to run the SYSPREP utility. SYSPREP randomizes the operating system by stripping away the computer name, GUIDs and anything else that has to be unique for each virtual desktop. After you’ve run the SYSPREP utility, you can connect differencing disks to the base VHD to build however many virtual desktops you need.
When the desktops power up, you can use a SYSPREP answer file to create a unique Windows installation for the individual virtual desktop that will be stored on the first layer of differencing disks. Because you still need a way to reset the virtual desktop back to its original state at the end of each session, you have to create a second-layer differencing disk. That layer of disks captures all of the write operations that occur during a user session. At the end of the session, the virtual desktop can simply be rolled back to a pristine state.
One thing to keep in mind about using this approach is that, because all of your virtual desktops will be sharing a common operating system, the base VHD must be stored in a location that can deliver a sufficient number of IOPS. Ideally, this virtual hard disk should reside on a solid state drive or on a high performance SAN. In contrast, the differencing disks containing virtual desktop-specific configuration information can be placed on commodity storage.