Distributed-Disperse Shard Behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Using gluster v10.1 and creating a Distributed-Dispersed volume with sharding enabled.

I create a 2gb file on the volume using the 'dd' tool. The file size shows 2gb with 'ls'. However, 'df' shows 4gb of space utilized on the volume. After several minutes the volume utilization drops to the 2gb I would expect.

This is repeatable for different large file sizes and different disperse/redundancy brick configurations.

I've also encountered a situation, as configured above, where I utilize close to full disk capacity and am momentarily unable to delete the file.

I have attached a command line log of an example of above using a set of test VMs setup in a glusterfs cluster.

Is this initial 2x space utilization anticipated behavior for sharding?

It would mean that I can never create a file bigger than half my volume size as I get an I/O error with no space left on disk.
# gluster volume create gv25 disperse 5 tg{1,2,3,4,5}:/data/brick1/gv25 tg{1,2,3,4,5}:/data/brick2/gv25
volume create: gv25: success: please start the volume to access data

# gluster volume set gv25 features.shard on
volume set: success

# gluster volume info
 
Volume Name: gv25
Type: Distributed-Disperse
Volume ID: 75e25758-4461-4eef-85f9-6ef030b59b49
Status: Created
Snapshot Count: 0
Number of Bricks: 2 x (4 + 1) = 10
Transport-type: tcp
Bricks:
Brick1: tg1:/data/brick1/gv25
Brick2: tg2:/data/brick1/gv25
Brick3: tg3:/data/brick1/gv25
Brick4: tg4:/data/brick1/gv25
Brick5: tg5:/data/brick1/gv25
Brick6: tg1:/data/brick2/gv25
Brick7: tg2:/data/brick2/gv25
Brick8: tg3:/data/brick2/gv25
Brick9: tg4:/data/brick2/gv25
Brick10: tg5:/data/brick2/gv25
Options Reconfigured:
features.shard: on
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1      1017M   40M  978M   4% /data/brick1
/dev/sdc1      1017M   40M  978M   4% /data/brick2

# gluster volume start gv25
volume start: gv25: success

# mount -t glusterfs tg1:/gv25 /mnt

# cd /mnt

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1      1017M   40M  978M   4% /data/brick1
/dev/sdc1      1017M   40M  978M   4% /data/brick2
tg1:/gv25       8.0G  399M  7.6G   5% /mnt


# dd if=/dev/zero of=file bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 28.3823 s, 75.7 MB/s

# date
Fri 04 Feb 2022 07:11:08 PM UTC

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1      1017M  742M  276M  73% /data/brick1
/dev/sdc1      1017M  343M  675M  34% /data/brick2
tg1:/gv25       8.0G  4.4G  3.7G  55% /mnt

(Approximately 2 minutes later)

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1      1017M  264M  754M  26% /data/brick1
/dev/sdc1      1017M  328M  690M  33% /data/brick2
tg1:/gv25       8.0G  2.4G  5.6G  31% /mnt

# rm file

# dd if=/dev/zero of=file2 bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 55.5572 s, 77.3 MB/s

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1      1017M  821M  196M  81% /data/brick1
/dev/sdc1      1017M  789M  229M  78% /data/brick2
tg1:/gv25       8.0G  8.0G   43M 100% /mnt

# rm file2
rm: cannot remove 'file2': No space left on device

# rm file2

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1      1017M   40M  978M   4% /data/brick1
/dev/sdc1      1017M   40M  978M   4% /data/brick2
tg1:/gv25       8.0G  399M  7.6G   5% /mnt

# dd if=/dev/zero of=file3 bs=1M count=6000
dd: error writing 'file3': Input/output error
dd: closing output file 'file3': Input/output error


________



Community Meeting Calendar:

Schedule -
Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
Bridge: https://meet.google.com/cpu-eiue-hvk
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-users

[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux