The 3rd major release of the Blockbridge Docker Volume Driver!

Blockbridge consistently releases volume driver updates in support of new Docker functionality. Version 3.0 of the volume driver continues this trend with enhanced support for Docker 1.9, adding additional Blockbridge specific features and laying the groundwork for fancy features coming in Docker 1.10.

Here’s a summary of what’s new:

  • Storage Profiles – global user-defined templates for attribute-based provisioning
  • Volume Insight – runtime insight into volume properties
  • Quality of Service – guaranteed IOPS for persistent volumes

Storage Profiles

You’ve always been able to provision Blockbridge programmable storage with a rich set of attributes and per-volume options. Developers rely on this capability to programmatically provision storage to match application requirements.

In 3.0, we’re introducing Storage Profiles as a way to templatize query parameters and volume options. Define your application requirements in a profile, and then use the profile to provision similar storage from any docker host running the Blockbridge volume driver.

Storage profiles are global and coherent: they can be referenced and managed from any Docker host without any additional software or setup. To manage them, use the driver’s command-line utility or communicate directly with driver’s REST API!

Example: View Storage Profile Information via Volume Driver CLI

# docker exec blockbridge-volume-driver profile info –name profile[
{
“name”: “profile”,
“user”: “block”,
“capacity”: “32GiB”,
“type”: “autovol”,
“attributes”: “+ssd”
},
]

Volume Information

Docker 1.9 allows volumes to be created with options that are passed directly to volume plugins. Unfortunately, it does not provide a way to query those options after the fact.

The Blockbridge volume driver now exposes a volume API endpoint alongside the profile API. The volume API allows users to query the full information about a volume including its create time options and provisioning attributes. It also provides detailed information on distributed host references for multi-host volumes.

Example: View Volume Information via Volume API

# docker exec blockbridge-volume-driver volume info –name myvol[
{
“attributes”: “+ssd”,
“capacity”: “32GiB”,
“name”: “app-db”,
“type”: “autovol”,
“user”: “block”,
“hosts”: “dk-swarm-1 dk-swarm-2 dk-swarm-7”
}
]

Quality of Service (QoS)

Blockbridge storage software provides IOPS quality of service (QoS) guarantees for solid-state storage platforms. In 3.0, you can now specify minimum QoS requirements on a per volume basis. To reserve IOPS, specify the iops option to volume create or declare an iops requirement in a storage profile.

Example: IOPS Provisioning for Database Application

# docker volume create –name speedydb –driver blockbridge –opt iops=125000 \
–opt user=speedy –capacity 1TiB speedydb

Tell Us What You Think!

Try the Blockbridge Docker Volume Driver and Blockbridge Simulator for Docker! They run in any environment and on any hardware. The Blockbridge Volume Driver implements the Docker volume plugin API; it runs as a container. The Blockbridge Simulator is our Elastic Programmable Storage Stack in container form. It’s free for development and non-production use. Use the storage simulator alongside the volume driver on the same host for a simple test, or use with multiple hosts and aggregate storage pools across multiple storage nodes.

The volume driver and storage simulator are supported on any Linux platform that runs Docker, including bare-metal, OpenStack, CoreOS and OSX (virtualbox).