[Gluster-users] Problems with files not being copied into GlusterFS
Roland Rabben
roland at jotta.no
Mon Aug 30 09:58:04 UTC 2010
I have a very serious problem that I need the communitys response to.
My web application recieves uploaded files and copies them into the
GlusterFS distributed file system. Now recently it looks like files aren't
copied into GlusterFS, and there are no error messages in GlusterFS client
or server logs. As far as my web application is concerned, everything is OK
during copy. But the files does not exist in GlusterFS after copy. I have
spent a lot of time debugging my web-app without finding an issue with it.
I have tried to set log-level=DEBUG but no errors are printed in the logs. I
am running GlusterFS 3.0.5 on Ubuntu 9.0.4. My GlusterFS config is
distributed and replicated.
I am using two separate Gluster file systems. FS1 consists of two servers
with 36 disks each. They are all exposed to GlusterFS. I have feedback from
the community that this is not an optimal setup, and that i should use RAID
or LVM to join these disk before I expose them to GlusterFS. The servers
CPU's are spiking at 6-700%.
In FS2 I have 4 servers with the same configuration that does not show this
problem. These servers have 12 disks each. When I use FS2 all copies are
completed successfully without problems.
So to me it looks like GlusterFS on FS1 is wrongly reporting copy errors as
successful copies. The same web-app have no problems when it uses FS2.
Som to my questions:
1. What is the best way to debug this problem?
2. What tests can I run on my GlusterFS system during production to verify
that everything is working under load?
3. Is this a known problem?
Here is an examle of my client config file for FS1:
# The remote servers
# DN-004
volume dn-004-01
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-01
end-volume
volume dn-004-02
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-02
end-volume
volume dn-004-03
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-03
end-volume
volume dn-004-04
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-04
end-volume
volume dn-004-05
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-05
end-volume
volume dn-004-06
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-06
end-volume
volume dn-004-07
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-07
end-volume
volume dn-004-08
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-08
end-volume
volume dn-004-09
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-09
end-volume
volume dn-004-10
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-10
end-volume
volume dn-004-11
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-11
end-volume
volume dn-004-12
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-12
end-volume
volume dn-004-13
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-13
end-volume
volume dn-004-14
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-14
end-volume
volume dn-004-15
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-15
end-volume
volume dn-004-16
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-16
end-volume
volume dn-004-17
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-17
end-volume
volume dn-004-18
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-18
end-volume
volume dn-004-19
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-19
end-volume
volume dn-004-20
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-20
end-volume
volume dn-004-21
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-21
end-volume
volume dn-004-22
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-22
end-volume
volume dn-004-23
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-23
end-volume
volume dn-004-24
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-24
end-volume
volume dn-004-25
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-25
end-volume
volume dn-004-26
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-26
end-volume
volume dn-004-27
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-27
end-volume
volume dn-004-28
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-28
end-volume
volume dn-004-29
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-29
end-volume
volume dn-004-30
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-30
end-volume
volume dn-004-31
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-31
end-volume
volume dn-004-32
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-32
end-volume
volume dn-004-33
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-33
end-volume
volume dn-004-34
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-34
end-volume
volume dn-004-35
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-35
end-volume
volume dn-004-36
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-004
option remote-subvolume brick-36
end-volume
# DN-005
volume dn-005-01
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-01
end-volume
volume dn-005-02
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-02
end-volume
volume dn-005-03
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-03
end-volume
volume dn-005-04
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-04
end-volume
volume dn-005-05
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-05
end-volume
volume dn-005-06
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-06
end-volume
volume dn-005-07
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-07
end-volume
volume dn-005-08
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-08
end-volume
volume dn-005-09
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-09
end-volume
volume dn-005-10
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-10
end-volume
volume dn-005-11
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-11
end-volume
volume dn-005-12
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-12
end-volume
volume dn-005-13
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-13
end-volume
volume dn-005-14
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-14
end-volume
volume dn-005-15
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-15
end-volume
volume dn-005-16
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-16
end-volume
volume dn-005-17
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-17
end-volume
volume dn-005-18
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-18
end-volume
volume dn-005-19
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-19
end-volume
volume dn-005-20
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-20
end-volume
volume dn-005-21
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-21
end-volume
volume dn-005-22
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-22
end-volume
volume dn-005-23
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-23
end-volume
volume dn-005-24
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-24
end-volume
volume dn-005-25
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-25
end-volume
volume dn-005-26
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-26
end-volume
volume dn-005-27
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-27
end-volume
volume dn-005-28
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-28
end-volume
volume dn-005-29
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-29
end-volume
volume dn-005-30
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-30
end-volume
volume dn-005-31
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-31
end-volume
volume dn-005-32
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-32
end-volume
volume dn-005-33
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-33
end-volume
volume dn-005-34
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-34
end-volume
volume dn-005-35
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-35
end-volume
volume dn-005-36
type protocol/client
option transport-type tcp
option transport.socket.nodelay on
option remote-host dn-005
option remote-subvolume brick-36
end-volume
# Replicate data between the servers
# Use pairs, but swtich the order to distribute read load
volume repl-004-005-01
type cluster/replicate
subvolumes dn-004-01 dn-005-01
end-volume
volume repl-004-005-02
type cluster/replicate
subvolumes dn-004-02 dn-005-02
end-volume
volume repl-004-005-03
type cluster/replicate
subvolumes dn-004-03 dn-005-03
end-volume
volume repl-004-005-04
type cluster/replicate
subvolumes dn-004-04 dn-005-04
end-volume
volume repl-004-005-05
type cluster/replicate
subvolumes dn-004-05 dn-005-05
end-volume
volume repl-004-005-06
type cluster/replicate
subvolumes dn-004-06 dn-005-06
end-volume
volume repl-004-005-07
type cluster/replicate
subvolumes dn-004-07 dn-005-07
end-volume
volume repl-004-005-08
type cluster/replicate
subvolumes dn-004-08 dn-005-08
end-volume
volume repl-004-005-09
type cluster/replicate
subvolumes dn-004-09 dn-005-09
end-volume
volume repl-004-005-10
type cluster/replicate
subvolumes dn-004-10 dn-005-10
end-volume
volume repl-004-005-11
type cluster/replicate
subvolumes dn-004-11 dn-005-11
end-volume
volume repl-004-005-12
type cluster/replicate
subvolumes dn-004-12 dn-005-12
end-volume
volume repl-004-005-13
type cluster/replicate
subvolumes dn-004-13 dn-005-13
end-volume
volume repl-004-005-14
type cluster/replicate
subvolumes dn-004-14 dn-005-14
end-volume
volume repl-004-005-15
type cluster/replicate
subvolumes dn-004-15 dn-005-15
end-volume
volume repl-004-005-16
type cluster/replicate
subvolumes dn-004-16 dn-005-16
end-volume
volume repl-004-005-17
type cluster/replicate
subvolumes dn-004-17 dn-005-17
end-volume
volume repl-004-005-18
type cluster/replicate
subvolumes dn-004-18 dn-005-18
end-volume
volume repl-005-004-19
type cluster/replicate
subvolumes dn-005-19 dn-004-19
end-volume
volume repl-005-004-20
type cluster/replicate
subvolumes dn-005-20 dn-004-20
end-volume
volume repl-005-004-21
type cluster/replicate
subvolumes dn-005-21 dn-004-21
end-volume
volume repl-005-004-22
type cluster/replicate
subvolumes dn-005-22 dn-004-22
end-volume
volume repl-005-004-23
type cluster/replicate
subvolumes dn-005-23 dn-004-23
end-volume
volume repl-005-004-24
type cluster/replicate
subvolumes dn-005-24 dn-004-24
end-volume
volume repl-005-004-25
type cluster/replicate
subvolumes dn-005-25 dn-004-25
end-volume
volume repl-005-004-26
type cluster/replicate
subvolumes dn-005-26 dn-004-26
end-volume
volume repl-005-004-27
type cluster/replicate
subvolumes dn-005-27 dn-004-27
end-volume
volume repl-005-004-28
type cluster/replicate
subvolumes dn-005-28 dn-004-28
end-volume
volume repl-005-004-29
type cluster/replicate
subvolumes dn-005-29 dn-004-29
end-volume
volume repl-005-004-30
type cluster/replicate
subvolumes dn-005-30 dn-004-30
end-volume
volume repl-005-004-31
type cluster/replicate
subvolumes dn-005-31 dn-004-31
end-volume
volume repl-005-004-32
type cluster/replicate
subvolumes dn-005-32 dn-004-32
end-volume
volume repl-005-004-33
type cluster/replicate
subvolumes dn-005-33 dn-004-33
end-volume
volume repl-005-004-34
type cluster/replicate
subvolumes dn-005-34 dn-004-34
end-volume
volume repl-005-004-35
type cluster/replicate
subvolumes dn-005-35 dn-004-35
end-volume
volume repl-005-004-36
type cluster/replicate
subvolumes dn-005-36 dn-004-36
end-volume
# The distribute translator
# Use hashing to distribute data to all subvolumes, stopping when there is
only 5% left on the disk
volume distribute
type cluster/distribute
option lookup-unhashed off
option min-free-disk 5%
subvolumes repl-004-005-01 repl-004-005-02 repl-004-005-03
repl-004-005-04 repl-004-005-05 repl-004-005-06 repl-004-005-07
repl-004-005-08 repl-004-005-09 repl-004-005-10 repl-004-005-11
repl-004-005-12 repl-004-005-13 repl-004-005-14 repl-004-005-15
repl-004-005-16 repl-004-005-17 repl-004-005-18 repl-005-004-19
repl-005-004-20 repl-005-004-21 repl-005-004-22 repl-005-004-23
repl-005-004-24 repl-005-004-25 repl-005-004-26 repl-005-004-27
repl-005-004-28 repl-005-004-29 repl-005-004-30 repl-005-004-31
repl-005-004-32 repl-005-004-33 repl-005-004-34 repl-005-004-35
repl-005-004-36
end-volume
# Enable write-behind to decrease write latency
#volume wb
# type performance/write-behind
# option flush-behind on
# option cache-size 64MB
# subvolumes distribute
#end-volume
volume cache
type performance/io-cache
option cache-size 64MB
subvolumes distribute
end-volume
### Add io-threads for parallel requisitions
volume iothreads
type performance/io-threads
option thread-count 8 # default is 16
subvolumes cache
end-volume
Thanks
Roland Rabben
Founder & CEO Jotta AS
Cell: +47 90 85 85 39
Phone: +47 21 04 29 00
Email: roland at jotta.no
More information about the Gluster-users
mailing list