Flocker Driver/Plugin for Storage Arrays

Data persistence and portability use cases such as moving database containers between hosts and reattaching existing data volumes from shared storage environments can be challenging. When a Docker container moves with a standard volume driver, its data volume stays in place and the container starts with an empty volume.

In order to make moving Docker containers and data volumes together easy, ClusterHQ developed Flocker. Flocker is an open-source container data volume manager for Dockerized applications that gives DevOps teams the ability to run containerized stateful services such as databases in production.

Calsoft Whitepaper: An Analysis of Three Transaction Processing Architectures

In this paper, issues involved in using multiprocessors for high performance transactions processing applications are investigated. A comparison is made between the best “Shared Disks” with “Shared Nothing” and “Shared Everything” architectures.

Download

According to ClusterHQ, a Docker data volume that is tied to a single server, a Flocker data volume, called a dataset, is portable and can be used with any container in your cluster. Flocker manages Docker containers and data volumes together.

The Flocker Driver/plugin for Docker allows you to provision Flocker volumes directly from within Docker. This means you don’t have to use a separate tool to manage your persistent data volumes.

While creating a container with a data volume, we just specify the –volume-driver=flocker flag, and then specify a name and mountpoint, e.g. -v my-volume:/mount/point.

Flockerctl

Flockerctl is the CLI tool for controlling the flocker services, it has commands like listing nodes, creating volumes and moving them around. Using the flockerctl we can also provision the volumes for docker.

Flockerctl version:

We can check the version of flocker using following command

[root@flocker-Node1 ~]# flockerctl version
prototype version 0.0.1

List the Nodes:

[root@flocker-Node1 ~]# flockerctl list-nodes
SERVER     ADDRESS
bf5d33ee   192.168.5.35
08ad1785   192.168.5.36

Create Volumes:

[root@flocker-Node1 ~]# flockerctl create -n bf5d33ee -m name=Test -s 15G

created dataset in configuration, manually poll state with ‘flocker-volumes list’ to see it show up.

List Volumes:

[root@flocker-Node1 ~]# flockerctl ls
DATASET                                SIZE     METADATA    STATUS         SERVER
8af507ae-5c24-4d55-9d39-c16ff7fce7b9   15.00G   name=Test   attached ✅   bf5d33ee (192.168.5.35)

Map Volume to the Docker container:

[root@flocker-Node1 ~]# docker run -it -v /flocker/8af507ae-5c24-4d55-9d39-c16ff7fce7b9:/Calsoft --name=Yogesh123 centos /bin/bash
or
[root@flocker-Node1 ~]# docker run -it -v sanity:/data --volume-driver flocker --name=Yogesh12345 centos /bin/bash

Move volume from one node to other node:

[root@flocker-Node1 ~]# flockerctl ls
DATASET                                SIZE     METADATA      STATUS         SERVER

0e4398e0-6926-40b2-91e9-bd5099e28494   75.00G   name=sanity   attached ✅   bf5d33ee (192.168.5.35)
8af507ae-5c24-4d55-9d39-c16ff7fce7b9   15.00G   name=Test     attached ✅   bf5d33ee (192.168.5.35)
 [root@flocker-Node1 ~]# flockerctl move -d 0e4398e0-6926-40b2-91e9-bd5099e28494 -t 08ad1785

initiated move of dataset, please check state to observe it actually move.

 [root@flocker-Node2 ~]flockerctl ls
DATASET                                SIZE     METADATA      STATUS         SERVER
0e4398e0-6926-40b2-91e9-bd5099e28494   75.00G   name=sanity   attached ✅   08ad1785 (192.168.5.36)
8af507ae-5c24-4d55-9d39-c16ff7fce7b9   15.00G   name=Test     attached ✅   bf5d33ee (192.168.5.35)

Destroying Volumes:

[root@flocker-Node2 ~]#flockerctl destroy -d 0e4398e0-6926-40b2-91e9-bd5099e28494

marked dataset as deleted. poll list manually to see it disappear.

Container Ecosystem Services

Calsoft has deep expertise in containerization of Storage and Networking products. With our in-depth understanding of various containerization technologies like Docker, Kubernetes, Apache Mesos and Coreos, we have helped ISVs to design and develop solutions in and around these technologies.

 
Share:

Related Posts

Gen AI Trends 2025

Top Generative AI Trends Shaping 2025

Modernization of industries began with the Industrial Revolution in the early 19th Century with the use of machines, and it has continued with the digitization of devices…

Share:
IoT and its Applications in Driving Smart Manufacturing

IoT and its Applications in Driving Smart Manufacturing

The Internet of Things (IoT) is a key element of global industrial transformation, and the manufacturing sector leads in leveraging this technology. The millions of IoT devices,…

Share:
Product Lifecycle Management in Software Development using Large Language Models

Product Lifecycle Management in Software Development using Large Language Models

The data of any organization is of extreme value. But what happens when that data is not trustworthy and accessible to your teams? You will face challenges…

Share:
Challenges and Best Practices in DevSecOps Security

Challenges and Best Practices in DevSecOps Security

Explore the challenges in DevSecOps security, including managing privileged credentials targeted by cyber attackers, and discover effective solutions.

Share:

Understanding Types and Trends of Data Storage Technologies

Explore the forms of data storage, latest data storage technologies and trends crucial for optimizing data management.

Share:
Kubernetes Introduction and Architecture Overview

Kubernetes: Introduction and Architecture Overview

Containers are taking over and have become one of the most promising methods for developing applications as they provide the end-to-end packages necessary to run your applications….

Share: