-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
Hello there,
I'm encountering a problem with the following LVM VDO metadata profile:
# Custom configuration for VDO using compression/deduplication and more CPUs (based on local vCPU count)
# Custom parameters based on: https://is.muni.cz/th/rq7e2/petrovic_diploma_thesis.pdf
allocation {
vdo_use_compression=1
vdo_use_deduplication=1
vdo_use_metadata_hints=1
vdo_minimum_io_size=4096
vdo_block_map_cache_size_mb=16384
vdo_block_map_period=16380
vdo_check_point_frequency=0
vdo_use_sparse_index=1
vdo_index_memory_size_mb=3072
vdo_slab_size_mb=8192
vdo_ack_threads=$((VCPU_COUNT/4))
vdo_bio_threads=$VCPU_COUNT
vdo_bio_rotation=64
vdo_cpu_threads=$((VCPU_COUNT/2))
vdo_hash_zone_threads=$((VCPU_COUNT/4))
vdo_logical_threads=$((VCPU_COUNT/4))
vdo_physical_threads=1
vdo_write_policy=\"sync\"
vdo_max_discard=1
}
FYI, on my system:
VCPU_COUNT=8
When I run lvcreate
using the previous metadata profile:
DESTINATION_LVM_VG="/dev/Pepper-Potts-vg"
VDOLV_NAME="COMPRESSED-DEDUPLICATED-VDOLV-1"
lvcreate -y --vdopool "COMPRESSED-DEDUPLICATED-VDOPOOL-1" --name $VDOLV_NAME --size 12G --virtualsize 24G --metadataprofile $LVM_METADATA_PROFILE_NAME $DESTINATION_LVM_VG
I get the following error:
vdoformat: formatVDO failed on '/dev/Pepper-Potts-vg/COMPRESSED-DEDUPLICATED-VDOPOOL-1': VDO Status: Out of space
Command /usr/bin/vdoformat failed.
Cannot format VDO pool volume Pepper-Potts-vg/COMPRESSED-DEDUPLICATED-VDOPOOL-1.
But I do have sufficient free space on volume group, here is the output of vgs
command:
VG #PV #LV #SN Attr VSize VFree
Pepper-Potts-vg 1 5 0 wz--n- <99,52g <84,63g
I did some tests and found that the problem comes from these lines :
vdo_use_sparse_index=1
and
vdo_index_memory_size_mb=3084
Here are the results of my different tests:
vdo_index_memory_size_mb value | |||||||
---|---|---|---|---|---|---|---|
not set | 256 (default value) | 512 | 1024 | 2048 | 3072 | ||
vdo_use_sparse_index value | 0 | ✅ | ✅ | ❌❌ | ❌ | ❌ | ❌ |
1 (default value) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
not set | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
In "❌❌" case, I get a different error:
vdoformat: parseIndexConfig failed: Invalid argument
Command /usr/bin/vdoformat failed.
Cannot format VDO pool volume Pepper-Potts-vg/COMPRESSED-DEDUPLICATED-VDOPOOL-1.
I feel that I'm doing something wrong but don't really know what 😅 thanks per advance !
Metadata
Metadata
Assignees
Labels
No labels