flexVDI is a desktop virtualization platform. Desktop Virtualization platform. Its main goal is to provide your users with ubiquitous access to their desktops. Whether they connect from a personal computer or their mobile phone, from the room next door or from hundreds of kilometers away, with flexVDI your users will experience their desktops as if they were right in front of them. Using well-known, open-source technologies, it provides a stable, performant infrastructure for both Windows and Linux desktops. Its
flexVDI main features are:
- Binary packages are provided for RHEL 7 and CentOS 7.
- Uses Qemu/KVM 2.6, Spice 0.12.4 and libvirt 2.0, with some improvements to boost your VDI experience.
- Supports virtualization of Windows from XP to Windows 10, Windows Server from 2003 to 2016, and all flavors of GNU/Linux. We can advice you on the best way to configure your guest operating systems so that your users get the most of their desktops.
- Desktops are accessible from a wide variety of clients. There are Windows, Linux and Mac desktop clients, as well as mobile clients for iOS and Android devices. We also provide a Linux distribution prepared to boot a thin client directly into your flexVDI desktop. Finally, you can even access your desktop from anywhere using just a web browser with our HTML5 client.
- Scalable, fault-tolerant cluster architecture. New hosts can be added to the cluster as needed, as easily as configuring the network and registering the host with the platform. Its resources will be ready to use at once. In the same way, the platform will quickly recover from a host failure, using the rest of its resources to keep the service up and running. Growing from hundreds to thousands of desktops is easy with flexVDI.
- Binary packages are provided for RHEL 7 and CentOS 7. Your hosts will benefit from the reliability and experience of Red Hat operating systems.
- Uses Qemu/KVM as the virtualization engine and Spice as the presentation protocol, with additional improvements to boost your VDI experience.
- Template-based desktops. Quick and easy to update when new versions of your software are available, highly available when malicious software threats your desktop instances.
- LDAP or AD based authentication/authorization. flexVDI integrates with your corporate directory.
- Configurable security capabilities, to restrict access to the desktop resources from the client side: clipboard, printers, usb devices, ...
- Supports shared storage like SAS, FC, iSCSI, etc...
- Failure-tolerant cluster.
flexVDI must be installed on a set of physical servers with either RHEL 7 or CentOS 7, that form a VDI cluster. Installing it in a virtual machine managed by a different hypervisor is not supported. This document will guide you through the process of installing flexVDI 3.0 on your physical servers.
This document makes use of various virtualization and flexVDI 3.0specific concepts. Below you will find those terms with a brief description:
- Guest: A virtual machine defined by a given configuration, some host resources and one or more disk images.
- Host: Each one of the physical servers devoted to run Guests. The flexVDI distribution software is installed on these machines.
- Pool: collection of resources (CPU and, RAM) allocated in each Host
- Template: A special type of Guest, whose logical content is frozen in order to generate Clones.
- Clone: A special type of Guest, created from a Template, that shares part of its configuration with this onethe later. Disk images from Clones rely on their corresponding Template, and only store the differences between its current state and the state of their parent Template.
- Image Storage: Set of disks available for storing the disk images that Guests use. It is divided in several Volumes. One Image Storage is only available to those Hosts that can access all of its disks.
- Internal Volume: Component of a Image Storage that provides disk space for the Guests Images. The cluster filesystem used in a Volume is created and managed by flexVDI software. Provides disk space for the Guests Images. Uses one or two (for redundancy) disks Uses a block device as its physical support.
- External Volume: Hosts directory path where Guests images are stored. The directory can be local or it can be a mounting mount point from an external storage system. It must be visible to every Host. External Volumes are installed and managed by the system administrator using the tools provided by the manufacturer of the storage.
- Media Storage: Shared resource where ISO images are stored. It is only made visible to Hosts defined in its creation.
- Direct Storage: Option used to provide a Guest direct access to physical disks.
platform consists of a set of hardware and software components that interact with each other to provide a satisfactory Virtual Desktop experience. From the hardware point of view, there must exist one or more computational nodes, called Hosts, and one or more storage objects. The Hosts provide the CPU and RAM resources needed to run the virtual desktops, while the storage objects contain their disk images.
On the other hand, the basic software components are:
- flexVDI Manager: The orchestrator that centrally manages and configures all environment other components. It is distributed in a disk image, and runs as a Guest inside one the Hosts. The Guest containing the flexVDI Manager instance can be moved to any Host of the infrastructure, increasing availability and resilience for the environment.
- flexVDI Agent: Application A service running on each Host, acting as a proxy between the these ones and the flexVDI instance in which they are registered that manages its local resources on behalf of the flexVDI Manager instance. It controls the availability of CPU and RAM, the life cycle of the Guests running in the Host and the storage objects it can access.
- flexVDI Config: Tool available from on all Hosts, which can be used for configuring them and managing the flexVDI Manager instance.
- flexVDI Dashboard: Multiplatform GUI application which must be locally installed on the computers of the platform administrators, allowing them that allows the platform administrators to connect and manage one or more flexVDI Manager instances.
- flexVDI Client: Desktop presentation tool that allows end-users to operate access their virtual desktop. It authenticates the end user against the flexVDI Manager, and shows the user a list of desktops that are available to him. There are several native versions for different platforms: Windows, OS X, Linux, androidAndroid, iOS, and a live ISO Linux distribution for x86/amd64 terminals.
- flexVDI Guests: These are the virtual machines that actually contain the desktops. Each Host runs a set of Guests, according to its available resources and the Guests' needs. The flexVDI Manager instance is a special kind of Guest.
The most simple configuration of a flexVDI platform, looks like this:
A flexVDI Agent runs on each Host, while only one flexVDI Manager instance controls the platfrom. The flexVDI Config tool configures individual Hosts, while the flexVDI Dashboard application manages the platform logic, interacting directly with the flexVDI Manager. Finally, the flexVDI Client is the end user viewport to a virtual desktop.
Additionally, flexVDI offers the following components for additional features:
- flexVDI Gateway: Platform entry point for flexVDI Clients. Allows to encapsulate It encapsulates all communications through with WebSockets over TLS to a single websocket connection, which can be encrypted, public TCP port, easing network administration and providing secure communications. It can scale horizontally when required by massive deployments.
- flexVDI WebPortal: Appliance composed by of a flexVDI Gateway and a flexVDI HTML5 Client application. Gives Provides access to the virtual desktops through from web browsers where installing a native client is not possible.
- flexVDI Guest Tools: Set of tools , that provide improved performance and extra functionality (printer sharing, clipboard sharing, USB device redirection, ) to the Guest where they are installed. There are Windows and Linux versions available.
Relationships between components:
The most simple configuration of a flexVDI platform, looks like this:
When a flexVDI Client is started, it connects to the flexVDI Manager, to ask for instructions; usually, flexVDI Manager first requests the flexVDI Client for credentials to authenticate the user. But unauthenticated access can be configured too.
Then flexVDI Manager will start a virtual machine if needed, and send connection data to the flexVDIClient that started the session.
Finally, flexVDI Client will connect to a virtual desktop, which is served by a virtual machine running on one of the flexVDI Hosts.
Basic components run on a flexVDI Host
flexVDI Hosts are the hypervisor machines; they run most of the software which communicates with the flexVDI Clients. In a basic installation, they run:
- Guests: the virtual machines that execute the desktops used by end-users.
- flexVDI Manager: this software runs on a separate virtual machine, executed on any of the flexVDI Hosts.
- flexVDI Agent: every flexVDI Host runs an instance of flexVDI Agent that controls its actions.
flexVDI Gateway usually runs on flexVDI Hosts too, although it is not needed in every deployment.