Integrating OpenStack Cloud Nova Volume storage with Isilon

Dina Belova - October 15, 2012 -

What do you use to store your OpenStack volumes? If you’re building an OpenStack cloud, you’ll need that block level storage to give to your instances through an iSCSI session by default. If  you want to have intelligent, flexible, scalable, and reliable physical storage for this purpose, one alternative you might consider is the Isilon IQ clustered storage system. We’ve created a driver you can use with it.

Now a part of EMC, Isilon was created to meet the needs of high-performance computing environments to provide both scalability and performance. The core of this uses an intelligent OneFS distributed file system. Key features:

  • 60-second on-the-fly scaling of capacity and performance
  • A single file system with a single global namespace
  • The ability to place mission-critical, latency-sensitive data on SSDs
  • High utilization rates going up to 80%.
So, it’s a great piece of gear. (In fact, if you already use Isilon but haven’t started with OpenStack, it’s a great foundation to use in building out your cloud). But to use any kind of volume Nova always needs a way to communicate with its driver. For example, there are the following backends for the nova-volume service:
  • iSCSI
  • Xen Storage Manager
  • Nexenta
  • SAN-style (Solaris-hosted iSCSI, SolidFire)

Let’s look at how this driver works.

Nova Volume driver

Nova uses the volume manager to control attachable block storage devices (volumes) and this control strategy is seen in the driver used:

This is a simplified scheme, but it does a good job of describing what happens. Volume creation, attaching, and detaching tasks go through the volume driver to physical storage—which is how the latter understands calls that come through Nova API. But there was no Isilon driver for OpenStack until we decided to change that.

Rationale for running OpenStack Nova on Isilon

Reliable and scalable storage solution is the base of any kind of cloud deployment and Isilon is an good example of such storage. Deploying a cloud system means not only running virtual machines but also storage for vital data such as databases and application data sets. All this data should be stored in a reliable/redundant way that allows it to be always available above minimum I/O requirements. That makes Isilon and OpenStack an effective combination.

By using this driver, OpenStack Compute virtual machine volumes support the following Isilon features:

  • Single, shared global namespace
  • Isilon IQ Storage seamlessly scaled to 15.5 petabytes
  • Support for InfiniBand or Gigabyte Ethernet for intracluster communication
  • Unmatched aggregate throughput from a single file system up to 100 gigabytes per second
  • Industry-leading high availability for clustered storage systems
  • Powerful, easy-to-use, web-based management
  • 60-second scaling of both capacity and performance
  • Unlimited snapshots and clones

How the OpenStack Nova Volume Isilon driver works

When you use our driver (download link at the end of the post) with Isilon for OpenStack, the workflow looks something like this:


  1. Nova-compute tells nova-volume to create a volume through the queue.
  2. Nova-volume goes to the nova.conf file and finds out what driver to use (the Isilon driver in this case).
  3. Nova-volume forwards the Isilon driver all information needed for the volume creation.
  4. The Isilon driver changes nova API calls to the calls Isilon IQ Storage can understand—there are some group of flags in the nova.conf file that help this process.
  5. Isilon creates a volume (a logical unit in Isilon’s terms) and the ISCSI target for it and returns a response back to the driver.
  6. The driver sends information about volume creation (successful or not) to the nova-volume.
  7. Nova-volume writes data and creates a volume in the DB.

You can download the driver here. We look forward to your comments.

From Virtualization to Containerization
Learn how to move from monolithic to microservices in this free eBook
Download Now
Radio Cloud Native – Week of May 11th, 2022

Every Wednesday, Nick Chase and Eric Gregory from Mirantis go over the week’s cloud native and industry news. This week they discussed: Docker Extensions Artificial Intelligence shows signs that it's reaching the common person Google Cloud TPU VMs reach general availability Google buys MobileX, folds into Google Cloud NIST changes Palantir is back, and it's got a Blanket Purchase Agreement at the Department of Health and Human …

Radio Cloud Native – Week of May 11th, 2022
Where do Ubuntu 20.04, OpenSearch, Tungsten Fabric, and more all come together? In the latest Mirantis Container Cloud releases!

In the last several weeks we have released two updates to Mirantis Container Cloud - versions 2.16 and 2.17, which bring a number of important changes and enhancements. These are focused on both keeping key components up to date to provide the latest functionality and security fixes, and also delivering new functionalities for our customers to take advantage of in …

Where do Ubuntu 20.04, OpenSearch, Tungsten Fabric, and more all come together? In the latest Mirantis Container Cloud releases!
Monitoring Kubernetes costs using Kubecost and Mirantis Kubernetes Engine [Transcript]

Cloud environments & Kubernetes are becoming more and more expensive to operate and manage. In this demo-rich workshop, Mirantis and Kubecost demonstrate how to deploy Kubecost as a Helm chart on top of Mirantis Kubernetes Engine. Lens users will be able to visualize their Kubernetes spend directly in the Lens desktop application, allowing users to view spend and costs efficiently …

Monitoring Kubernetes costs using Kubecost and Mirantis Kubernetes Engine [Transcript]
The Definitive Guide to Container Platforms
Getting started with Kubernetes part 2: Creating K8s objects with YAML

Thursday, December 30, 2021 at 10:00 AM PST
Istio in the Enterprise: Security & Scale Out Challenges for Microservices in k8s

Presented with Tetrate