Por que os metadados custam espaço duplo ao criar o thin pool?

1

Antecedentes

Eu tenho um vg com 32G de espaço livre no Centos6.9.

Quando uso lvcreate -T vg/pool -L 30G --poolmetadatasize 2G para criar um pool thin, ele diz insufficient free disk space .

Quando reduzo o metadatasize para 512MB ( lvcreate -T vg/pool -L 30G --poolmetadatasize 512M ), ele é criado sem nenhum erro, mas custa 31G de espaço.

Quando uso % para especificar o tamanho do pool ( lvcreate -T vg/pool -l 100%FREE --poolmetadatasize 2G ), ele é criado com êxito, mas o tamanho do pool é de apenas 28G, mesmo adicionando metadatasize 2G, falta espaço livre de 2G.

Pergunta

Portanto, descobri que os metadados do pool custarão espaço duplo (especifique 512MB , custo 1G , especifique 1G , custo 2G ), alguém poderia me dizer por que custou espaço duplo?

    
por Sraw 03.02.2018 / 05:10

1 resposta

1

Eu acho que você está vendo o chamado "Spare metadata LV", que é criado automaticamente quando você cria o primeiro thinpool em um grupo de volume.

Você pode verificar isso com lvs -a para mostrar todos os volumes (ou seja, também os volumes ocultos de dados / metadados de seu thinpool e os metadados sobressalentes lv). Se você vir algum volume chamado lvol0_pmspare ou geralmente algo com _pmspare como um sufixo, esse é o metadado sobressalente lv.

Você pode desabilitar sua criação usando --poolmetadataspare n quando criar o thinpool, no entanto, leia a% man_de% manpage antes de fazer isso porque esse volume é necessário para operações de verificação e reparo de metadados (ou seja, se você não usa) você tem suas opções de recuperação são muito limitadas)

    
por 08.02.2018 / 00:08