Diminuir o volume logicial quando houver snapshots

1

Basicamente, podemos reduzir o volume lógico pelo comando lvreduce ou redimensionar conforme abaixo:

lvreduce/lvresize -L 2G [logicial volume path]

mas, quando o lv tiver instantâneos (volumes de origem do instantâneo), o comando de redução falhará com a saída de erro abaixo:

Snapshot origin volumes cannot be reduced in size yet.

Na verdade, podemos estender lv neste caso, por que os comandos de redução não são suportados? meu ambiente é:

Linux SZX1000159695 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:44:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Existe alguma possibilidade de que possamos apoiar o encolhimento de lv que tenha instantâneos?

    
por TommyLike 13.02.2017 / 07:10

1 resposta

0

Reduzir é muito mais difícil de fazer do que expandir um volume, porque quando você adiciona espaço, sabe que ele ainda não foi usado.

Quando você faz um snapshot, ele mantém um diff entre os dados na origem e os dados no snapshot.

Ao reduzir um volume, você está se livrando de extensões (ou seja, espaço) - mas e se, quando o instantâneo fosse criado, houvesse dados nesse espaço? Se houver dados no espaço, quando você os reduzir, não haverá mais dados nele, portanto, não será possível diferenciar os dados que não estão lá.

É, tenho certeza, possível que o LVM seja atualizado para lidar com isso, mas vai exigir um pouco de codificação, o que poderia causar erros e perda de dados, e que, aparentemente, não foi implementado. / p>     

por 13.02.2017 / 09:14

Tags