Virtual Desktop Infrastructure, or VDI, is a variation of the client-server computing model. This process, wherein user desktops are hosted within virtual machines running on a centralized server is becoming increasingly common in IT environments. It provides IT practitioners an efficient way to support growing computing needs of the end-user, and enable better security.
Even though the benefits of a Virtual Desktop Infrastructure are many, there are some key challenges that must be addressed to guarantee the anticipated user experience and productivity. It is no surprise that the deployment and scaling of VDI within your infrastructure can place a significant pressure on the underlying compute, storage, and network resources. It also becomes difficult to have a predictable IO pattern, because of the VM I/O Blender effect which, in a nutshell, causes different data streams to blend together to create new I/O dynamics. In turn, that impacts a number of different infrastructure components and can have a negative impact on the overall performance.
To ensure a latency-free, high performance, and secure end-user experience, it thus becomes important to go with a storage solution that can not only allow your infrastructure to handle the I/O congestion, but also help you cut down costs and simplify management and administration tasks.
Now while traditional file-systems allow only one user to perform read-write operations to a given set of files at a specific time, shared file systems can allow multiple users to concurrently read and write to the common underlying storage. So how can shared file-systems help a VDI deployment?
Shared file systems can make accessing physical storage resources more efficient for your virtual desktops and virtual servers, and bring you simplified data management for desktop images, optional write cache files, and high availability. If you’re not familiar with the concept, a cloned share is a copy of an existing shared filesystem. Thus, clones can allow you to use a specific state of a shared filesystem for different purposes without affecting each other. Setting up Virtual Machines from scratch can be time consuming. Clones allow you to create multiple copies from a single installation and configuration process, which is beneficial in a VDI environment wherein a large number of Virtual Machines may need to be provisioned. Therefore, using cloned shares will allow you to not just ensure data backup and protection, but also simplify virtual machine provisioning and administration.
Now before we go through the pool of advantages that shared file services can enable for your Virtual Desktop Infrastructure, let’s talk about Manila, the OpenStack project for creating and managing shared file systems. In a nutshell, it allows you to provision and manage shares easily and efficiently. One key thing to note here is that even though Manila is a part of OpenStack, Manila’s plug-in model allows it to be used as a standalone shared file system management tool. Thus, you can use it to empower your VDI type use-cases, even if your IT is not ready to switch to OpenStack.
A lot of good features have been added to Manila to enable such a deployment. For example, Manila can inter-operate in a variety of network environments, so regardless of which network topology or segmentation technologies your services are running on, Manila can adapt, and ensure that the shares it creates and manages are available to the right client at the right time. If we dive a little deeper into some of the other good features that Manila comes with, it’ll be quite easy to understand how it can help improve administration, and cut down costs.
Not all storage solutions are created equal, and thus it becomes important that you’re able to map specific capabilities or capacities to certain workloads. For example, you may want to turn on de-duplication and compression for storing user directories where there’s bound to be many duplicate files, or you may want to ensure that you’re using an all Flash storage system for workloads that are highly latency sensitive - perhaps to store virtual machine states that need to be quickly deployed for use by your customers. Manila’s share-types allow you to create different tiers of service and map specific storage capacities or capabilities to these tiers.
You can also use Manila to manage your existing shared file-systems through Manila’s Manage/Un-manage feature. Additionally, one of the most important features that has been added to Manila recently is the Manila UI. The Manila UI is consistent with the OpenStack-way of doing things, and it helps simplify administration and makes it easy for administrators to quickly get familiar with what Manila has to offer.
So now that we’ve gone through some of the features that allow Manila to make things easy and efficient, let’s go through the benefits it can bring to your Virtual Desktop Infrastructure deployment:
Snapshots of your virtual machine’s data enables you to recover and deploy a virtual machine’s specific state faster and more reliably for testing, backup, and restore operations.
- Simplified virtual machine provisioning and administration, as you can store entire virtual machine states in a central location.
- Manila’s upcoming ability to provide migration for shared file systems can also help you to quickly and reliably move your backups and images from one storage host to another.
Manila allows enables you to resize your shares, so you can easily add additional storage resources as your infrastructure grows.
- Manila’s share-types can allow you to easily slice and dice your existing storage solution, and map them into various tiers of services for better mapping to your workloads.
Manila is already available in OpenStack RDO community-supported distribution, and was introduced as a tech preview in RHEL-OSP 7. If you’re interested in learning more about how NetApp can help cut down costs and simplify administration for your VDI, you can read more about it here. You may also want to go to our OpenStack@NetApp page to read more about Manila and learn how you can get started.