Skip to content

GlusterFS

In this article, we understand how to build a High Available domain controller and file shared with two open-source product: Zentyal and GlusterFS

GlusterFS is an open-source file system for distributed storage. It is scalable horizontally and master-less, whose capacity can be dynamically expanded by adding new nodes.

GlusterFS is able to manage up to several petabytes, thousands of clients and different data areas (storage volume).

http://blogs.reliablepenguin.com

Introduction

In the Gluster terminology, there are some keywords to understand.

  • volume: the final shared resource
  • translator: is a virtual shared object that extends the features of your file systems
  • brick: the original shared file system (ex: a directory)
  • server/node: the machine that contains the brick
  • client: who use the shared resource

Volume configurations

Similar to RAID setup there is a different way to use a Gluster Volume:

Distributed: this is the default glusterFS volume. Same as raid 0, the data are distributed across various bricks in the volume. There is no redundancy. Same as raid 0, the data are spread to volumes.

gluster volume create devdata home1:/mnt/datastore2 home2:/mnt/datastore2 
  Creation of test-volume has been successful
  Please start the volume to access data

Replicated: same as RAID 1, the data are copied to all volumes immediately

gluster volume create share_home replica 2 transport tcp home1:/mnt/datastore/shared_home home2:/mnt/datastore/shared_home 
  Creation of share_home has been successful
  Please start the volume to access data

Distributed Replicated Volume:

This type of volume is used when high availability, redundancy and scaling storage is required.

The number of bricks must be a multiple of the replica count.

So if there were eight bricks and replica count 2, then the first two bricks become replicas of each other then the next two and so on.

This volume is denoted as 4×2.

https://glusterdocs-beta.readthedocs.io/en/latest/overview-concepts/volume_types.html

gluster volume create share_home replica 2 transport tcp home1:/mnt/dastore2 home2:/mnt/datastore2 home3:/mnt/datastore2 home4:/mnt/datastore2
  Creation of share_home has been successful
  Please start the volume to access data

Striped Volume: is unusual for us

Distributed Striped Volume:

Installation on Ubuntu/Debian

On each node, install the requirements

apt install  install glusterfs-server

On each node, add this line the /etc/hosts w

<ip address> node-1-name
<ip address> node-2-name
<ip address> node-n-name

for example

192.168.1.1 pve-node-1
192.168.1.2 pve-node-2

Real scenario

As you have understood in these examples, a real case for use glusterFS is the datastore for the home users.

Zentyal is an open-source solution to deploy a SAMBA4 domain controller compatible with Microsoft Active Directory.

Zentyal is an alternative for Windows Server Small Business and Windows Server Essentials

Web source for images and some contents