When Atlantis Computing added persistent support for their ILIO Diskless VDI in Q1 2013 I couldn’t wait to get my hands on a copy. Last week I was able to deploy an Atlantis ILIO environment with a Replication Host.
Atlantis ILIO Persistent VDI 4.0

In the first part of this article I will explain what the replication host is, how it’s used and how it works. In the second part I’ll dive into the boot process and how the hosts are managed.

Atlantis ILIO products

Atlantis Computing offers a number of products in their ILIO portfolio. To understand what the Replication Host i s it is important to understand the products and its components.

At the moment of writing Atlantis offers the following products:

  • Atlantis ILIO Persistent VDI
  • Atlantis ILIO Diskless VDI
  • Atlantis ILIO for Citrix XenApp
  • Atlantis ILIO FlexCloud
  • Atlantis ILIO Center

Each product consists of one or more components, to simplify the explanation I will loosely interpret the naming of the components.  The components are shown in the columns, the products are in the rows.

Session Host   Replication Host    ILIO Center
Atlantis ILIO Persistent VDI             X                 X             –
Atlantis ILIO Diskless VDI             X *1                 –             –
Atlantis ILIO for Citrix XenApp             X *1                 –             –
Atlantis ILIO FlexCloud *2             ?                 ?             ?
Atlantis ILIO Center             –                 –             X

*1) Officially this is not called a Session Host

*2) I have no information about FlexCloud

 

Components

ILIO Center

Atlantis ILIO Center is a management component for enterprises – allowing you to manage and report in your ILIO environment. Basically it is a virtual appliance that manages the Session- and Replication hosts. ILIO Center periodically verifies the health of the hosts, retrieves resource usage, configures the hosts and clusters and controls the licensing. ILIO Center is not required for the Session- or Replication Host to function enhancing the availability and scalability of the setup.

Session Host

A Session Host is a virtual appliance and is the heart of Atlantis ILIO (In-Line-Image-Optimization). A Session Host exposes a mount point via NFS or iSCI, a hypervisor connects a datastore to the mount and files are stored on the datastore (Software Defined Storage or SDS). Virtual machines store their configuration (.vmx for VMware) and hard disks (.vmdk for VMware) on the datastore just like they normally do. Once data is written to the Session Host datastore the “magic happens” (duplicate data blocks are inline de-duplicated (immediately), compressed and optimized to big sequential blocks).  This results in a reduction of the required IOPS and capacity on the (shared) storage.

Basically there are two types of Session Hosts 1) disk-based and 2) diskless. The difference between the two types are fairly simple, the location where the data is stored is either on disk (disk-based) or in memory (diskless).

disk-based

A disk-based Session Host receives the files via the NFS mount point, de-duplicates the data (the magic) and stores it on a virtual hard disk. This is always the second hard disk or /dev/sdb1, usually mounted on a LUN on the SAN. The hard disk is internally mounted as the folder /exports/ILIO_VirtualDesktops.

“The folder is mounted on file system file (vfstype) “dedup”, a proprietary file system of Atlantis Computing.”

Atlantis ILIO disk-based

In a VDI environment the required storage capacity can be reduced by roughly 90%.

 

diskless

A diskless Session Host has the same layout as a disk-based Session Host but instead of a virtual hard disk the folder /exports/ILIO_VirtualDesktops is mounted from a RAM disk. The RAM disk is mounted  as  /dev/ram0 with no compression or as /dev/zram0 when compression is enabled.

“Compression is done by the Linux module zRam

Atlantis ILIO diskless

Because RAM is volatile (the content is lost after a power-cycle) a diskless Session Host is unable to store persistent data, unlike the disk-based Session Host. Because the VM configuration (.vmx) and hard disk (.vmdk) files are stored on the Session Host datastore, not on the hypervisor host, they need to persist. Therefore a second hard disk /dev/sdb1 is attached (and mounted as /mnt/images) and a “SnapClone” is created of the files, initiated by an administrator via the Atlantis ILIO Center machine.

