Skip to content

Commit 105aa1d

Browse files
N BalachandranShyamsundarR
N Balachandran
authored andcommitted
Feature page for Rebalance Estimates
Change-Id: I086a9bfb15a47668fe28684e480d6230fd3e7811 Signed-off-by: N Balachandran <[email protected]> Reviewed-on: http://review.gluster.org/16119 Reviewed-by: Shyamsundar Ranganathan <[email protected]> Tested-by: Shyamsundar Ranganathan <[email protected]>
1 parent c6cce6a commit 105aa1d

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed

under_review/rebalance-estimates.md

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
Feature
2+
-------
3+
4+
Summary
5+
-------
6+
7+
Provide a user interface to determine when the rebalance process will complete
8+
9+
Owners
10+
------
11+
Nithya Balachandran <[email protected]>
12+
13+
14+
Current status
15+
--------------
16+
Patch being worked on.
17+
18+
19+
Related Feature Requests and Bugs
20+
---------------------------------
21+
https://bugzilla.redhat.com/show_bug.cgi?id=1396004
22+
Desc: RFE: An administrator friendly way to determine rebalance completion time
23+
24+
25+
Detailed Description
26+
--------------------
27+
The rebalance operation starts a rebalance process on each node of the volume.
28+
Each process scans the files and directories on the local subvols, fixes the layout
29+
for each directory and migrates files to their new hashed subvolumes based on the
30+
new layouts.
31+
32+
Currently we do not have any way to determine how long the rebalance process will
33+
take to complete.
34+
35+
The proposed approach is as follows:
36+
37+
1. Determine the total number of files and directories on the local subvol
38+
2. Calculate the rate at which files have been processed since the rebalance started
39+
3. Calculate the time required to process all the files based on the rate calculated
40+
4. Send these values in the rebalance status response
41+
5. Calculate the maximum time required among all the rebalance processes
42+
6. Display the time required along with the rebalance status output
43+
44+
45+
The time taken is a factor or the number and size of the files and the number of directories.
46+
Determining the number of files and directories is difficult as Glusterfs currently
47+
does not keep track of the number of files on each brick.
48+
49+
The current approach uses the statfs call to determine the number of used inodes
50+
and uses that number as a rough estimate of how many files/directories ae present
51+
on the brick. However, this number is not very accurate because the .glusterfs
52+
directory contributes heavily to this number.
53+
54+
Benefit to GlusterFS
55+
--------------------
56+
Improves the usability of rebalance operations.
57+
Administrators can now determine how long a rebalance operation will take to complete
58+
allowing better planning.
59+
60+
61+
Scope
62+
-----
63+
64+
#### Nature of proposed change
65+
66+
Modifications required to the rebalance and the cli code.
67+
68+
#### Implications on manageability
69+
70+
gluster volume rebalance <volname> status output will be modified
71+
72+
#### Implications on presentation layer
73+
74+
None
75+
76+
#### Implications on persistence layer
77+
78+
None
79+
80+
#### Implications on 'GlusterFS' backend
81+
82+
None
83+
84+
#### Modification to GlusterFS metadata
85+
86+
None
87+
88+
#### Implications on 'glusterd'
89+
90+
None
91+
92+
How To Test
93+
-----------
94+
95+
Run a rebalance and compare the estimates with the time actually taken to complete
96+
the rebalance.
97+
98+
The feature needs to be tested against large workloads to determine the accuracy
99+
of the calculated times.
100+
101+
User Experience
102+
---------------
103+
104+
Gluster volume rebalance <volname> status
105+
will display the expected time left for the rebalance process to complete
106+
107+
108+
Dependencies
109+
------------
110+
111+
None
112+
113+
Documentation
114+
-------------
115+
116+
Documents to be updated with the changes in the rebalance status output.
117+
118+
119+
Status
120+
------
121+
In development.
122+
123+
124+
125+
Comments and Discussion
126+
-----------------------
127+
128+
*Follow here*

0 commit comments

Comments
 (0)