Wednesday, January 30, 2013

Note on Using Drobo with GlusterFS

(Thought I really doubt that anyone on this planet is unfortunate enough to uses the same configuration with me lol)

OK. Here we know that:
1. Drobo can use only ext3, maximum 8TB volume, under Linux.
2. Using 2 Volumes on CentOS 6.3 must use USB connection with kernel-ml 3.7.x from ELREPO repository.

Doing the single machine GlstuerFS on ths box goes smoothly, except one thing:
Attempting to ls the mounted GlusterFS volume will hang up.
How do one uses the volume if one can't see its content?

The bug is caused by: (reference)
The ext4 HASH function, in fs/ext4/dir.c changed with kernel 3.3.x.
This change also made on ext3 with kernel 3.7.x, so the kernel-ml from ELREPO is affected by this.
Since the GlusterFS relies on HASH to process the metadata...

So the problem I had is to find a kernel new enough to correctly detect multiple USB volumes on drobo, while old enough to have working ext3 HASH with GlusterFS.
It turned out that the kernel.org 3.4.27 version is OK.
I just compile this kernel on my own, since there's no ready RPM found.
How to compiling kernel.org kernels on CentOS can be found here.

1 comment:

Mike Chen said...

In theory, we can create a loop file on the Drobo ext3 volume, mount the loop file as XFS to avoid the kernel problem.
But creating such big loop file on Drobo will take some time, probably for days... plus such complex mounting pattern will be difficult to manage.