Acabei de criar um novo e brilhante host de máquina virtual baseado em KVM / libvirt, contendo 4 discos rígidos SATA II e executando o CentOS 5.5 x86_64.
Decidi criar discos de máquinas virtuais como volumes lógicos em um grupo de volumes LVM gerenciado como um pool de armazenamento libvirt, em vez da prática usual de criar os discos como imagens qcow.
O que não consigo decidir é se devo criar os volumes lógicos da máquina virtual no grupo de volumes do host da VM ou em um grupo de volumes dedicado.
Qual método devo escolher e por quê?
Método 1: usar o grupo de volumes do host da VM
Implementação:
- RAID1 pequeno
md0
contendo o/boot
sistema de arquivos - RAID10 grande
md1
ocupando o espaço restante, que contém um grupo de volumes LVMvghost
.vghost
contém o sistema de arquivos raiz e a partição swap do host da VM - crie discos de máquina virtual como volumes lógicos
vghost
conforme necessário
Prós:
- se o sistema de arquivos raiz do host da VM ficar sem espaço, eu posso alocar mais espaço
vghost
com relativa facilidade - O sistema já está em funcionamento (mas não é grande coisa começar de novo)
Contras:
Apesar do fato de esse método parecer funcionar, não posso deixar de pensar que essa é uma má ideia. Eu sinto isso:
- isso pode de alguma forma ser um risco à segurança
- em algum momento no futuro, posso encontrar algumas limitações na configuração e desejar usar um grupo dedicado
- o sistema (CentOS, libvirt etc.) pode não ser realmente projetado para ser usado dessa maneira e, portanto, em algum momento, eu posso acidentalmente corromper / perder os arquivos e / ou o sistema de arquivos do host da VM
Método 2: usar um grupo de volumes dedicado
Implementação:
- igual
md0
emd1
no método 1, exceto que sejamd1
grande o suficiente para conter o host da VM (por exemplo, 5 a 10 GB) - RAID10 grande ocupando
md2
o espaço restante.md2
contém um grupo de volumes LVMvgvms
, cujos volumes lógicos devem ser usados exclusivamente por máquinas virtuais
Prós:
- Posso mexer
vgvms
sem medo de quebrar o sistema operacional host - esta parece ser uma solução mais elegante e segura
Contras:
- se o sistema de arquivos do host da VM ficar sem espaço, eu precisaria mover partes do sistema de arquivos (por exemplo, / usr ou / var) para o
vgvms
que não parece muito bom. - Tenho que reinstalar o sistema operacional host (o que, como mencionado anteriormente, não me importo de fazer)
ATUALIZAÇÃO # 1:
Uma razão pela qual estou preocupado com a falta de espaço em disco do host da VM no método 2 é porque não sei se o host da VM é poderoso o suficiente para executar todos os serviços em máquinas virtuais, por exemplo. Talvez eu precise migrar alguns / todos os serviços de máquinas virtuais para o SO host.
Especificação de hardware do host da VM:
- Processador Phenom II 955 X4 Black Edition (3,2 GHz, CPU de 4 núcleos)
- 2x4GB Kingston PC3-10600 DDR3 RAM
- Placa-mãe Gigabyte GA-880GM-USB3
- HDDs 4x WD Caviar RE3 de 500 GB SATA II (7200rpm)
- Fonte de alimentação Antec BP500U Basiq 500W ATX
- Gabinete CoolerMaster CM 690
ATUALIZAÇÃO # 2:
Uma razão pela qual sinto que o sistema pode não ser projetado para usar o host VG como um pool de armazenamento libvirt no Método 1 é um comportamento que notei no virt-manager:
- ao adicionar, ele reclamou que não podia ativar o VG (obviamente, porque o sistema operacional host já o ativou)
- ao remover, recusou-se a fazê-lo porque não pôde desativar o VG (obviamente, porque o sistema operacional host ainda está usando os LVs raiz e de troca)