[Gluster-users] Extremely high load after 100% full bricks

Dan Bretherton d.a.bretherton at reading.ac.uk
Mon Oct 22 13:03:14 UTC 2012


Dear All-
A replicated pair of servers in my GlusterFS 3.3.0 cluster have been 
experiencing extremely high load for the past few days after a 
replicated brick pair became 100% full.  The GlusterFS related load on 
one of the servers was fluctuating at around 60, and this high load 
would swap to the other server periodically.  When I noticed the full 
bricks I quickly extended the volume by creating new bricks on another 
server, and manually moved some data off the full bricks to create space 
for write operations.  The fix-layout operation seemed to start normally 
but the load then increased even further.  The server with the high load 
(then up to about 80) became very slow to respond and I noticed a lot of 
errors in the VOLNAME-rebalance.log files like the following.

[2012-10-22 00:35:52.070364] W 
[socket.c:1512:__socket_proto_state_machine] 0-atmos-client-10: reading 
from socket failed. Error (Transport endpoint is not connected), peer 
(192.171.166.92:24052)
[2012-10-22 00:35:52.070446] E [rpc-clnt.c:373:saved_frames_unwind] 
(-->/usr/lib64/libgfrpc.so.0(rpc_clnt_notify+0xe7) [0x2b3fd905c547] 
(-->/usr/lib64/libgfrpc.so.0(rpc_clnt_connection_cleanup+0xb2) 
[0x2b3fd905bf42] (-->/usr/lib64/libgfrpc.so.0(saved_frames_destroy+0xe) 
[0x2b3fd905bbfe]))) 0-atmos-client-10: forced unwinding frame 
type(GlusterFS 3.1) op(INODELK(29)) called at 2012-10-22 00:35:45.454529 
(xid=0x285951x)

There have also been occasional errors like the following, referring to 
the pair of bricks that became 100% full.

[2012-10-22 01:32:52.827044] W [client3_1-fops.c:5517:client3_1_readdir] 
0-atmos-client-15:  (00000000-0000-0000-0000-000000000000) remote_fd is 
-1. EBADFD
[2012-10-22 09:49:21.103066] W 
[client3_1-fops.c:5628:client3_1_readdirp] 0-atmos-client-14:  
(00000000-0000-0000-0000-000000000000) remote_fd is -1. EBADFD

The log files from the bricks that were 100% full have a lot of these 
errors in, from the period after I freed up some space on them.

[2012-10-22 00:40:56.246075] E [server.c:176:server_submit_reply] 
(-->/usr/lib64/libglusterfs.so.0(default_inodelk_cbk+0xa4) 
[0x361da23e84] 
(-->/usr/lib64/glusterfs/3.3.0/xlator/debug/io-stats.so(io_stats_inodelk_cbk+0xd8) 
[0x2aaaabd74d48] 
(-->/usr/lib64/glusterfs/3.3.0/xlator/protocol/server.so(server_inodelk_cbk+0x10b) 
[0x2aaaabf9742b]))) 0-: Reply submission failed
[2012-10-22 00:40:56.246117] I 
[server-helpers.c:629:server_connection_destroy] 0-atmos-server: 
destroyed connection of 
bdan10.nerc-essc.ac.uk-13609-2012/10/21-23:04:53:323865-atmos-client-15-0

All these errors have only occurred on the replicated pair of servers 
that had suffered from 100% full bricks.  I don't know if the errors are 
being caused by the high load (resulting in poor communication with 
other peers for example) or if the high load is the result of 
replication and/or distribution errors.  I have tried various things to 
bring the load down, including un-mounting the volume and stopping the 
fix-layout operation, but the only thing that works is stopping the 
volume. Obviously I can't do that for long because people need to use 
the data, but with the load as high as it is data access is very slow 
and users are experiencing a lot of temporary I/O errors.   Bricks from 
several volumes are on those servers so everybody in the department is 
being affected by this problem.  I thought at first that the load was 
being caused by self-heal operations fixing errors caused by write 
failures that occurred when the bricks were full, but it is glusterfs 
threads that are causing the high load, not glustershd.

Can anyone suggest a way to bring the load down so people can access the 
data properly again?  Also, can I trust GlusterFS to eventually 
self-heal the errors causing the above error messages?

Regards,
-Dan.



More information about the Gluster-users mailing list