Skip to content

"vdo_use_sparse_index" and "vdo_index_memory_size_mb" incompatible values ? Gives "VDO Status: Out of space" error #54

@tigerblue77

Description

@tigerblue77

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
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions