Nambiar, Vikas
2010-Nov-22 07:41 UTC
[Gluster-users] Facing issue with a specific scenario - Distribute over replicate translator
Hi , Im using Glusterfs . Please find my gluster client configuration in the bottom of this mail. I am using Distribute translator over the replicate . My setup is as follows. Servers - S1,S2,S3,S4 Replicate R1 over S1 and S2. Replicate R2 over S3 and S4. Distribute D1 over R1 and R2 Clients are put on 2 machine C1 and C2 with the above setup. During tests im facing a specific issue. Putting down the scenario below. - Create a Directory /Dir1 in the root filesystem on client. - Create a file[I used touch] /Dir1/a.txt. - Shutdown server S1. - Move the Directory /Dir1 to /Dir2. - Create a new Directory /Dir1. - Create a new File /Dir1/b.txt. - Now Start Server S1. - Do an "ls -la" on the client to initiate the afr - autohealing. Below are the results I am observing: - The new Directory Dir1 sometimes shows both a.txt and b.txt . Expected is just b.txt. - The new Directory Dir1 shows only a.txt . The b.txt file is entirely missing. These are random results. My expected result is : /Dir1/b.txt /Dir2/a.txt Please have look . Seems like autoheal is not able to figureout the actual events. Also do let me know if my configs are wrong. Tx Vikas Client Config file: -------------------- volume 172.26.98.24-1 type protocol/client option transport-type tcp option remote-host 172.26.98.24 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume 172.26.98.25-1 type protocol/client option transport-type tcp option remote-host 172.26.98.25 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume 172.26.98.26-1 type protocol/client option transport-type tcp option remote-host 172.26.98.26 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume 172.26.98.27-1 type protocol/client option transport-type tcp option remote-host 172.26.98.27 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume replicate-1 type cluster/replicate subvolumes 172.26.98.24-1 172.26.98.25-1 end-volume volume replicate-2 type cluster/replicate subvolumes 172.26.98.26-1 172.26.98.27-1 end-volume volume distribute-1 type cluster/distribute lookup-unhashed yes subvolumes replicate-1 replicate-2 end-volume #volume stripe # type cluster/stripe # option block-size 1MB # subvolumes replicate-1 replicate-2 replicate-3 #end-volume volume writebehind type performance/write-behind option cache-size 4MB subvolumes distribute-1 end-volume
Vikas R
2010-Nov-22 07:53 UTC
[Gluster-users] Facing issue with a specific scenario - Distribute over replicate translator
Hi , Im using Glusterfs . Please find my gluster client configuration in the bottom of this mail. I am using Distribute translator over the replicate . My setup is as follows. Servers ? S1,S2,S3,S4 Replicate R1 over S1 and S2. Replicate R2 over S3 and S4. Distribute D1 over R1 and R2 Clients are put on 2 machine C1 and C2 with the above setup. During tests im facing a specific issue. Putting down the scenario below. - Create a Directory /Dir1 in the root filesystem on client. - Create a file[I used touch] /Dir1/a.txt. - Shutdown server S1. - Move the Directory /Dir1 to /Dir2. - Create a new Directory /Dir1. - Create a new File /Dir1/b.txt. - Now Start Server S1. - Do an ?ls ?la? on the client to initiate the afr ? autohealing. Below are the results I am observing: - The new Directory Dir1 sometimes shows both a.txt and b.txt . Expected is just b.txt. - The new Directory Dir1 shows only a.txt . The b.txt file is entirely missing. These are random results. My expected result is : /Dir1/b.txt /Dir2/a.txt Please have look . Seems like autoheal is not able to figureout the actual events. Also do let me know if my configs are wrong. Tx Vikas Client Config file: -------------------- volume 172.26.98.24-1 type protocol/client option transport-type tcp option remote-host 172.26.98.24 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume 172.26.98.25-1 type protocol/client option transport-type tcp option remote-host 172.26.98.25 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume 172.26.98.26-1 type protocol/client option transport-type tcp option remote-host 172.26.98.26 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume 172.26.98.27-1 type protocol/client option transport-type tcp option remote-host 172.26.98.27 option transport.socket.nodelay on option transport.remote-port 6996 option remote-subvolume brickex end-volume volume replicate-1 type cluster/replicate subvolumes 172.26.98.24-1 172.26.98.25-1 end-volume volume replicate-2 type cluster/replicate subvolumes 172.26.98.26-1 172.26.98.27-1 end-volume volume distribute-1 type cluster/distribute lookup-unhashed yes subvolumes replicate-1 replicate-2 end-volume #volume stripe # type cluster/stripe # option block-size 1MB # subvolumes replicate-1 replicate-2 replicate-3 #end-volume volume writebehind type performance/write-behind option cache-size 4MB subvolumes distribute-1 end-volume