"Depende."
Se você estiver em um ambiente que você controla (vmware ou kvm ou qualquer outra coisa) e puder tomar suas próprias decisões sobre a QoS de desempenho do disco, recomendo não usar o LVM dentro de suas VMs. Não oferece muita flexibilidade que você não poderia obter no nível do hipervisor.
Lembre-se de que o hipervisor já está efetivamente executando essas tarefas. Se você deseja redimensionar arbitrariamente os sistemas de arquivos (uma boa idéia), basta criar um disco virtual separado para cada sistema de arquivos.
Uma coisa que você pode pensar ao percorrer este caminho. Você nem precisa necessariamente colocar partições em seus discos virtuais dessa maneira. Por exemplo, você pode criar um disco virtual para /home
; está /dev/vdc
dentro da sua vm. Ao criar o sistema de arquivos, faça algo como, em mke2fs -j /dev/vdc
vez de especificar uma partição.
É uma boa idéia, mas ... a maioria das ferramentas (e outros administradores que vêm depois de você) esperam ver partições em todos os discos. Eu recomendo apenas colocar uma única partição no disco e pronto. Isso significa mais um passo ao redimensionar o sistema de arquivos. E não se esqueça de alinhar corretamente suas partições - iniciar a primeira partição com 1 MB é uma boa regra.
Tudo o que foi dito - Fazer tudo isso no nível do hypervisor significa que você provavelmente precisará reiniciar a VM para redimensionar partições. O uso do LVM permitiria adicionar um disco virtual a quente (presumindo que sua combinação de hipervisor / SO o permita) e expandir o sistema de arquivos sem uma reinicialização. Esta é definitivamente uma vantagem.
Enquanto isso, se você estiver usando um provedor de nuvem, é mais sutil.
Não sei muito sobre o Azure, o GCP ou qualquer um dos players menores, por isso não posso ajudar lá.
Com a AWS, você pode seguir meus conselhos acima e muitas vezes ficará bem. Você pode (agora) aumentar o tamanho dos volumes EBS (discos virtuais) on-the-fly e redimensionar partições, etc.
No entanto, no caso geral, pode fazer sentido colocar tudo em um único grande volume EBS e usar o LVM (ou, suponho, partições simples). A Amazon fornece um limite de IOPS para cada volume. Por padrão, esse limite é escalado com o tamanho do volume. por exemplo, para gp2
volumes, você obtém 3 IOPS por GiB (mínimo de 100 IOPS). Consulte https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
Para a maioria das cargas de trabalho, você deseja que todos os IOPS disponíveis estejam disponíveis para qualquer sistema de arquivos, dependendo da necessidade no momento. Portanto, faz sentido criar um grande volume EBS, obter todas as suas IOPS em um único bucket e particionar / LVM.
Exemplo:
3 discos com sistemas de arquivos independentes / áreas de troca, cada um com 100 GB de tamanho. Cada um recebe 300 IOPS. O desempenho é limitado a 300 IOPS em cada disco.
1 disco, 300 GB de tamanho. Partições LVM no disco de 100 GB cada. O disco recebe 900 IOPS. Qualquer uma das partições pode usar todos os 900 IOPS.