Docker Volume Plugin Integration

From OSNEXUS Online Documentation Site
Revision as of 16:32, 29 May 2019 by Qadmin (Talk | contribs)

Jump to: navigation, search

Overview

Coming soon (June 2019), please contact support@osenexus.com for early access to the QuantaStor Docker Volume Plugin.

Docker Volume Plugin for Quantastor provides integration for Docker containers and Quantastor Volumes.

Platform and Software Dependencies

Operating Systems Supported

Ubuntu (Xenial 16.04 LTS, Bionic 18.04 LTS)

Environments Supported

Docker (18.09.2 and above)

Other software dependencies

Latest iSCSI initiator software (open-iscsi). Required for iSCSI connectivity to Quantastor Volumes.

Installation instructions

Create a directory "/plugin" Create a config file /plugin/qsdvp/conf/qs-config.json The config file looks like this

{
   "qsHostIp": "10.0.xx.xx",
   "qsHostUsername": "admin",
   "qsHostPass": "xxxx",
   "fsType": "ext4",
   "logFileLocation": "/plugin/qsdvp/log/qsdocker.log"
}
qsHostIp         : IP address of the Quantastor Server
qsHostUsername   : Username for the Quantastor Server
qsHostPass       : Password for the Quantastor Server
fsType           : File system type
logFileLocation  : Location for the volume plugin log file. Default is "/plugin/qsdvp/log/qsdocker.log"

Install the plugin using the following command

docker plugin install osnexus/volumeplugin config=/plugin/qsdvp/conf/qs-config.json --grant-all-permissions


Creating volumes and other operations

Volume List

docker volume ls

This command will list all the volumes present on the QuantaStor Device.

Volume List by ID

docker volume inspect qs-vol-name

This command will display the data of the specified volume only.

Volume Create

The supported units are MB, GB, TB and PB only.

Create volume with size in MB:

docker volume create -d=osnexus/volumeplugin --name=qs-vol-from-plugin -o create=true -o size=10m -o provisionableID=29xxxxxx-fxx1-fxxx-xx13-3174xxxxb0xx

Create volume with size in GB:

docker volume create -d=osnexus/volumeplugin --name=qs-vol-from-plugin -o create=true -o size=10g -o provisionableID=29xxxxxx-fxx1-fxxx-xx13-3174xxxxb0xx

Create volume with size in TB:

docker volume create -d=osnexus/volumeplugin --name=qs-vol-from-plugin -o create=true -o size=10t -o provisionableID=29xxxxxx-fxx1-fxxx-xx13-3174xxxxb0xx

Create volume with size in PB:

docker volume create -d=osnexus/volumeplugin --name=qs-vol-from-plugin -o create=true -o size=10p -o provisionableID=29xxxxxx-fxx1-fxxx-xx13-3174xxxxb0xx

The value for the parameter “-d” should be the plugin name "osnexus/volumeplugin". An alias for the above name can also be created during installation.

docker plugin install osnexus/volumeplugin config=/plugin/qsdvp/conf/qs-config.json --grant-all-permissions --alias qsdvp

Volume Clone

docker volume create -d=qsdvp --name=qs-vol-clone -o clone=true -o storageVolume=qsdvp-qs-vol-from-plugin -o provisionableID=805xxxxx-6800-cb72-xxcd-877xxxxxe4fx

Volume Snapshot

docker volume create -d=qsdvp --name=qs-vol-snapshot -o snapshot=true -o storageVolume=qsdvp-qs-vol-from-plugin -o provisionableID=805xxxxx-6800-cb72-xxcd-877xxxxxe4fx

NOTE: All the CREATE commands will check for free space available in the pool, if there is not enough space the commands will return an error.

Volume Remove

docker volume rm qsdvp-qs-vol

NOTE: This command will delete the volume and also delete the snapshots(if any) of this volume.

Volume Mount

docker run -it -d --name mounter -v qs-vol-from-plugin:/data ubuntu /bin/bash

NOTE: Volume Mount is called when your volume is used for a container, it is called once per container start.

Volume Unmount

docker stop devtest

NOTE: Volume Unmount is called once per container stop.