[Gluster-users] Replication for missing file
Keith Freedman
freedman at FreeFormIT.com
Fri Jan 16 11:39:01 UTC 2009
At 03:22 AM 1/16/2009, Krishna Srinivas wrote:
>In the latest AFR code, the healing code is in lookup and not in open
>call flow. Basically 'lookup' is done just before any kind of access
>to that file (stat, open, chmod, chown, rm, rename). So AFR heals the
>file when you try to access. so "ls -lR" command will trigger the heal
>of the entire directory structure.
this behavior is extremely handy from the perspective of data
integrity, however, it's disastrous from the perspective of IO
performance from an applications point of view.
the idea that an application should have to wait while file
completely unrelated to it's needs are being auto-healed is an
unnecessary one. There's got to be a way to handle this. The
replication should happen in the background, and gluster should be
smart enough to first auto-heal the file in question return control
back to the requesting process and then continue healing in the background.
in the case of a directory, the listing of the directory can be
returned without actually copying over all the files therein. This
should be a relatively quick operation.
Lets take an example case of a repository for large video
files. each one being 1GB.
I have a server down for a few hours, during which time 300 of these
files have been updated.
now all I need to know is which ones changed recently (say, ls -alrtu
| tail -5) . I block waiting for 300GB of data to be transferred
when I only need a directory listing?
similarly, if I get a request for just one of those files, I have to
wait for 300GB of data to move around before I can get access to the
only 1GB that matters at that time?
If this is only temporary until the new healing methodology
previously discussed on the list is in place, I suppose it's
liveable, but if this is the way it's going to continue to work, I
can't imagine it being useful in any practical real-world situations
with either large directories or large files with a normal level of
file updates/modifications.
Keith
>Krishna
>
>On Thu, Jan 15, 2009 at 9:35 AM, Keith Freedman
><freedman at freeformit.com> wrote:
> > At 11:52 AM 1/14/2009, Gluster Novice wrote:
> >>Sorry to bug you with another newbie question :
> >>With regard to file replication, does Gluster FS repair a damaged
> >>file *only* when someone tries to read it ?
> >
> > yes (or, I believe when the directory containing the missing
> file is read).
> >
> >>For example, let's say the filesystem is supposed to maintain 3
> >>copies of the file and one of the copies is lost / removed from the
> >>system for whatever reason, then will the missing copy be created
> >>the first time only when someone reads the file ?
> >
> > if you need to insure syncronicity after a failure, there is a find
> > command in the wiki that will force auto-healing of the whole filesystem
> > find . -exec head -1 () \; > /dev/null
> > (I think that's it, it may not be syntactically valid)
> >
> >
> >>Thanks again for your help!
> >>
> >>_______________________________________________
> >>Gluster-users mailing list
> >>Gluster-users at gluster.org
> >>http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users
> >
> >
> > _______________________________________________
> > Gluster-users mailing list
> > Gluster-users at gluster.org
> > http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users
> >
More information about the Gluster-users
mailing list