[linux-lvm] lvmcache with vdo - inconsistent block size

Gionatan Danti g.danti at assyoma.it
Mon Sep 14 21:44:23 UTC 2020


Hi all,
I am testing lvmcache with VDO and I have issue with devices block size.

The big & slow VDO device is on top of a 4-disk MD RAID 10 device 
(itself on top of dm-integrity). Over the VDO device I created a 
thinpool and a thinvol [1]. When adding the cache device to the volume 
group via vgextend, I get an error stating "Devices have inconsistent 
logical block sizes (4096 and 512)." [2]

Now, I know why the error shows and what i means. However, I don't know 
how to force the cache device to act as a 4k sector device, and/if this 
is really required to cache a VDO device.

My current workaround is to set VDO with --emulate512=enabled, but this 
can be suboptimal and it is not recommended.

Any idea on what I am doing wrong?
Thanks.

[1] Output from lsblk -t:
[root at singularity dev]# lsblk -t | cut -c1-73
NAME                            ALIGNMENT  MIN-IO  OPT-IO PHY-SEC 
LOG-SEC
sda                                   0     512       0     512     512
├─sda1                                0     512       0     512     512
├─sda2                                0     512       0     512     512
│ ├─system-root                       0     512       0     512     512
│ └─system-swap                       0     512       0     512     512
├─sda3                                0     512       0     512     512
└─sda4                                0     512       0     512     512
sdb                                   0     512       0     512     512
└─sdb                                 0     512       0     512     512
   └─md200                             0  524288 1048576     512     512
     └─vdo1                            0    4096    4096    4096    4096
       ├─vg_kvm-thinpool_tmeta         0    4096    4096    4096    4096
       │ └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
       │   ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
       │   └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
       └─vg_kvm-thinpool_tdata         0    4096    4096    4096    4096
         └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
           ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
           └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
sdc                                   0     512       0     512     512
└─sdc                                 0     512       0     512     512
   └─md200                             0  524288 1048576     512     512
     └─vdo1                            0    4096    4096    4096    4096
       ├─vg_kvm-thinpool_tmeta         0    4096    4096    4096    4096
       │ └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
       │   ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
       │   └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
       └─vg_kvm-thinpool_tdata         0    4096    4096    4096    4096
         └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
           ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
           └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
sdd                                   0     512       0     512     512
└─sdd                                 0     512       0     512     512
   └─md200                             0  524288 1048576     512     512
     └─vdo1                            0    4096    4096    4096    4096
       ├─vg_kvm-thinpool_tmeta         0    4096    4096    4096    4096
       │ └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
       │   ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
       │   └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
       └─vg_kvm-thinpool_tdata         0    4096    4096    4096    4096
         └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
           ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
           └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
sde                                   0     512       0     512     512
└─sde                                 0     512       0     512     512
   └─md200                             0  524288 1048576     512     512
     └─vdo1                            0    4096    4096    4096    4096
       ├─vg_kvm-thinpool_tmeta         0    4096    4096    4096    4096
       │ └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
       │   ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
       │   └─vg_kvm-thinvol            0 1048576 1048576    4096    4096
       └─vg_kvm-thinpool_tdata         0    4096    4096    4096    4096
         └─vg_kvm-thinpool-tpool       0 1048576 1048576    4096    4096
           ├─vg_kvm-thinpool           0 1048576 1048576    4096    4096
           └─vg_kvm-thinvol            0 1048576 1048576    4096    4096

[2] [root at singularity dev]# vgextend vg_kvm /dev/sda4
   Devices have inconsistent logical block sizes (4096 and 512).

-- 
Danti Gionatan
Supporto Tecnico
Assyoma S.r.l. - www.assyoma.it
email: g.danti at assyoma.it - info at assyoma.it
GPG public key ID: FF5F32A8





More information about the linux-lvm mailing list