Draining Users from VDI Machine


Living in a very cold climate used to limit my ability to grow fresh fruits and vegetables. But about a year ago, I decided to try my hand at indoor hydroponic gardening.

I’ve had quite a few successes and many, many failures. But I’m getting to the point where I’m harvesting a good number of red, delicious strawberries every week.

But one thing I’ve learned is the need to drain the water out of the hydroponic basin and replace with clean, fresh water. This is one of the biggest things I can do to keep my plants healthy and thriving.

This is also one of the biggest things we can do in the world of VDI: refresh the virtual machines. In the non-persistent VDI world, a refresh is simply a reboot. The challenge with VDI is that when we use a multi-user machine like RDSH or Windows Virtual Desktop (WVD), it is usually best to wait until there are no users on the virtual machine before initiating a reboot. If you don’t, you will disrupt the active users on the machine. And even if the user is idle, they might lose valuable work if the machine is rebooted.

The Citrix Virtual Apps and Desktops Service now includes the ability to drain sessions as part of the scheduled restart schedule.

How this works is as follows:

  • When the restart time is reached, machines with no users are rebooted
  • If the machine has users, it is put into a drain mode where new user connection requests are directed to virtual instances that are not in drain mode
  • When the virtual instance in drain mode reaches zero users, it is rebooted.

This is great in that it won’t kick users off of the virtual instance.

But with many capabilities, we need to make sure we are using this power correctly. If you don’t align your reboot schedules with your user environment, you might end up with too many virtual instances in a drain state, not allowing new connections. You might eventually run out of capacity.

It’s best to break up a delivery group into multiple reboot schedule frequencies (with tags) and set the reboot day/time to align with time periods with lower user counts.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.