Atlantis SnapClone

“Atlantis ILIO SnapClone is executed by the PartClone tool”

Because no data is stored on a SAN, the storage reduction is 100% during operation. In other words, there are NO IOPS required for the Windows desktop / server machines to run!

 

Replication host

Technically a Replication Host share a lot of similarities with a disk-based Session Host. Just like the disk-based Session Host it exposes a (actually multiple) NFS mountpoint, optimizes the data blocks written (the ILIO engine) and stores it on the second hard disk /dev/sdb1 (actually /dev/mapper/vmdata_cache for logical volume management). One might say that the Replication Host is an improved disk-based Session Host.

A Replication Host stores the persistent data of multiple diskless Session Hosts. Because it aggregates the data of multiple Session Hosts (which most likely have similar data blocks) it can de-duplicate the data even more, reducing the required storage capacity by even more,

Session Hosts to Replication Host

 

Fast Replication

The glue that ties the Session Hosts and the Replication Host together is what Atlantis calls “Fast Replication”. Basically what this Fast Replication technique should do to make sure that whatever is stored on the RAM disk of the Session Host persists. Whenever a diskless Session Host reboots it should retain the data blocks written by the virtual machines.

The way this is achieved is simple and effective (KISS Duim omhoog).

persistentnode

Each Session Hosts mounts a folder to the Replication Host via NFS. The Replication Host exposes a dedicated NFS mount point for every Session Host with the name <ip>:/exports/ILIO_VirtualDesktops/<session-host-name> where <session-host-name> is the name of the Session Host (duh!) This folder is mounted on the Session Host as /persistent/persistentnode.

Loop device

A loop device is used to make a file accessible as a block device. On the Session Host a loop device /dev/loop0 is attached to the file /persistent/persistentnode/zerofile, so the file is stored on the Replication Host.

Linux-raid

Finally a linux-raid is used to create a RAID1 (mirror) between the RAM disk  (/dev/ram0 or /dev/zram0) and the loop device (/dev/loop0).

Atlantis ILIO diskless with replication host

“Atlantis FastReplication is basically a RAID 1 linux-raid”

Part two

Same bat time... Same bat channel!In part two I’ll dive in the boot process of the Session- and Replication hosts and how the hosts are managed. Stay tuned!




5 Reacties

  1. Just for reference I’d say “FlexCloud” is not a product per se rather a “destination”.

    You’ve likely wanted to get your hands on Atlantis ILIO v4 for Persistent Desktops – you’ve been impressed with the performance, sheer speed of having that instance run in memory/RAM rather than from disk.

    Now, Atlantis have been enabling RAM as a primary storage tier for VDI – and with the Atlantis ILIO for XenApp – for server workloads too.

    Now, if Atlantis can enable RDSH server workloads.. why not others? With considerations of software defined datacentres, with the ever increasing demand for performance – why not extend the technology for wider server based workloads?

  2. Hello very interesting even if now i’m a little disapointed i mean they just use classic (and in developpement linux tools, zram is still on staging part of linux kernel) not their own thing.

    I mean i just have to take a ubuntu distrib create a ramdisk (actually if you want performance you should create a ramdisk by cpu) and add a filesystem like zfs on it and i will have inline deduplication, lz4 compression (really better than lzo) and that’s it

    Do you have some information about their filesystem? And particularly about the deduplication algorithm used (i think it’s hash based but what can of hash? fletcher4, sha256 ?)

    1. Of course there’s more to than meets the eye, the hidden gem is the inline deduplications and application analysis engine. Although they use some of-the-shelf products (like Linux, Perl, zram ,etc.) that doesn’t mean they’ve built a unique product.

      Knowing some of the ingedrients doesn’t make you a chef 😉

      1. i know that and by the way i did a little test with a zfs box to compare dedup ratio performance and all that stuff and i reall want to know what algorithm they use for dedup, because zfs use sha-256 i’m sure of that but to don’t impact the performance i need 4vcpu on my vm and the ilio use only 1

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

nl_NLNederlands