Bug 1519330
| Summary: | VDO physical size does not reflect actual physical size usable by user | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Jakub Krysl <jkrysl> |
| Component: | vdo | Assignee: | corwin <corwin> |
| Status: | CLOSED ERRATA | QA Contact: | Jakub Krysl <jkrysl> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.5 | CC: | awalsh, corwin, fcami, jkrysl, limershe, sweettea |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | 6.1.0.98 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-04-10 15:48:32 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1517911 | ||
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: