Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
When VDO is created, some space given to it is taken by index and the rest is divided between slabs and the remaining space is left unused and unusable. Here is an example when creating VDO on 6G device:
# vdo create --name vdo --device 6G_device
Because default VDO slab size is 2G and default index size is around 2.5G, the actual usable space for user data is only single slab of 2G (6 - 2.5 = 3.5; 3.5 % 2 = 1)
# vdo status | grep 'Physical size'
Physical size: 6G
# vdo status | grep 'Logical size'
Logical size: 6G
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
--snip--
sdc 8:32 0 5.5T 0 disk
└─vg-lv 253:2 0 6G 0 lvm
└─vdo 253:3 0 6G 0 dm
Creating a filesystem and mounting it to check 'df':
# df -h
Filesystem Size Used Avail Use% Mounted on
--snip--
/dev/mapper/vdo 6G 33M 14G 1% /root/vdo
Every obvious value at this point reports the VDO size to be 6G, but the actual size is only 2G:
# vdo status | grep 'slab count'
slab count: 1
# vdo status | grep 'Slab size'
Slab size: 2G
Version-Release number of selected component (if applicable):
vdo-6.1.0.55-9
How reproducible:
100%
Steps to Reproduce:
1. vdo create --name vdo --device device
2. # vdo status | grep 'Physical size'
should equal
# vdo status | grep 'slab count'
slab count: 1
times
# vdo status | grep 'Slab size'
Slab size: 2G
Actual results:
6G vs 2G
Expected results:
2G vs 2G
Additional info:
Comment 2Sweet Tea Dorminy
2017-11-30 18:50:35 UTC
How about the statistic 'data blocks free'? It's very close to 'amount of unique data you can write to VDO'. (Using never-before-used logical addresses can move some blocks from 'data blocks free' to 'overhead blocks', but it is otherwise accurate.)
This has been fixed by reducing the default VDO logical size to "useable" physical size. Setting this toverified and creating RFE to better document "Physical Size: X" field in vdo status.
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, 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/RHEA-2018:0871
Description of problem: When VDO is created, some space given to it is taken by index and the rest is divided between slabs and the remaining space is left unused and unusable. Here is an example when creating VDO on 6G device: # vdo create --name vdo --device 6G_device Because default VDO slab size is 2G and default index size is around 2.5G, the actual usable space for user data is only single slab of 2G (6 - 2.5 = 3.5; 3.5 % 2 = 1) # vdo status | grep 'Physical size' Physical size: 6G # vdo status | grep 'Logical size' Logical size: 6G # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT --snip-- sdc 8:32 0 5.5T 0 disk └─vg-lv 253:2 0 6G 0 lvm └─vdo 253:3 0 6G 0 dm Creating a filesystem and mounting it to check 'df': # df -h Filesystem Size Used Avail Use% Mounted on --snip-- /dev/mapper/vdo 6G 33M 14G 1% /root/vdo Every obvious value at this point reports the VDO size to be 6G, but the actual size is only 2G: # vdo status | grep 'slab count' slab count: 1 # vdo status | grep 'Slab size' Slab size: 2G Version-Release number of selected component (if applicable): vdo-6.1.0.55-9 How reproducible: 100% Steps to Reproduce: 1. vdo create --name vdo --device device 2. # vdo status | grep 'Physical size' should equal # vdo status | grep 'slab count' slab count: 1 times # vdo status | grep 'Slab size' Slab size: 2G Actual results: 6G vs 2G Expected results: 2G vs 2G Additional info: