Bug 1437747 - remove device fails when the device being removed has 200 volumes in it
Summary: remove device fails when the device being removed has 200 volumes in it
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: heketi
Version: cns-3.5
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: Ramakrishna Reddy Yekulla
QA Contact: krishnaram Karthick
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-03-31 05:31 UTC by krishnaram Karthick
Modified: 2018-09-18 08:00 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-06 09:31:11 UTC
Embargoed:


Attachments (Terms of Use)

Description krishnaram Karthick 2017-03-31 05:31:24 UTC
Description of problem:

device remove fails when it has over 200 volumes carved from it although there is a free device available for replacement.

Error: Failed to remove device, error: Unable to replace brick 10.70.46.165:/var/lib/heketi/mounts/vg_2da562dbb930fc8d90f78f70075f8c2a/brick_015f4d4b0a1fe112807c36424993e06d/brick with 10.70.46.165:/var/lib/heketi/mounts/vg_03279ea02e78439382a985db0c4d92ed/brick_d22e5522be2657b399324e5f1cd4f81a/brick for volume vol_3c0d06f8338e11ff98c1de5bf1315acc

sh-4.2# gluster vol status vol_3c0d06f8338e11ff98c1de5bf1315acc
Status of volume: vol_3c0d06f8338e11ff98c1de5bf1315acc
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick 10.70.46.165:/var/lib/heketi/mounts/v
g_03279ea02e78439382a985db0c4d92ed/brick_d2
2e5522be2657b399324e5f1cd4f81a/brick        N/A       N/A        N       N/A  
Brick 10.70.47.21:/var/lib/heketi/mounts/vg
_775747b65771ac369114ce29bf62b12c/brick_ded
fff49941c5960ccc8321426e65ccf/brick         49350     0          Y       97136
Brick 10.70.47.51:/var/lib/heketi/mounts/vg
_71049fe1ea71ce342fa4110c04cc7f98/brick_130
706b8fe642159156bdf428c55f3df/brick         49350     0          Y       28808
Self-heal Daemon on localhost               N/A       N/A        Y       100861
Self-heal Daemon on 10.70.47.21             N/A       N/A        Y       98156
Self-heal Daemon on 10.70.47.51             N/A       N/A        Y       29818
 
Task Status of Volume vol_3c0d06f8338e11ff98c1de5bf1315acc
------------------------------------------------------------------------------
There are no active volume tasks

The failure seems to be from the gluster (brick crash?). however, we should understand if having 200 volumes under a device is causing this failure. If yes, we must define the number of volumes a device can hold.

snippet of brick log from 10.70.46.165
=======================================
[2017-03-30 15:32:18.997153] I [rpc-clnt.c:1999:rpc_clnt_reconfig] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-client-2: changing port to 49350 (from 0)
[2017-03-30 15:32:18.999869] E [socket.c:2314:socket_connect_finish] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-client-1: connection to 10.70.47.21:49350 failed (No route to host)
[2017-03-30 15:32:18.999910] W [MSGID: 108001] [afr-common.c:4773:afr_notify] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-replicate-0: Client-quorum is not met
[2017-03-30 15:32:19.002853] E [socket.c:2314:socket_connect_finish] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-client-2: connection to 10.70.47.51:49350 failed (No route to host)
[2017-03-30 15:32:19.002882] E [MSGID: 108006] [afr-common.c:4684:afr_notify] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-replicate-0: All subvolumes are down. Going offline until atleast one of them comes back up.
[2017-03-30 15:32:19.007244] I [fuse-bridge.c:5241:fuse_graph_setup] 0-fuse: switched to graph 0
[2017-03-30 15:32:19.007517] I [fuse-bridge.c:4153:fuse_init] 0-glusterfs-fuse: FUSE inited with protocol versions: glusterfs 7.24 kernel 7.22
[2017-03-30 15:32:19.007666] I [MSGID: 108006] [afr-common.c:4827:afr_local_init] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-replicate-0: no subvolumes up
[2017-03-30 15:32:19.008165] W [fuse-resolve.c:132:fuse_resolve_gfid_cbk] 0-fuse: 00000000-0000-0000-0000-000000000001: failed to resolve (Transport endpoint is not connected)
[2017-03-30 15:32:19.008183] W [fuse-bridge.c:3174:fuse_setxattr_resume] 0-glusterfs-fuse: 2: SETXATTR 00000000-0000-0000-0000-000000000001/1 (trusted.replace-brick) resolution failed
[2017-03-30 15:32:19.150804] I [fuse-bridge.c:5082:fuse_thread_proc] 0-fuse: unmounting /tmp/mntc7tn20
[2017-03-30 15:32:19.008158] I [MSGID: 108006] [afr-common.c:4827:afr_local_init] 0-vol_3c0d06f8338e11ff98c1de5bf1315acc-replicate-0: no subvolumes up
[2017-03-30 15:32:19.151333] W [glusterfsd.c:1288:cleanup_and_exit] (-->/lib64/libpthread.so.0(+0x7dc5) [0x7fd237548dc5] -->/usr/sbin/glusterfs(glusterfs_sigwaiter+0xe5) [0x7fd238bdcc45] -->/usr/sbin/glusterfs(cleanup_and_exit+0x6b) [0x7fd238bdcabb] ) 0-: received signum (15), shutting down
[2017-03-30 15:32:19.151379] I [fuse-bridge.c:5793:fini] 0-fuse: Unmounting '/tmp/mntc7tn20'.


Version-Release number of selected component (if applicable):
heketi-client-4.0.0-4.el7rhgs.x86_64

How reproducible:
1/1

Steps to Reproduce:
1. On a CNS system, have 200 volumes from a single device
2. Run remove device on this device

Actual results:
remove device failed

Expected results:
remove device should go through

Additional info:
logs shall be attached shortly

Comment 11 Humble Chirammal 2017-04-06 09:31:11 UTC
RCA: It has seen that only 100 ports were opened which caused glusterd to fail to communicate with brick process thus the failure in remove device. The documented port range is from 49152-49664, this atleast wil satisfy 250 , 300 volumes. If at all we are claiming more than this number of volumes we can update the doc. As we are confirmed with the RCA by manual verification in the same setup, I am closing this bug for now.


Note You need to log in before you can comment on or make changes to this bug.