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@xxxxxxxx> 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@xxxxxxxxxx > 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!