On 01/28/2011 12:49 PM, Steve Wilson wrote:
I'm running a pair of replicated/distributed GlusterFS 3.1.2 servers, each with 8 bricks. Here's the command I used to create the data volume:

   gluster volume create post replica 2 transport tcp
   pablo:/gluster/01/brick stanley:/gluster/01/brick \
   pablo:/gluster/02/brick stanley:/gluster/02/brick \
   pablo:/gluster/03/brick stanley:/gluster/03/brick \
   pablo:/gluster/04/brick stanley:/gluster/04/brick \
   pablo:/gluster/05/brick stanley:/gluster/05/brick \
   pablo:/gluster/06/brick stanley:/gluster/06/brick \
   pablo:/gluster/07/brick stanley:/gluster/07/brick \
   pablo:/gluster/08/brick stanley:/gluster/08/brick

The clients mount the volume using the gluster FUSE client, again version 3.1.2. Since GlusterFS doesn't yet support exporting sub-directories directly (it does now for NFS, though, I believe), I mount the volume as:
    /net/.post-volume
and then bind mount a couple of lower sub-directories as:
    /net/post (bound to /net/.post-volume/home)
    /net/post-scratch (bound to /net/.post-volume/scratch)

I am using this volume for user home directories.

That's the background information... now for the problem. There are certain files that are almost guaranteed to go missing after less than a few hours of a user starting up a login session. We use Ubuntu with GDM as a login greeter and both KDE and Gnome desktops. Here are a few of the files that usually go missing:

   ls: .dmrc: No such file or directory
   ls: .pine-debug2: Invalid argument
   ls: .xsession-errors.old: No such file or directory
   ls: .recently-used.xbel: No such file or directory

Taking .dmrc, for example, I can stop the volume, then remove all occurrences of this file on all the bricks on both servers. Then start up the volume again, start the user session again, and after a period of time (I'm not sure how long), the file comes up missing again. When the file is missing, this is what it looks like on the bricks themselves:

server 1:

   root@stanley:/gluster# ls -l ./07/brick/home/stevew/.dmrc
   ---------T 1 stevew sysmgr 0 2011-01-28 08:24
   ./07/brick/home/stevew/.dmrc
   root@stanley:/gluster# ls -l ./02/brick/home/stevew/.dmrc
   -rw-r--r-- 1 stevew sysmgr 25 2011-01-28 08:25
   ./02/brick/home/stevew/.dmrc

server 2:

   root@pablo:/gluster# ls -l ./07/brick/home/stevew/.dmrc
   ---------T 1 stevew sysmgr 0 2011-01-28 08:24
   ./07/brick/home/stevew/.dmrc
   root@pablo:/gluster# ls -l ./02/brick/home/stevew/.dmrc
   -rw-r--r-- 1 stevew sysmgr 25 2011-01-28 08:25
   ./02/brick/home/stevew/.dmrc


Pertinent log messages are:

server 1:

   net-.post-volume.log:[2011-01-28 08:16:28.899544] W
   [fuse-bridge.c:2432:fuse_xattr_cbk] glusterfs-fuse: 6318974:
   GETXATTR() /home/stevew/.dmrc => -1 (Invalid argument)


server 2:

   net-.post-volume.log:[2011-01-28 08:10:58.74848] W
   [fuse-bridge.c:2432:fuse_xattr_cbk] glusterfs-fuse: 2428788:
   GETXATTR() /home/stevew/.dmrc => -1 (No such file or directory)


Any thoughts or ideas?

Thanks!

Steve



Yesterday I disabled the performance.stat-prefetch volume option and this has improved the situation greatly. I can now do a "ls -alR > /dev/null" and get no errors on the mounted volume.

Steve
_______________________________________________
Gluster-users mailing list
[email protected]
http://gluster.org/cgi-bin/mailman/listinfo/gluster-users

Reply via email to