[Gluster-devel] nufa.limits.min-free-disk

Amar S. Tumballi amar at zresearch.com
Tue Dec 11 19:06:32 UTC 2007


Hi Albert,
 I just cross checked behavior of nufa scheduler. Its working fine for me.

 The expected behavior is that after the given 'limits.min-free-disk n%" the
new files created are created in 'round-robin' pattern.

Regards,
Amar

PS: To test you don't need to fill nodes till it fills upto 95%, instead
give the min-free-disk option as high as it is currently.

On Dec 11, 2007 8:31 PM, Albert Shih <Albert.Shih at obspm.fr> wrote:

>  Le 07/12/2007 à 17:44:43+0100, Albert Shih a écrit
> Hi all
> >
>
> I come back with my problem.
>
> I've make many tests and the result is same.
>
> > I've put into my gluster-client config
> >
> > volume node1
> >   type storage/posix
> >   option directory /_glusterfs
> > end-volume
> >
> > volume node2
> >   type protocol/client
> >   option transport-type tcp/client     # for TCP/IP transport
> >   option remote-host x.y.z.t
> >   option transport-timeout 30
> >   option remote-subvolume brick
> > end-volume
> >
> > volume node3
> > etc...
> >
> > volume unify
> >   type cluster/unify
> >     subvolumes node1....node18
> >     option scheduler nufa
> >     option nufa.local-volume-name node1
> >     option nufa.limits.min-free-disk 5%
> >     option namespace ns
> > end-volume
> >
> > But....it's not working. Event the only left 1% gluster always write on
> > local disk. He jump to another node when they left...nothing.
>
> Well let me explain what kind a test I've make.
>
> On one node I write enougth file to make the local file system full at 95
> % (of 125Go)
> After that I continue to write small file (1Go) in my glusterfs partition
> and event
> when the local-disk is full at 98% when I start to write a new file It's
> continu to write on local
> disk
>
> Unfortunaly I'm not a developper I'm going to check in nufa.c source code
> and I don't understand much (but I've see the nufa.limits-min-free-disk is
> in % and not on GB or something like that). But in nufa.c in this block
> I've add
>
>  if (op_ret == 0) {
>    percent = (trav_stats->free_disk * 100) / trav_stats->total_disk_size;
> ***********
>        gf_log ("nufa", GF_LOG_ERROR, "percent at %d", percent);
> ***********
>    if (nufa_struct->array[idx].free_disk > percent) {
>      if (nufa_struct->array[idx].eligible)
>        gf_log ("nufa", GF_LOG_CRITICAL,
>                "node \"%s\" is _almost_ full",
>                nufa_struct->array[idx].xl->name);
>      nufa_struct->array[idx].eligible = 0;
>    } else {
>      nufa_struct->array[idx].eligible = 1;
>    }
>  } else {
>    nufa_struct->array[idx].eligible = 0;
>  }
>
> restart my glusterfs with log and I've seen the calculation of percent is
> correct but what's I don't understand is when this calculation is make.
> Because I've just one group of the log with my «special» add sometime
> after
> I umount/remount my glusterfs partition. And never after that even when
> the
> disk is full at 95%, 98%, 99%. Maybe it's normal (I'm really not a
> developper).
>
> Anyone have a solution ? or make nufa.limits working ?
>
> Regards.
>
> JAS
>
>
> --
> Albert SHIH
> Observatoire de Paris Meudon
> SIO batiment 15
> Heure local/Local time:
> Mar 11 déc 2007 15:48:00 CET
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>



-- 
Amar Tumballi
Gluster/GlusterFS Hacker
[bulde on #gluster/irc.gnu.org]
http://www.zresearch.com - Commoditizing Supercomputing and Superstorage!


More information about the Gluster-devel mailing list