Feature:
Enhancement for rebalance of sparse files.
Rebalance mechanism was modified to only read and write the data segments of a sparse file (while the previous mechanism copied the entire file, including segments which contained no actual data).
Reason:
The previous rebalance mechanism for sparse files, could result in rebalance taking enormous amounts of time, if the sparse files are big.
This enhancement can be useful for VM storage workloads.
Result:
Rebalance mechanism modified to drastically reduce the time required for rebalance of sparse files.
Description of problem:
----------------------
If there are files with holes present in the volume, rebalance takes a lot of time to migrate these files.
Version-Release number of selected component (if applicable):
-------------------------------------------------------------
RHEL : RHEL 8.2
RHGS : 6.0-33
How reproducible:
-----------------
Always
Steps to Reproduce:
------------------
1.Create a 1X3 volume.
2.Mount the volume using FUSE.
3.On the volume root, create files using:
# for i in {1..5000}; do dd if=/dev/urandom of=file_with_holes$i bs=1M count=1 seek=100M; done
4.After the file creation is complete, add bricks to the volume.
5.Trigger rebalance.
6.Wait for rebalance to complete.
Actual results:
---------------
Rebalance takes up a lot of time to complete and on checking the rebalance status, it looks like it is hung even though it is running in the background.
Expected results:
----------------
The time taken by rebalance to migrate files with holes should be lesser.
Additional info:
-----------------
Raising this bug in order to track the issues observed while verifying :
Bug 1823703 - [RHEL 8.2] Failures in rebalance due to [No space left on device] error while migrating files with holes.
(https://bugzilla.redhat.com/show_bug.cgi?id=1823703)
Issue 1: https://bugzilla.redhat.com/show_bug.cgi?id=1823703#c8
Issue 2: https://bugzilla.redhat.com/show_bug.cgi?id=1823703#c13
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (glusterfs bug fix and enhancement update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2020:5603
Description of problem: ---------------------- If there are files with holes present in the volume, rebalance takes a lot of time to migrate these files. Version-Release number of selected component (if applicable): ------------------------------------------------------------- RHEL : RHEL 8.2 RHGS : 6.0-33 How reproducible: ----------------- Always Steps to Reproduce: ------------------ 1.Create a 1X3 volume. 2.Mount the volume using FUSE. 3.On the volume root, create files using: # for i in {1..5000}; do dd if=/dev/urandom of=file_with_holes$i bs=1M count=1 seek=100M; done 4.After the file creation is complete, add bricks to the volume. 5.Trigger rebalance. 6.Wait for rebalance to complete. Actual results: --------------- Rebalance takes up a lot of time to complete and on checking the rebalance status, it looks like it is hung even though it is running in the background. Expected results: ---------------- The time taken by rebalance to migrate files with holes should be lesser. Additional info: ----------------- Raising this bug in order to track the issues observed while verifying : Bug 1823703 - [RHEL 8.2] Failures in rebalance due to [No space left on device] error while migrating files with holes. (https://bugzilla.redhat.com/show_bug.cgi?id=1823703) Issue 1: https://bugzilla.redhat.com/show_bug.cgi?id=1823703#c8 Issue 2: https://bugzilla.redhat.com/show_bug.cgi?id=1823703#c13