[Gluster-devel] Selfheal is not working?

Tomáš Siegl tomas.siegl at gmail.com
Thu Jul 17 13:15:25 UTC 2008


We are testing gluster and I have problem with AFR and self healing
files are not recovered
after delete.

We have set up 2 separate testing enviroments each with 6 storage
brick and 2 clients.

First enviroment is testing glusterfs--mainline-2.5--patch789
and second is testing glusterfs--mainline-3.0--patchXX.

There is Linux debian etch running inside XEN VM. We are
using tla to get glusterfs sources and building .deb package.

All physical machines are time synchronized by OpenNTP, Xen VMs are also
synchronized by XEN.

We are using following setup on client (there are 2 clients on each enviroment)

unify(afr1(brick1,brick4), afr2(brick2,brick5), afr3(brick3,brick6))
namespace is also afr-ed (brick1-ns,brick2-ns) on 2 bricks.
scheduler is rr

Here are config files for brick and will provide configs for
brick1, brick2 (hosting namespace)

brick3,4,5,6, (without namespace)


Now consider following scenario:

Fresh instalation of glusterfs on every brick and both clients (there
are 2 clients).
All directories are empty (6 bricks are using /home/export and 2
bricks are using /home/export-ns for namespace).
Clients mount glusterfs under directory /mnt/gluster

Step1: Client1:  cp test_file.txt /mnt/gluster/
Step2: Brick1 and Brick4: has test_file.txt in /mnt/gluster/ directory
Sept3: Client1: ls /mnt/gluster - test_file.txt is present

Step4: Brick1: rm /mnt/gluster/test_file.txt
Step5. Client1: cat /mnt/gluster/test_file.txt -> we will get contents
of file from brick4

Step6. Brick1 ls /home/export is empty. Selfheal not recovered file.

We also tested case when we shutdown glusterfs deamon on brick1, then
delete file and started again glusterfs.

Even if you append some data from client1 e.g. echo "....any data..."
>> /mnt/gluster/test_file.txt will not selfheal
file on brick1.

Here are logs from client1:

When we testing glusterfs--mainline-3.0--Patch238 on second enviroment
with the identical setup, files are not
selfheal after 'open'.

Is it bug or feature?

Best regards
Tomas Siegl

More information about the Gluster-devel mailing list