Create cStorPool using Kubera Director

OpenEBS is the most popular open source storage software and contains different types of data engines suitable for different workload requirements. The supported engines are Jiva, cStor, Dynamic Local PV, and soon-to-be-releasing-and-very-fast Mayastor. The below image shows a feature-based comparison of the storage engines.

Comparison of the storage engines

cStor data engine is popular for workloads needing efficient capacity management, replicas, point in time snapshots, incremental backups, etc. A new schema of cStor pool cStorPoolCluster(CSPC) allows you to create and manage your cStor pools in an easy way. Starting with release 1.9 OpenEBS Director and Data agility operators make this process seamless, and at the same time, keeps the User Experience relatively easy. OpenEBS Director is the management and visualization tool for your OpenEBS storage.

This feature requires 3 prerequisites:

  1. You need to connect your cluster to OpenEBS Director.
  2. This feature is supported for OpenEBS version >= 1.9. Make sure you have installed OpenEBS 1.9 using OpenEBS Director. If you installed an older version of OpenEBS using OpenEBS Director, then upgrade your OpenEBS version to 1.9. If OpenEBS is already installed manually, then upgrade it to 1.9 and install the cspc-operator.
  3. Unformatted disks are required to provision the cStor pool. Make sure you have attached some unformatted disks in your data/storage node(s).

Steps to provision a cStor pool

  1. In the OpenEBS Director, go to the Block Devices section, which is inside the Management section of your selected Cluster, and verify your block devices.
    NOTE:- Only unclaimed, active, and unmounted block devices will be used to create a cStor pool. 
    Fig 1
  2. Inside the Storage Pool section of the Management section, you will find an option to create a new pool. Click on that button and then select the CStor storage pool option and Continue.
    Fig 2
  3. Provide a name for your CSPC and select the RAID type. The supported RAID types are stripe, mirror, raidz, raidz2. The pros and cons of each type are listed for better understanding as shown in the below image.
    Fig 3
  4. Once you’ve provided the name for your CSPC and selected the RAID type, you need to select the device group. A Device Group represents a group of eligible block devices having similar characteristics like type and physical block size. For instance, if you have some block devices of type HDD and block size 4k and 16k, then it will give you 2 group options - HDD-4096, HDD-16384. Select HDD-4096, if you want to create a cStor pool using HDD block devices of block size 4k, & select HDD-16384 if you want to create a cStor pool using HDD block devices of block size 16k.
  5. Once you select a device group, our recommendation engine will give you two kinds of recommendations.
    1. Based on available Block Devices and RAID type, it will suggest that you can create a minimum of MIN_SIZE pool and a maximum of MAX_SIZE pool.
      Fig 4
    2. Once you provide the capacity for the cStor pool, it tells you that it found N possible instance configurations for requested capacity. Based on the requirement of replication, you can select X number of instances out of N instances. For example, in the below image, 3 nodes have the needed block devices to create instances of 107 GB. You can select any number between 1 to 3 based on your replication requirements.
      Fig 5
  6. After selecting instances for your cStor pool, generate the configuration by clicking on Generate Cluster Config. Once it is generated, verify it and apply the configuration in your cluster by clicking on the Create button.
    Fig 6
  7. Verify the status of your CStorPool creation. After the creation process is successful, you can click on the View created pool button to see the pool details.
    Fig 7Fig 8
  8. Once a CSPC is created, follow the steps here to create a Storage Class and PVs. We will soon be adding Storage Class provisioning support in Director.

Important Links

Access Director online - https://director.mayadata.io

For help - https://help.mayadata.io

Join OpenEBS community — https://slack.openebs.io

Don Williams
Don is the CEO of MayaData and leading the company for last one year. He has an exceptional record of accomplishments leading technology teams for organizations ranging from private equity-backed start-ups to large, global corporations. He has deep experience in engineering, operations, and product development in highly technical and competitive marketplaces. His extensive professional network in several industries, large corporations and government agencies is a significant asset to early stage businesses, often essential to achieve product placement, growth and position for potential exit strategies.
Kiran Mova
Kiran evangelizes open culture and open-source execution models and is a lead maintainer and contributor to the OpenEBS project. Passionate about Kubernetes and Storage Orchestration. Contributor and Maintainer OpenEBS projects. Co-founder and Chief Architect at MayaData Inc.
Murat Karslioglu
VP @OpenEBS & @MayaData_Inc. Murat Karslioglu is a serial entrepreneur, technologist, and startup advisor with over 15 years of experience in storage, distributed systems, and enterprise hardware development. Prior to joining MayaData, Murat worked at Hewlett Packard Enterprise / 3PAR Storage in various advanced development projects including storage file stack performance optimization and the storage management stack for HPE’s Hyper-converged solution. Before joining HPE, Murat led virtualization and OpenStack integration projects within the Nexenta CTO Office. Murat holds a Bachelor’s Degree in Industrial Engineering from the Sakarya University, Turkey, as well as a number of IT certifications. When he is not in his lab, he loves to travel, advise startups, and spend time with his family. Lives to innovate! Opinions my own!