Quero construir um servidor de arquivos/NAS enquanto uso o btrfs para proteger os dados (do bitrot), mas gostaria de usar meu servidor KVM/QEMU existente (debian com btrfs raid1) e criar uma VM para essa finalidade.
Se eu criar a VM e armazenar os dados em um sistema de arquivos ext4, a soma de verificação do btrfs no servidor host detectaria corrupção de dados na VM?
--------------------
| KVM server |
| btrfs - raid1 |
| ----------- |
| | VM-ext4 | |
| ----------- |
|------------------|
Se a resposta anterior for não, eu teria que criar a VM com btrfs também como sistema de arquivos?
Nesse caso, para manter o recurso de "autocura" do btrfs, eu teria que criar pelo menos 2 discos virtuais para ter o btrfs no raid1.
---------------------
| KVM server |
| btrfs - raid1 |
| ------------ |
| | VM-btrfs | |
| | 2 x vda | |
| ------------ |
|-------------------|
Mas assim eu estaria desperdiçando muito espaço... raid1 no servidor host mais raid1 na VM.
Ou talvez a melhor solução seja implementar o servidor de arquivos diretamente no servidor host (embora eu prefira manter alguma separação entre essas duas funções).
atualização 1
Embora eu tenha preferência pelo btrfs, minha principal questão é sobre a utilidade do btrfs/zfs na detecção e correção de corrupção silenciosa em discos VM. Como esses sistemas de arquivos podem distinguir a corrupção silenciosa das gravações normais no disco virtual?
atualização 2
Depois de pesquisar um pouco mais no Google, só consegui encontrar mais algumas informações sobre issopergunta do serverfault.
De acordo com alguns dos comentários, o sistema convidado virtual também estaria em risco, a menos que um sistema de arquivos mais complexo fosse implementado (provavelmente um sistema de arquivos convidado raid1 dentro de um sistema de arquivos host raid1).
Então minha ideia agora é esta:
- configure o servidor de arquivos no servidor host kvm
- mantenha os dados críticos seguros no servidor de arquivos (que já usa btrfs) e compartilhe-os com as VMs via NFS
- desabilitar COW para a pasta de imagem de disco VM
- crie instantâneos kvm das VMs e faça backup de seus arquivos de configuração nos compartilhamentos NFS
Esta é uma solução razoável ou estou esquecendo algum detalhe importante?
Responder1
Estou me baseando principalmente nissopostagem de falha no servidor mas vou tentar responder sozinho.
Se eu criar a VM e armazenar os dados em um sistema de arquivos ext4, a soma de verificação do btrfs no servidor host detectaria corrupção de dados na VM?
Não. Pelo que percebi, não há como o sistema host detectar corrupção de dados no sistema de arquivos da VM.
Se a resposta anterior for não, eu teria que criar a VM com btrfs também como sistema de arquivos?
Sim.
Ou talvez a melhor solução seja implementar o servidor de arquivos diretamente no servidor host (embora eu prefira manter alguma separação entre essas duas funções).
No meu caso a solução será:
- configure o servidor de arquivos no servidor host kvm
- mantenha os dados críticos seguros no servidor de arquivos (que já usa btrfs) e compartilhe-os com as VMs via NFS
- desabilitar COW para a pasta de imagem de disco VM
- crie instantâneos kvm das VMs e faça backup de seus arquivos de configuração nos compartilhamentos NFS


