On 05/11/2018 10:21 AM, Joe Thornber wrote:
On Thu, May 10, 2018 at 07:30:09PM +0000, John Hamilton wrote:
I saw something today that I don't understand and I'm hoping somebody can
help. We had a ~2.5TB thin pool that was showing 69% data utilization in
lvs:
# lvs -a
LV VG Attr LSize Pool Origin Data%
Meta% Move Log Cpy%Sync Convert
my-pool myvg twi-aotz-- 2.44t 69.04 4.90
[my-pool_tdata] myvg Twi-ao---- 2.44t
[my-pool_tmeta] myvg ewi-ao---- 15.81g
Is this everything? Is this a pool used by docker, which does not (did
not) use LVM to manage thin-volumes?
However, when I dump the thin pool metadata and look at the mapped_blocks
for the 2 devices in the pool, I can only account for about 950GB. Here is
the superblock and device entries from the metadata xml. There are no
other devices listed in the metadata:
<superblock uuid="" time="34" transaction="68" flags="0" version="2"
data_block_size="128" nr_data_blocks="0">
<device dev_id="1" mapped_blocks="258767" transaction="0"
creation_time="0" snap_time="14">
<device dev_id="8" mapped_blocks="15616093" transaction="27"
creation_time="15" snap_time="34">
That first device looks like it has about 16GB allocated to it and the
second device about 950GB. So, I would expect lvs to show somewhere
between 950G-966G Is something wrong, or am I misunderstanding how to read
the metadata dump? Where is the other 700 or so GB that lvs is showing
used?
The non zero snap_time suggests that you're using snapshots. I which case it
could just be there is common data shared between volumes that is getting counted
more than once.
You can confirm this using the thin_ls tool and specifying a format line that
includes EXCLUSIVE_BLOCKS, or SHARED_BLOCKS. Lvm doesn't take shared blocks into
account because it has to scan all the metadata to calculate what's shared.
LVM just queries DM, and displays whatever that provides. You could see
that in `dmsetup status` output, there are two pairs of '/' separated
entries - first is metadata usage (USED_BLOCKS/ALL_BLOCKS), second data
usage (USED_CHUNKS/ALL_CHUNKS).
So the error lies somewhere between dmsetup and kernel.
What is kernel/lvm version?
Is thin_check_executable configured in lvm.conf?
-- Martian
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/