Usando o lvm e o thin provisioning (thinpool) em um PV maior que 2T

0

Problema inicial

Estou tentando usar volumes finos lvm no Trusty 14.04 com uma unidade externa de 3 TB como o PV para o grupo de volume, mas por algum motivo isso falha e o thinpool fica de alguma forma corrompido.

Em uma unidade de 2 TB como o PV, tudo isso funciona bem e eu posso até mesmo criar snapshots finos dos volumes finos, etc.

Veja o que eu fiz:

1) Configure o PV:

# pvcreate /dev/sdb

2) Crie o grupo de volumes:

# vgcreate vg_backups /dev/sdb

3) Crie o thinpool:

# lvcreate --thin -L2,5T --chunksize 1M --poolmetadatasize 16G /dev/vg_backups/backup_thinpool

4) Crie um novo volume fino:

# lvcreate --thinpool /dev/vg_backups/backup_thinpool -n test_lv -V400G

5) Até agora, tudo parece estar bem e o LV fino parece estar ativo, mas quando eu quero deixar o VG inativo com:

# vgchange -an /dev/vg_backups

... primeiro recebo este aviso:

WARNING: Integrity check of metadata for thin pool vg_backups/backup_thinpool failed.

Então, se eu tentar reativar o VG por:

# vgchange -ay /dev/vg_backups

... eu recebo:

Check of thin pool vg_backups/backup_thinpool failed (status:1). Manual repair required (thin_dump --repair /dev/mapper/vg_backups-backup_thinpool_tmeta)!

... e o volume fino não pode ser ativado. A execução do comando thin_dump --repair apenas fornece:

# thin_dump --repair /dev/mapper/vg_backups-backup_thinpool_tmeta
read failed

E como eu disse, tudo funciona se eu usar uma unidade de 2 TB como o PV. Também testado em uma caixa Centos 7 e lá também funciona com o drive de 3TB. Então, algo deve estar errado com o manuseio do thinpool lvm no Ubuntu.

Alguém correu para esta questão? Quais são as soluções / correções disponíveis?

Alguns testes e descobertas adicionais:

Eu tenho outra máquina com 16.04 agora instalada (resultados iguais aos de 15.10 btw) onde eu realmente sou capaz de criar o LV fino no disco 3T e ele é ativado e é utilizável.

No entanto, se eu fizer um resumo fino do volume fino como este:

# lvcreate -s --thinpool /dev/vg_backups/backup_thinpool -n test_lv_snapshot test_lv

... então esse instantâneo fino não ficará ativo e não consigo ativá-lo, mesmo se eu tentar:

# lvchange -ay /dev/vg_backups/test_lv_snapshot

Eu não recebo nenhum erro, o LV simplesmente não fica ativo.

Em 16.04 eu posso desativar e reativar (vgchange) o grupo de volume sem erros - apenas os snapshots finos não ficarão ativos, não importa o que eu tente.

Também no 16.04 (e 15.10) até mesmo o disco 2T tem o mesmo comportamento - os instantâneos finos não se tornarão ativos.

No entanto, se criar primeiro o thinpool, alguns volumes finos e alguns instantâneos finos desses volumes finos no disco 2T na máquina 14.04 e, em seguida, anexar o disco à máquina 16.04, esses volumes finos e suas capturas instantâneas serão ativados.

Mas se eu fizer alguns snapshots mais finos naquele disco na máquina 16.04, esses snapshots finos não poderão ser ativados na máquina 16.04, mas se eu conectar o disco de volta à máquina 14.04, até os snapshots finos criados na máquina 16.04 serão visto como ativo ... ???

Então, vejo possivelmente dois problemas separados aqui:

1) De alguma forma 14.04 não pode manipular o disco 3T como faz o disco 2T

2) Instantâneos finos em qualquer disco criado em 16.04 não podem ser ativados

Isso significa que quaisquer snapshots finos criados no 16.04 (e 15.10) não podem ser acessados (não podem ativar e montar os volumes) o que é muito ruim!

Então, se alguém tiver soluções para esses problemas, seria ótimo!

    
por Pakezonite 18.04.2016 / 15:08

1 resposta

1

Para ativar os instantâneos, tente adicionar "-K / - ignoreactivationskip"

Alguém decidiu que o padrão para capturas instantâneas em volumes thin é que setactivationskip seja 'yes'. Você pode desativar o salto permanentemente executando "lvchange - setactivationskip n" em cada novo snapshot.

    
por Sarah 01.07.2016 / 01:11