[Bugs] [Bug 1356076] New: DHT doesn't evenly balance files on FreeBSD with ZFS
bugzilla at redhat.com
bugzilla at redhat.com
Wed Jul 13 11:20:55 UTC 2016
https://bugzilla.redhat.com/show_bug.cgi?id=1356076
Bug ID: 1356076
Summary: DHT doesn't evenly balance files on FreeBSD with ZFS
Product: GlusterFS
Version: mainline
Component: distribute
Assignee: bugs at gluster.org
Reporter: xhernandez at datalab.es
CC: bugs at gluster.org
Description of problem:
On a pure distributed volume with one brick being a FreeBSD node with ZFS as
filesystem and the other a Linux, dht puts ten more times data on FreeBSD node
(3 TB vs 30 TB)
Version-Release number of selected component (if applicable): mainline
How reproducible:
Not sure
Steps to Reproduce:
1. Create a distributed volume with two bricks: one on a FreeBSD/ZFS and
another one on a CentOS
2. Start copying files
3.
Actual results:
almost all files are placed in the FreeBSD node.
Expected results:
nearly 50% of files should be placed in each node.
Additional info:
A "gluster volume status detail" command shows a space on FreeBSD filesystem
much bigger that it really is (~256 times bigger). It also doesn't detect the
filesystem and some other information:
File System : N/A
Device : N/A
Mount Options : N/A
Inode Size : N/A
Disk Space Free : 2.6PB
Total Disk Space : 12.6PB
Real brick space is 45TB
A statvfs() call on FreeBSD returns this:
f_frsize: 512
f_bsize: 131072
>From statvfs() man page on FreeBSD:
"The statvfs() and fstatvfs() functions fill the structure pointed to by
buf with garbage. This garbage will occasionally bear resemblance to
file system statistics, but portable applications must not depend on
this. Applications must pass a pathname or file descriptor which refers
to a file on the file system in which they are interested."
"f_frsize The size in bytes of the minimum unit of allocation on
this file system. (This corresponds to the f_bsize mem-
ber of struct statfs.)"
"f_bsize The preferred length of I/O requests for files on this
file system. (Corresponds to the f_iosize member of
struct statfs.)"
Probably gluster uses f_bsize as the block size, but on FreeBSD it's the
optimal I/O size, not the block size.
As a workaround, disabling 'weighted-rebalance' distributes files evenly
between bricks.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list