The Zen of Atlantis USX on Citrix XenServer: Part I Setup (Redux)
What is Atlantis USX software defined storage? How does it work on Citrix XenServer? What does the impact of hyper converged on Citrix XenDesktop/XenApp workloads? If I'm using Citrix XenServer for non-VDI workloads, is software defined storage applicable to me? This is (an updated) Part I in a blog series looking to answer such questions and provide insight into the possibilities of reducing the costs of delivering a virtualised Citrix Workspace environment, while improving the user experience.
Atlantis USX is software defined storage platform, designed to abstract different storage types and increase the efficiency of hardware based storage. Atlantis USX is a pure software solution, the USX software can be used with Citrix XenServer (and/or VMware vSphere) deployed on your own choice of server hardware be it HP, Dell, IBM, Cisco, SuperMicro.. or whatever.
Atlantis USX can be used to pool SAN, NAS, DAS and even RAM storage. It can accelerate storage performance while at the same time, increasing storage capacity. With USX, you can transition seamlessly from costly shared storage systems to lower cost hyper-converged systems and public cloud storage.
Back in 2015 I started this series with USX 2.2 on XenServer 6.5. In this updated version, I'm going to take a look again at using Atlantis USX in a Citrix XenServer environment: this time, with Atlantis USX v3.5.1, and XenServer 7.0 as Atlantis USX 3.x is available on the Citrix XenServer 6.5/7.0 HCL and a promise to get it finished so Neil is happy.
The USX & XenServer blog series is going to cover the following:-
- Part I - The Test Environment & Import AMC for USX 3.5
- Part II - Atlantis USX Setup
- Part III - Creating a Simple In Memory Volume
- Part IV - Creating a Simple Flash Volume
- Part V - Creating a Simple Hybrid Volume
- Part VI - Creating an All Flash Volume
- Part VII - Creating a Hybrid Volume
- Part VIII - Management
- Part IX - Maintenance
Let's start again at the very beginning..
Atlantis USX - What Is It?
Atlantis USX (Unified Software-Defined Storage) is a software defined solution that accelerates performance and consolidates storage. Atlantis USX increases the effective storage capacity to support a range of virtualised workloads such as all components of a Virtual Desktop Infrastructure (VDI) and Server Based Computing (SBC) environment, servers hosting business-critical applications, and file storage.
Atlantis USX builds on proven Atlantis compression, caching, deduplication, and tiering capabilities to provide a dramatically reduced storage footprint and improved performance, including built-in high availability. Altantis USX removes the constraints of traditional storage solutions to satisfy the storage requirements demanded by today’s virtualised workloads.
This series will cover using Atlantis USX as a fully licensed product. That said, Atlantis Computing also offers :-
Atlantis Hyperscale : a turnkey, all-flash hyper-converged solution, pre-integrated with compute, enterprise-class all-flash storage and virtualization. A XenServer Hyperscale appliance utilises a pre-configured Atlantis USX software-defined storage solution making it the simplest, fastest and most cost effective solution on the market (an ESX version is also available).
Atlantis USX Community Edition : allows technologists to learn how Atlantis brings performance, agility, increased capacity, and mature data services to the data centre. The USX Community Edition delivers an automated installation of a Simple Hybrid volume into your lab XenServer environment using PowerShell wrapped in a neat GUI interface (there is also an option for ESX if you must).
Atlantis USX on Citrix XenServer - What You Get
Atlantis USX's functionality is delivered by virtual appliances deployed in your Citrix XenServer (or VMware vSphere) environments to pool and abstract existing storage resources.
To deploy, there is one initial virtual appliance import to create the first USX Manager Console (UMc). Once the UMc has started, all management is performed using the UMc either interactively, (using a compatible browser) or programatically using Atlantis USX REST APIs. For fault tolerance of the USX management layer, it is recommended you deploy multiple USX Manager Consoles.
From the USX Management Console, the USX platform automatically deploys and configures additional virtual appliances to present USX Storage Volumes. You choose the volume type that provides the most suitable combination of storage capacity, performance, resilience, and redundancy for each application. USX Storage Volumes can offer services such as highly availability , data protection, thin provisioning, and cloning.
There are two primary types of USX storage volumes types:
- Simple Storage Volumes
- Pooled Volumes
Let's climb those particular mountains and ford those particular streams.
USX Simple Storage Volumes
USX Simple volume types provide for the most straight forward architecture, fast deployment, optimized performance, and storage consolidation.
• Simple Hybrid (using local or shared disk) and Simple All Flash (using local or shared flash) volumes support persistent workloads (such as persistent VDI instances).
• Simple In-Memory (using host RAM) volumes are designed to provide the fastest performance for stateless workloads (such as stateless VDI).
USX Simple Volume use less host resources per host than Pooled Volumes; requiring only one hypervisor host per volume. This configuration also allows for out-of-server network hops to be eliminated, further increasing performance and the storage network can be 1 Gbps (or faster) for simple volume types. That said, for host maintenance, with a simple volume, all VMs using the volume must be shut down.
Atlantis USX can provide High Availability (HA) for resources. However, native USX HA is not available for USX Simple Volumes. That said, for Simple Hybrid and Simple Flash volumes you can enable HA for resources by using the hypervisor's in-built HA.
Simple volume types provide an easy upgrade path for existing Atlantis ILIO users.
USX Pooled Volumes
Pooled volumes aggregate and abstract the resources of multiple hosts to present virtual volumes of either shared or local host resources. Pooled volumes can be configured to be HA as a function of USX rather than relying on the HA capabilities of the hypervisor. An All-Flash, or Hybrid volume can be deployed to allow a XenServer pool to enable HA without the need for a separate SAN to be deployed.
The following USX volume types support both server and virtual desktop workloads:
USX All-Flash Volume
The All-Flash volume type allows you to cluster server's local SSD disks, or shared SSD resources for increased performance, capacity and availability. Useful for increasing the capacity of SSD resources for both stateless and persistent workloads.
USX Hybrid Volume
A Hybrid volume allows you to use a cluster of host's local RAM, CPU and/or flash resources to improve the performance and capacity of existing shared storage or DAS. Useful for increasing the capacity of SSD resources for both stateless and persistent workloads.
USX In-Memory Volume
An In-memory pooled volume is focused on performance, allowing RAM, flash PCIe cards, or flash on DIMMs to provide a host-fail resilient volume. Useful for stateless applications that require high performance.
Atlantis USX on Citrix XenServer - Pre-Requisites
In summary the pre-reqs are :-
- Hypervisor Citrix XenServer 6.5 SP1 or Citrix XenServer 7.0
- 1 hypervisor for each Simple volume type
- 3 or more hypervisors for most common pooled volumes
- It is recommended to separate storage and management networks. For Storage Networks
- 10Gbps for pooled volumes
- 1Gbps for Simple volumes
- For Management networks provide a 1 Gbps network.
For more detailed information, check out the Atlantis USX Pre-Configuration steps for XenServer documentation.
Atlantis USX on Citrix XenServer - Initial Setup
There's been a lot to take in here. So for now, lets get the USX Manager installed and ready for configuration.
In this video, you can see how straightforward it is to import the USX Management Appliance into your Citrix XenServer environment.
The test setup we'll be using is three (3) Citrix XenServer 7.0 host instances configured in a pool. Each host is configured with with local disk for capacity and SSD disk for performance/storage. Each host has 12 cores and 90GB RAM.
Note: these are virtualised hosts; a recommended production configuration would have multiple USX Manager consoles and those consoles would not be hosted on hosts running virtual volumes.
Still, get Errol to run VT for this YouTube run through.