Desfragmentação de volumes lógicos LVM2

18

Pergunta: Existe uma ferramenta que suporte a des fragmentação de volumes lógicos do LVM2? (Transformando suas extensões em sequências consistentes)

De preferência, definindo a ordem desejada de extensões (algo como "partição A no início do disco, B após A, mas X no final do PV" )

Obviamente, os seguintes casos devem ser considerados:

  • VG consiste em um PV
  • O VG consiste em muitos PV, mas cada LV fica em um PV
  • VG consiste em muitos PV, os LVs têm sua extensão em muitos PV

Se as partições podem ser removidas ou não, pode ser discutido.

Know-how: É possível mover faixas de extensões com pvmove, por exemplo: pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999.

Razão: Como mover muitos intervalos manualmente com algo pvmovepuramente repetível (questionável se não tem cérebro ou não), fiquei curioso se existe uma ferramenta para automatizar / apoiar esse processo. Se não ... talvez fazendo um sozinho - você acha que essa ferramenta seria útil para outras pessoas?

Grzegorz Wierzowiecki
fonte
É possível que não haja ferramenta, porque não há caso de uso que exija. Estou curioso, por que você quer desfragmentar? Existe uma tecnologia de disco em que haja um benefício para um tamanho de extensão típico (4 MB)?
Gilles 'SO- stop be evil'
2
Vamos considerar as características de desempenho tradicionais do HardDrive (não SSD) - o início do disco oferece melhor desempenho do que o final. Esse é o fator mais importante, por que você gostaria de ter extensões relacionadas a alguma partição a serem colocadas no início.
Grzegorz Wierzowiecki
11
Para esse tipo de controle, a maneira mais simples é particionar o disco em vários volumes físicos.
Gilles 'SO- stop be evil' (
11
Mas, por outro lado, faz mais bagunça nos arquivos de configuração e toda a configuração menos flexível. Acredito que soluções como as mencionadas por @JimParis LVM2 defragmenterou pvmovefaçam o trabalho.
Grzegorz Wierzowiecki

Respostas:

9

Eu usei o desfragmentador LVM2 antes. Não é o mais simples ou o melhor escrito, mas funciona.

Jim Paris
fonte
Parece interessante. Eu preciso tentar.
Grzegorz Wierzowiecki
você acredita que essa desfragmentação poderia facilitar (com base nela) implementar / criar uma maneira de recuperar um LV parcialmente, conforme declarado possível (foi feito) aqui serverfault.com/a/665826/163750 ?
Aquarius Power
1

Bem, mais um motivo para desfragmentar seria reduzir as chances de perda de dados ao diminuir um volume lógico. Um motivo específico para reduzir um volume lógico é permitir a expansão de / boot e partições semelhantes em um disco rígido de computador MBR mais antigo. No meu caso, a atualização do LTS 16.04.03 para o LTS 18.04.1 precisa de mais do que os 500 MB alocados para / boot pela instalação padrão original.

Não leu as milhares de linhas de código-fonte do lvm2, mas algumas das dicas online de ajuda / wiki de que o lvm2 usa truncamento de força bruta quando procedimentos simples de redução de volume lógico são usados ​​- como se os arquivos fossem alocados na área liberada por retração você provavelmente precisará restaurar essa lista de arquivos (potencialmente uma loucura, se pacotes de aplicativos ou sistema estiverem envolvidos - ou se a lista de arquivos do usuário for muito grande).

Observação
fonte