What NooBaa, a software-defined storage solution, brings to the table?

NooBaa management UI

NooBaa is really an interesting open-source tool that enables agility, flexibility, and hybrid cloud capabilities. When I call it a tool, your brain must be projecting it like a sort of management utility or a utility that is just mapping multi-cloud endpoints. It does more than what you imagine as a tool. Nowadays the storage solutions look so simple that they can be brought up using a single binary or on a container environment. That made me call it a tool but if you check NooBaa’s architecture, then you will come to know that it’s a complete software-driven infrastructure that provides inline deduplication, replication, live migration, active archive, backup, etc. That’s a little bit about NooBaa. Please do check NooBaa’s homepage for more information.

Let's jump into our experiment with Nooba, see how we can map the S3 compatible Gluster private cloud, apply mirror policy on the bucket and copy an object to the bucket

Note: I have done this experiment on Fedora32 and you may face issues with docker on Fedora32 due to new CGroups and NFTables for the firewall. Follow this to solve it.

Step 1. How to set up S3 compatible Gluster private cloud

Please refer to my previous article to get the S3 server endpoint for our Gluster storage.

Note: If you want to just export the local directory as an S3 endpoint to experiment with NooBaa refer to this. I am referring to Gluster storage just to keep the continuity with my exploration with Gluster and find the answers for my own questions.

Step 2. How to set up NooBaa?

NooBaa runs in a containerized environment and this link will help you get it running. The steps in the link are quite clearly explained how to set it up and I am redirecting you to the same rather than just copy-pasting them here. Also, the author may edit the steps in the future so referring to the direct page will keep us updated about future changes. NooBaa can also be brought up using minikube but I am considering docker containers in this article. Once the infrastructure is set up, you will observe 3 containers i.e

# docker ps

  1. noobaa-endpoint: S3 compatible endpoint
  2. noobaa-core: NooBaa metadata store
  3. noobaa-db: MongoDB to track objects stored on storage resource

The below diagram gives the high-level architecture of these components:

source: https://www.youtube.com/watch?v=4ymyOX3ooi4&t=1904s&ab_channel=NooBaa

After following the above 2 steps, we are ready to

3. Explore what NooBaa offers to us.

  1. I am using Minio as server endpoint and it can be accessed over the browser at http://192.168.56.101:9000. Create some 3 buckets (follow this video for more information) and these buckets are used as storage resources for NooBaa.
  2. NooBaa provides a management UI to maintain cloud resources and manage policies. Access http://127.0.0.1:8080 for management UI provide credentials to login. We have configured endpoint credentials while doing Noobaa set up and here they are
email: admin@noobaa.com
password: 123

Note: NooBaa offers a lot of things but I am focussing on minimal stuff to get the things started.

3. Follow this video to add the cloud resource, target bucket that we set up in step1 and create mirror policy among them

4. Now, we have buckets/resources ready on Noobaa. So go and upload an object to that and check object policies that we applied to the bucket in the previous step on Noobaa UI. Here is the video link for that.

Set up s3 alias and execute s3 commands to access the bucket

That's it for this article. Explore NooBaa and comment on this article.

--

--

--

Gluster Ant, Open Source Admirer and A RedHatter

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Day 70— Number of Boomerangs

What’s the best way to ingest data? It depends.

[42 Pisciner] Second week (March 13 and 14)

O(26) extra space:Solving pangrams

7 Steps to Create Good Test Strategy Document

ASP.Net Core API Data Protection

Introduction to Hijri Date Range Picker in Flutter

Introduction to Hijri Date Range Picker in Flutter

Easily Reach a Global Audience with Localization Support in Your Blazor Apps

Easily Reach a Global Audience with Localization Support in Your Blazor Apps

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vinayak Hariharmath

Vinayak Hariharmath

Gluster Ant, Open Source Admirer and A RedHatter

More from Medium

Best Trekking Poles and How to Use Them

SUMPRODUCT Function in Excel.

Lost on Table Mountain

Heritage & Digital — 21st Century Bedfellows