kovaleff - Fotolia

How does ClusterHQ Flocker work in containerized environments?

Docker is one of the most popular ways to containerize apps, but it makes migration difficult. The open source ClusterHQ Flocker architecture can help.

The main way to provide storage virtualization in a containerized environment today is through ClusterHQ Flocker architecture. At the moment, Docker is the most widely used product for containerization. However, Docker has not historically played well with storage. To put it simply, Docker works very well for virtualizing stateless applications -- but when a containerized application requires file system access, the container becomes a lot more difficult to move from one host to another because the Docker data volume is tied to a specific server.

ClusterHQ has addressed this problem by introducing storage virtualization into the Docker environment through an architecture called Flocker. Flocker creates a virtual disk volume, which the vendor refers to as a Flocker volume. This volume resides on a supported storage back end. The Flocker storage is intended to host persistent data, such as database data.

What makes a Flocker volume different from a regular network volume is that Flocker makes use of a network proxy. This network proxy is accessible to all the nodes within a cluster and each of the individual containers also has access to this proxy. The network proxy's job is to manage the links between containers and virtualized storage. By doing so, it becomes possible to migrate containers to other cluster nodes without breaking containerized applications in the process. Normally, if you attempt to move a native Docker container, its data volume stays behind. This means a containerized database would start without any data being accessible. When a Docker container uses the ClusterHQ Flocker architecture, its data volume moves with the container.

One pixel Users react to VMware-Docker partnership

As is the case with Docker, ClusterHQ Flocker is open source. It's worth noting that Flocker depends on an agent and is therefore compatible only with specific OS builds, including CentOS 7, Ubuntu 14.04, Ubuntu 15.04 (command line only) and OS X (command line only). Similarly, only a limited number of storage back ends are supported, including Amazon Web Services, Amazon Elastic Block Storage, Rackspace Cloud Block Storage, OpenStack-Cinder compatible storage, EMC ScaleIO, EMC XtremIO and local ZFS storage (beta).

Next Steps

Docker containerization expected to creep up in primary storage

How to avoid Docker backup issues in Hyper-V environments

Three use cases that benefit the most from Docker containers

Vendors rushing in to solve Docker support issues

Dig Deeper on Storage virtualization