A "boot storm" is the tremendous performance drain experienced when hundreds or thousands of users logon at, or near, the same time in VDI environments. The drag on network throughput, host performance and SAN I/O can be devastating to an unprepared VDI installation. Some of the pressure can be eased by building the environment according to some best practices laid out by virtualization vendors. But, there are a few areas that you might not have considered when constructing your VDI infrastructure. Now, you should consider them, regardless of where you are in your VDI implementation.
In our excitement to toss desktop management to the data center, it's possible that we've made a few mistakes along the way. We didn't expect boot storms to have quite the effect that they have on resources and productivity. It's significant and it's frustrating.
There used to be an old joke around offices that, in the morning, you turn on your computer, go get a cup of coffee, come back and you might see a login prompt. We thought our new, super fast technology would alleviate the need to head for the break room. It hasn't.
There are some solutions to the boot storm dilemma and you can implement them at any stage of your deployment or even in the post-deployment phase.
- Disable Memory Ballooning - Memory ballooning sounds good in theory but for VDI, it has the opposite from desired effect. When a large number of desktops become active, hosts can run out of RAM, causing paging, *Motioning and very high disk I/O.
- Use Single vCPU VMs - Most user applications are single-threaded and won't benefit from multiple vCPUs.
- Timed Boots - You can manage boot storms by having virtual desktops power on in stages prior to user logon. Having the VMs ready for the user also saves time.
- Optimize Antivirus Scanning - Antivirus software is a necessary evil but can put a drain on resources if not properly configured. Edit settings to Scan on Write, Scan Local Disks Only and exclude scanning the Pagefile.sys file and the Print Spool directory. Additionally, you can make optimizations based on your environment and special conditions.
- Disable 3D Screen Savers - 3D Screen Savers should be removed from user's desktops or disabled. These screen savers, when engaged, consume CPU power unnecessarily.
- Physical Domain Controllers - Yes, you can run virtual domain controllers but Microsoft still recommends using physical systems for domain controllers.
- NIC Teaming (Aggregation) - NICs should be teamed for greater throughput.
- Application Virtualization - Applications should be virtualized as well as operating systems. This simplifies and shrinks "Gold" images to a very supportable size and level of complexity making them easier to deploy and to update.
- Accurate Network Bandwidth Calculations - If you're still using the old 20Kbps/user calculation, your network will suffer bandwidth latency and a poor user experience. Your estimates should take into account the types of activities that your users in engage in. A more accurate estimate (average) is in the 100Kbps/user range.
- Proper Storage Configuration - 15K RPM SAS disks or SSDs and RAID configuration choices will determine how well your storage performs in your VDI environment. Experience shows that RAID 10 is a wise choice for VDI because of its speed. VDI environments are generally 70% write/30% read and RAID 10's I/O throughput is necessary for a good user experience. SSDs with their 4,000 to 5,000 IOPS also greatly reduce boot times but at considerable cost. The more affordable 15K RPM SAS disks comparatively lope along at 150 to 180 IOPS.
This list is by no means exhaustive but it will give you a good start. You might see two or three areas where you can make marked improvements by simple reconfiguration and without a major cash outlay.
Although I've written negatively about VDI in the past, I think that SSDs and GigE networking makes it a pretty good solution for companies spending millions in desktop support, especially when coupled with hosted applications.
Boot storms are a product of poorly designed or under-designed VDI implementations. It's a shame too, since VDI isn't cheap. In fact, in up front costs, it's much more expensive than traditional heavy desktop computing. However, it doesn't have to be the painful trip to the coffee pot that it once was. VDI, correctly configured, can be a very pleasant experience and quite economical in the long run. It can also save you from user mutiny and a very different kind of boot storm.