[Gluster-users] Slow performance and Stale NFS file handle on 3.0.3
James Burgess
james at unwireiraq.com
Tue Apr 13 05:49:07 UTC 2010
Hi All,
We're running a 10 node cluster in raid1 configuration with each node
exporting 4 disks and are seeing several issues right now. We recently
upgraded from 2.0.7 to 3.03.
First, we are seeing major performance degradation but without a clear
bottleneck of either network i/o, cpu, or disk i/o. We see a number of
processes trying to access the mount stuck in uninterruptible sleep. We
also see the directory structure being replicated to the new nodes whenever
a stat call is made to an existing directory; this seems to be the source of
the slowness, but again we don't see network/cpu/disk as a bottleneck. We
have 8 clients accessing the cluster with a write-heavy load.
Second, we are receiving many "Stale NFS file handle" errors in the logs.
These errors are essentially causing reads and writes to fail.
[2010-04-12 22:36:56] W [fuse-bridge.c:722:fuse_attr_cbk] glusterfs-fuse:
2880: LOOKUP() / => -1 (Stale NFS file handle)
[2010-04-12 22:36:56] W [fuse-bridge.c:722:fuse_attr_cbk] glusterfs-fuse:
2881: LOOKUP() / => -1 (Stale NFS file handle)
[2010-04-12 22:36:56] W [fuse-bridge.c:722:fuse_attr_cbk] glusterfs-fuse:
2882: LOOKUP() / => -1 (Stale NFS file handle)
[2010-04-12 22:36:56] W [fuse-bridge.c:722:fuse_attr_cbk] glusterfs-fuse:
2883: LOOKUP() / => -1 (Stale NFS file handle)
[2010-04-12 22:36:56] W [fuse-bridge.c:722:fuse_attr_cbk] glusterfs-fuse:
2886: LOOKUP() / => -1 (Stale NFS file handle)
Does anyone have any thoughts on how we can fix these problems? The new
stale file handle errors have started since upgrading to 3.0.3, but the
performance degradation was happening on 2.0.
Any help is greatly appreciated.
Our server config is as follows:
#####################################
### GlusterFS Server Volume File ##
#####################################
volume posix1
type storage/posix
option directory /srv/disk1
end-volume
volume posix2
type storage/posix
option directory /srv/disk2
end-volume
volume posix3
type storage/posix
option directory /srv/disk3
end-volume
volume posix4
type storage/posix
option directory /srv/disk4
end-volume
volume locks1
type features/locks
subvolumes posix1
end-volume
volume locks2
type features/locks
subvolumes posix2
end-volume
volume locks3
type features/locks
subvolumes posix3
end-volume
volume locks4
type features/locks
subvolumes posix4
end-volume
volume threads1
type performance/io-threads
option thread-count 64
subvolumes locks1
end-volume
volume threads2
type performance/io-threads
option thread-count 64
subvolumes locks2
end-volume
volume threads3
type performance/io-threads
option thread-count 64
subvolumes locks3
end-volume
volume threads4
type performance/io-threads
option thread-count 64
subvolumes locks4
end-volume
volume server
type protocol/server
option transport-type tcp
option transport.socket.nodelay on
subvolumes threads1 threads2 threads3 threads4
option auth.addr.threads1.allow *
option auth.addr.threads2.allow *
option auth.addr.threads3.allow *
option auth.addr.threads4.allow *
end-volume
Our client config is as follows:
#####################################################################
## Remote Servers
## remote 4 (192.168.150.184)
volume remote4-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.184
option remote-subvolume threads1
end-volume
volume remote4-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.184
option remote-subvolume threads2
end-volume
volume remote4-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.184
option remote-subvolume threads3
end-volume
volume remote4-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.184
option remote-subvolume threads4
end-volume
## end remote 4
## remote 5 (192.168.150.185)
volume remote5-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.185
option remote-subvolume threads1
end-volume
volume remote5-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.185
option remote-subvolume threads2
end-volume
volume remote5-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.185
option remote-subvolume threads3
end-volume
volume remote5-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.185
option remote-subvolume threads4
end-volume
## end remote 5
## remote 6 (192.168.150.186)
volume remote6-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.186
option remote-subvolume threads1
end-volume
volume remote6-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.186
option remote-subvolume threads2
end-volume
volume remote6-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.186
option remote-subvolume threads3
end-volume
volume remote6-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.186
option remote-subvolume threads4
end-volume
## end remote 6
## remote 7 (192.168.150.187)
volume remote7-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.187
option remote-subvolume threads1
end-volume
volume remote7-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.187
option remote-subvolume threads2
end-volume
volume remote7-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.187
option remote-subvolume threads3
end-volume
volume remote7-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.187
option remote-subvolume threads4
end-volume
## end remote 7
## remote 8 (192.168.150.188)
volume remote8-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.188
option remote-subvolume threads1
end-volume
volume remote8-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.188
option remote-subvolume threads2
end-volume
volume remote8-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.188
option remote-subvolume threads3
end-volume
volume remote8-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.188
option remote-subvolume threads4
end-volume
## end remote 8
## remote 9 (192.168.150.189)
volume remote9-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.189
option remote-subvolume threads1
end-volume
volume remote9-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.189
option remote-subvolume threads2
end-volume
volume remote9-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.189
option remote-subvolume threads3
end-volume
volume remote9-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.189
option remote-subvolume threads4
end-volume
## end remote 9
## remote 10 (192.168.150.190)
volume remote10-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.190
option remote-subvolume threads1
end-volume
volume remote10-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.190
option remote-subvolume threads2
end-volume
volume remote10-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.190
option remote-subvolume threads3
end-volume
volume remote10-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.190
option remote-subvolume threads4
end-volume
## end remote 10
## remote 11 (192.168.150.191)
volume remote11-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.191
option remote-subvolume threads1
end-volume
volume remote11-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.191
option remote-subvolume threads2
end-volume
volume remote11-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.191
option remote-subvolume threads3
end-volume
volume remote11-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.191
option remote-subvolume threads4
end-volume
## end remote 11
## remote 12 (192.168.150.192)
volume remote12-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.192
option remote-subvolume threads1
end-volume
volume remote12-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.192
option remote-subvolume threads2
end-volume
volume remote12-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.192
option remote-subvolume threads3
end-volume
volume remote12-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.192
option remote-subvolume threads4
end-volume
## end remote 12
## remote 13 (192.168.150.193)
volume remote13-1
type protocol/client
option transport-type tcp
option remote-host 192.168.150.193
option remote-subvolume threads1
end-volume
volume remote13-2
type protocol/client
option transport-type tcp
option remote-host 192.168.150.193
option remote-subvolume threads2
end-volume
volume remote13-3
type protocol/client
option transport-type tcp
option remote-host 192.168.150.193
option remote-subvolume threads3
end-volume
volume remote13-4
type protocol/client
option transport-type tcp
option remote-host 192.168.150.193
option remote-subvolume threads4
end-volume
## end remote 13
#####################################################################
## Replication pairs
## remote 4+5
volume pair4-5-1
type cluster/replicate
subvolumes remote4-1 remote5-1
end-volume
volume pair4-5-2
type cluster/replicate
subvolumes remote4-2 remote5-2
end-volume
volume pair4-5-3
type cluster/replicate
subvolumes remote4-3 remote5-3
end-volume
volume pair4-5-4
type cluster/replicate
subvolumes remote4-4 remote5-4
end-volume
## End remote 4+5
## remote 6+7
volume pair6-7-1
type cluster/replicate
subvolumes remote6-1 remote7-1
end-volume
volume pair6-7-2
type cluster/replicate
subvolumes remote6-2 remote7-2
end-volume
volume pair6-7-3
type cluster/replicate
subvolumes remote6-3 remote7-3
end-volume
volume pair6-7-4
type cluster/replicate
subvolumes remote6-4 remote7-4
end-volume
## End remote 6+7
## remote 8+9
volume pair8-9-1
type cluster/replicate
subvolumes remote8-1 remote9-1
end-volume
volume pair8-9-2
type cluster/replicate
subvolumes remote8-2 remote9-2
end-volume
volume pair8-9-3
type cluster/replicate
subvolumes remote8-3 remote9-3
end-volume
volume pair8-9-4
type cluster/replicate
subvolumes remote8-4 remote9-4
end-volume
## End remote 8+9
## remote 10+11
volume pair10-11-1
type cluster/replicate
subvolumes remote10-1 remote11-1
end-volume
volume pair10-11-2
type cluster/replicate
subvolumes remote10-2 remote11-2
end-volume
volume pair10-11-3
type cluster/replicate
subvolumes remote10-3 remote11-3
end-volume
volume pair10-11-4
type cluster/replicate
subvolumes remote10-4 remote11-4
end-volume
## End remote 10+11
## remote 12+13
volume pair12-13-1
type cluster/replicate
subvolumes remote12-1 remote13-1
end-volume
volume pair12-13-2
type cluster/replicate
subvolumes remote12-2 remote13-2
end-volume
volume pair12-13-3
type cluster/replicate
subvolumes remote12-3 remote13-3
end-volume
volume pair12-13-4
type cluster/replicate
subvolumes remote12-4 remote13-4
end-volume
## End remote 12+13
#####################################################################
## Unified filesystem
volume distribute
type cluster/distribute
option lookup-unhashed yes
option min-free-disk 2%
subvolumes pair4-5-1 pair4-5-2 pair4-5-3 pair4-5-4 pair6-7-1 pair6-7-2
pair6-7-3 pair6-7-4 pair8-9-1 pair8-9-2 pair8-9-3 pair8-9-4 pair10-11-1
pair10-11-2 pair10-11-3 pair10-11-4 pair12-13-1 pair12-13-2 pair12-13-3
pair12-13-4
end-volume
volume writebehind
type performance/write-behind
option cache-size 3MB
option flush-behind on
subvolumes distribute
end-volume
volume io-cache
type performance/io-cache
option cache-size 128MB
subvolumes writebehind
end-volume
volume client
type performance/io-threads
option thread-count 64
subvolumes io-cache
end-volume
All nodes are running Ubuntu 9.04.
root at userdata12:/etc/glusterfs/glusterfs-upgrade# uname -a
Linux userdata12 2.6.28-18-server #59-Ubuntu SMP Thu Jan 28 02:25:03 UTC
2010 x86_64 GNU/Linux
Thanks,
James
More information about the Gluster-users
mailing list