I was privileged to be able to attend a full day “VDI: Best Practices” session today that EMC hosted here in Indianapolis. Andre Leibovici, a vSpecialist at EMC was the speaker. He blogs at http://myvirtualcloud.net and is probably the best resource online in terms of large scale VDI deployments. He’s also on twitter @andreleibovici, I would highly recommend following him if you want some good info. I really enjoyed the session today, I hope we get more of these technical sessions in Indy soon!
I wanted to post my notes from the session, so others might learn something as well. Andre said he was going to send out the slides, I’ll ask him if it would be ok to post here as well and do so if he allows it.
What’s new in View 5:
PCoIP Optimization – client side caching, default CODEC optimization for fonts, build to lossless.
Unified communications – Better VoIP support for soft phones.
Enhanced clipboard controls
Automatically reconnect disconnected sessions
Persona management built in – copies only what is required at boot time.
* Use local disk as VM swap locations to save on shared storage. People wonder how this works with vMotion. If you set it up this way, you CAN vMotion. It will create a new swap file on the destination host.
* Use floating pools whenever possible for manageability and ease of administration. With dedicated pools you need to manage your VMs like you used to in terms of patching, etc.
* All View .vmdk disks are Thin Provisioned (exception is internal.vmdk (stores users account information to sync with Windows domain)).
* Always add at least 10% storage overhead when sizing
* Learn to play with VM Memory Reservations to reduce storage footprint. (Windows XP (40% reduction from using Transparent Page Sharing), Windows 7 (Not so much, because of ASR)).
* VMware View 5 has a new .vswp file based on RAM assigned for video with hardware v8 which needs to be considered when sizing storage.
* When 3D is enabled a 256MB overhead is added to the secondary .vswp file! The 256MB overhead is independent of vRAM settings.
* Split your storage to use SSD or EFDs for replica disks to provide better read rates on Linked Clone VMs.
An ideal Linked Clone deployment would put:
Replicas on flash disk
Linked Clone on fiber channel disk
User Data on serial ata disk
* With Linked Clones, snapshot delta files grow forever. Use a disposable disk to keep more control of this. (A disposable disk gets wiped on a reset/reboot)
* The size of a replica is the thin provisioned size of your parent VM.
* Maximum VMs per VMFS datastore: 64 VMs for Linked Clones, 32 VMs for Full Clones
* Users use VMs differently, there is no right number when it comes to sizing IOPS. You need to pilot, pilot, pilot! See what your workload looks like with real life load. Do not use perfmon inside the guests. ESXi has overhead added as well so you need to get the numbers from esxtop or inside vCenter.
RAID adds a write penalty!
RAID 5 adds a write penalty of 4
RAID 10 adds a write penalty of 2
VM IO = VM Read IO + (VM Write IO * RAID Penalty)
* VMware vStorage API for multi-pathing is a great tool that provides better use of your storage array. (VAAI, VASA)
* VMstore profiles allow you to select what datastores are used for what. (i.e. performance or capacity)
* Offload certain tasks to be run where it makes sense to run from a storage perspective.
* Without VAAI the entire LUN will be reserved and requires several SCSI commands. With VAAI the lock occurs at the VM level. There is no LUN locking. (You can increase your VMs from 64 to 140 Linked Clones VMs per datastore)
Storage Best Practices:
* Misalignment of filesystems results in additional work on storage controller to satisfy I/O requests. This means every protocol and every storage array. Be sure to have properly aligned disks!
* Enable Jumbo Frames across the entire stack if possible.
* Round Robin policy is best policy for storage multipathing on most storage platforms.
* Use Storage I/O Control if you can. If a VM is misbehaving and causing other VMs to perform badly, SIOC will throttle the troublemaker back so it will not suffer because of one bad VM.
* 8 hosts maximum per cluster due to View Composer limitations because there is a limit on reads. Your replica disk is the reason for this limit. VMFS-5 does not change this limitation.
* Antivirus can be offloaded using vShield at the hypervisor level.
* VDI can provide better security, but it’s important to make sure your attack surface is minimized. You cannot manage your virtual desktops like physical desktops.
* Adjust DHCP Scope from 8 days to 1 hour.
* You cannot use the “User Data” persistent disk to redirect the Windows profile with Linked Clone pools, because those disks are assigned to certain VMs.
* Do not run vCenter, connection servers or security servers on the same ESXi hosts as your virtual desktops in case of failure.