Achieving the human readable fileset name with Storage Enabler for Containers

              The dynamic provisioning is a way in the Kubernetes to create volumes on demand. IBM Storage Enabler for Container supports dynamic provisioning to create on demand volumes on the IBM Spectrum Scale. The Kubernetes volume represents a fileset on the IBM Spectrum Scale. By default, the fileset name of volume created by Storage Enabler for Containers is a random string. Sometimes there is a need to have human-readable fileset name to identify Kubernetes volume on the IBM Spectrum Scale to perform advanced functionality like the snapshot, backup etc. which is available via Standard Spectrum Scale interface. Here is the way to achieve human-readable fileset name with Storage Enabler for Containers and Spectrum Scale Backend. While creating the pvc(persistent volume claim) with Storage Enabler for Containers with Spectrum Scale backend, specify the name you want to have for the fileset against pv-name. In following example pv-name is “human-readable-name”, so once pvc is created, fileset with the same name is created on the IBM Spectrum Scale. 

# cat pvc.yml
kind: PersistentVolumeClaim
apiVersion: v1
  name: “spectrum-scale-pvc”
    product: ibm-storage-enabler-for-containers
    pv-name: “human-readable-name”
  storageClassName: “spectrum-scale”
    – ReadWriteMany 
      storage: 100Gi 

“These are my personal views and do not necessarily reflect that of my employer”


High performance and Scalable Storage for Containers

               An Easy Deployment, Scalability and Portability are few of the many benefits of containers. Many stateful applications like database and analytics application are already containerised or in process of being containerized. These applications are data-centric, they rely on the underlined storage for performance and scalability. Storage support for containers is still emerging. Storage providers need to write a driver to enable their storage for containers. IBM Spectrum Scale, a Scalable, High-performance file system is the primary choice for applications requiring performance and scalability from many years. IBM Spectrum Scale announced support for storage for containers with IBM Storage Enabler for Containers v2.0 a.k.a Ubiquity. The release means that containerized application can make use of the Spectrum Scale storage to improve their overall performance. Guess what? Storage Enabler for Container is free to use. Don’t wait to try storage from IBM Spectrum Scale for Containerised applications. Download Storage Enabler for Containers v2.0 from here. Refer user guide for more details about Storage Enabler for Container.

“These are my personal views and do not necessarily reflect that of my employer”

IBM Spectrum Scale with Standalone Docker

One might want to try running some containerized application with persistent volume using standalone docker host. Persistent storage can be carved from IBM Spectrum Scale. Following are the step to use storage from IBM Spectrum Scale for Container in case of standalone docker host provided docker host is having Spectrum Scale client installed and Filesystem is mounted.

    1. Create Fileset on IBM Spectrum Scale
      [root@dgnode4 ~]# mmcrfileset gpfs0 fileset1
      Fileset fileset1 created with id 1 root inode 24932.
      [root@dgnode4 ~]# mmlsfileset gpfs0
      Filesets in file system 'gpfs0':
      Name Status Path
      root Linked /ibm/gpfs0
      fileset1 Unlinked --
    2. Link Fileset

      [root@dgnode4 ~]# mmlinkfileset gpfs0 fileset1 -J /ibm/gpfs0/fileset1
      Fileset fileset1 linked at /ibm/gpfs0/fileset1
    3. Run container with fileset as a persistent storage
      [root@dgnode4 ~]# docker run -v /ibm/gpfs0/fileset1:/gpfs --rm -it alpine /bin/sh
      Unable to find image 'alpine:latest' locally
      latest: Pulling from library/alpine
      Digest: sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f
      Status: Downloaded newer image for alpine:latest
      / #
    4. Create file inside the /gpfs inside container and confirm same is available in fileset
      #Inside container
      / # cd /gpfs/
      /gpfs # touch file_from_container
      #On host
      [root@dgnode4 ~]# ls /ibm/gpfs0/fileset1

“These are my personal views and do not necessarily reflect that of my employer”

Creating TLS Certificates

Developer/Tester need TLS certificates now and then for testing and development of product supporting secure communucation. Following is the docker-image based procedure to quickly create the TLS certificates.

Steps :

  1. clone the git repo (
  2. docker build -t createtlscert
  3. docker run -it –rm -v <hostdir>:/crt createtlscert <ip address>
    eg : docker run -it –rm -v /tmp/crt:/crt createtlscert

TLS certificates will be created for CN=<ip address> and copied in the specified <hostdir> directory.

Note – Creating TLS certificate using this procedure is only meant for Test purpose only.

“These are my personal views and do not necessarily reflect that of my employer”

IBM Spectrum Scale Object Authentication – Basic problem determination

The first step towards start using Spectrum Scale Object store is to properly plan and configure the Authentication mechanism for Spectrum Scale Object store to make sure Object store contents are being accessed by Authorized entities only. The famous and majorly used Authentication schemes are Lightweight Directory Access Protocol (LDAP) and Microsoft Active Directory. Organizations customize the Authentication server per their need because of which most authentication configuration tends to be unique. Spectrum Scale object authentication configuration supports most such authentication configurations. Common authentication issues, error and resolution for Spectrum Scale object authentication are captured in following presentation.

CloudBerry Explorer with IBM Spectrum Scale

Steps to enable CloudBerry explorer to use Object Storage from IBM Spectrum Scale

IBM Spectrum Scale 4.2.2 with Object service enabled.
CloudBerry Explorer for Openstack Storage – Build-

  1. Verify IBM Spectrum Scale Object storage is enabled by running following command[root@c1n3 ~]# mmces service list
    Enabled services: OBJ
    OBJ is running

    [root@c1n3 ~]# mmuserauth service list –data-access-method object
    OBJECT access configuration : LOCAL
    PARAMETERS               VALUES
    ENABLE_KS_SSL            false
    ENABLE_KS_CASIGNING      false
    KS_ADMIN_USER            none

  2. Configure the CloudBerry Explorer with IBM Spectrum Scale Object Storage12344
  3. List/Create/Upload objects/Containers using Swift Client[root@c1n3 ~]# swift list

    [root@c1n3 ~]# swift post containerFromWwiftClient

    [root@c1n3 ~]# swift list

    [root@c1n3 ~]# swift upload myFirstContainerFromCloudBerry anaconda-ks.cfg

  4.  View Object/Containers from CloudBerry Explorer


“These are my personal views and do not necessarily reflect that of my employer”