Skip to content

"vdo_slab_size_mb" and "vdo_physical_threads" incompatible values ? #53

@tigerblue77

Description

@tigerblue77

Hello there,

I'm encountering a problem with the following LVM VDO metadata profile:

# Custom configuration for VDO not using compression/deduplication
# Custom parameters based on: https://is.muni.cz/th/rq7e2/petrovic_diploma_thesis.pdf

allocation {
  vdo_use_compression=0
  vdo_use_deduplication=0
  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=0
  vdo_index_memory_size_mb=256
  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=$((VCPU_COUNT/4))
  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="ZEROED-VDOLV-1"

lvcreate -y --vdopool "ZEROED-VDOPOOL-1" --name $VDOLV_NAME --size 12G --virtualsize 24G --metadataprofile $LVM_METADATA_PROFILE_NAME $DESTINATION_LVM_VG

I get the following error:

Wiping vdo signature on /dev/Pepper-Potts-vg/ZEROED-VDOPOOL-1.
  The VDO volume can address 8 GB in 1 data slab.
  It can grow to address at most 64 TB of physical storage in 8192 slabs.
  If a larger maximum size might be needed, use bigger slabs.
device-mapper: reload ioctl on  (254:6) failed: Erreur d'entrée/sortie
Failed to activate new LV Pepper-Potts-vg/ZEROED-VDOLV-1.
Failed to find logical volume "Pepper-Potts-vg/ZEROED-VDOPOOL-1"

I did some tests and found that the problem comes from these lines :

vdo_slab_size_mb=8192

and

vdo_physical_threads=$((VCPU_COUNT/4))

Here are the results of my different tests:

vdo_physical_threads value
1 (default value) 2 4 8
vdo_slab_size_mb value 2048 (default value)
4096
8192

I feel that I'm doing something wrong but don't really know what 😅 thanks per advance !

PS: I need 8GB slabs to make my VDO volume ready for 64TB total volume. I choosed 8GB even if 32GB are advised on RedHat documentation because this volume will never need to be expanded more than 64TB.

Metadata

Metadata

Assignees

No one assigned

    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