Introduction to Kadalu Storage

Kadalu Storage is a modern opinionated distributed filesystem focused on ease of use, scale, and stability.

  • Storage Pool is a collection of directories from one of more nodes.

  • Storage Nodes are associated with the Kadalu Storage pool. One Storage node can’t be part of two Storage pools.

  • Storage Unit is a directory or device in a node that will then be combined with other directories/devices from same or different nodes to provide single unified namespace.

The following example shows three nodes added to the Storage cluster.

$ kadalu node add
Node added successfully
ID: 3befd57b-1d31-4664-94e9-f87bf7ce90f9
$ kadalu node add
Node added successfully
ID: e9a4ed06-f3d8-4dcc-aaaf-ae821846167a
$ kadalu node add
Node added successfully
ID: 9abf4512-029a-4ae1-85d6-400bf7e8e30c

Prepare the mounted directory to use as a Storage unit while creating the Pool. Any filesystem that supports xattrs can be used as a Storage Unit of a Kadalu Pool. The following example demonstrates using a directory from each server and creating a Mirrored Kadalu Pool using them.

[root@server1 ~]# mkdir -p /exports/pool1
[root@server2 ~]# mkdir -p /exports/pool1
[root@server3 ~]# mkdir -p /exports/pool1
[root@server1 ~]# kadalu pool create pool1 \
    --allow-from-root-partition                 \
    mirror \

Mirrored or Replicate volume copies a file to all three storage units whenever a file is created from the Mount point. Mount Kadalu Volume in any node using the following command. Note that all the Storage servers should be accessible from the node where the Volume is mounted.

[root@client ~]# mkdir /mnt/pool1
[root@client ~]# mount -t kadalu /pool1 /mnt/pool1