[Gluster-devel] Choice of Translator question

Gareth Bult gareth at encryptec.net
Tue Dec 25 19:59:25 UTC 2007


Hi,

Thanks for that, but I'm afraid I'd already read it ... :(

The fundamental problem I have is with the method apparently employed by self-heal.

Here's what I'm thinking;

Take a 5G database sitting on an AFR with three copies.
Normal operation - three consistent replica's, no problem.

Issue # 1;
glusterfsd crashes (or is crashed) on one node.
That replica is immediately out of date as a result of continuous writes to the DB.

Question # 1;
When glusterfsd is restarted on the crashed node, how does the system know that node is out of date and should not be used for striped reads?

My assumption;
Because striped reads are per file and as a result, striping will not be applied to the database, hence there will be no read advantage obtained by putting the database on the filesystem .. ??

Question # 2;
Apart from closing the database and hence closing the file, how do we tell the crashed node that it needs to re-mirror the file?

Question # 3;
Mirroring a 5G file will take "some time" and happens when you re-open the file. While mirroring, the file is effectively locked.

Net effect;

a. To recover from a crash the DB needs a restart
b. On restart, the DB is down for the time taken to copy 5G between machines (over a minute)

>From an operational point of view, this doesn't fly .. am I missing something?

Also, it appears that I need to restart glusterfsd when I change the configuration files (i.e. to re-read them) which effectively crashes the node .. is there a way to re-read a config without crashing the node?
(on the assumption that as above, crashing a node is effectively "very" expensive...?)

Any help / advice would be much appreciated ..

Thanks,
Gareth.


----- Original Message -----
From: "Krishna Srinivas" <krishna at zresearch.com>
To: "Gareth Bult" <gareth at encryptec.net>, "gluster-devel" <gluster-devel at nongnu.org>
Sent: Tuesday, December 25, 2007 5:51:40 PM (GMT) Europe/London
Subject: Re: [Gluster-devel] Choice of Translator question

Hi Gareth,

http://www.gluster.org/docs/index.php/Understanding_AFR_Translator

Check out if it clears your doubts.
Yes you can use stripe over afr to minimize the selfhealing time. But it will
have management overhead. Mail back your doubts if you have any.

Regards
Krishna

On Dec 22, 2007 4:23 PM, Gareth Bult <gareth at encryptec.net> wrote:
> Hi,
>
> I'm using AFR to store a 1Gb database file and if I'm doing this correctly (?) it only mirrors the file when I shutdown the database server.
> i.e. it mirrors on the next file access following a file close .. (?)
>
> What I would "like" it to do is to mirror on a block write .. OR, just to mirror changed parts of the file.
>
> Is there any way to accomplish this, possibly using the stripe translator ?
>
> I've read through the documentation and spent much time playing around, but am failing to find the solution I'm looking for.
>
> I'm also running Xen instances mounted on a glusterfs/AFR, same sort of problem applies although this is less critical .. mirror only happens when I close down the instance .. when I restart the instance it completes a "heal" and copies the entire disk image before continuing.
>
> Can anyone help / explain ?
>
> Regards,
> Gareth.
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>






More information about the Gluster-devel mailing list