Não tenho muita certeza de como formular esta pergunta (daí o título ruim), então deixe-me dar um exemplo do que estou tentando fazer.
No meu antigo host Xen, posso apresentar sistemas de arquivos LVM diretamente a cada convidado. Na verdade, esses sistemas de arquivos são criados e formatados no host e transmitidos diretamente. Por exemplo, para um dos meus hosts usando partições tmp e swap separadas, defino o armazenamento da seguinte maneira:
O disco = [
'phy: / dev / vg1 / guest1-swap, sda1, w',
'phy: / dev / vg1 / guest1-disk, sda2, w',
'phy: / dev / vg1 / guest1-tmp, sda3 , w ',
]
Portanto, guest1-swap é formatado como uma partição swap, guest1-disk e guest1-tmp são formatados com ext4 e, da perspectiva do convidado, simplesmente os vê como três partições formatadas em / dev / sda.
(Isso pode parecer muito trabalhoso, mas existem scripts de provisionamento, como as incríveis ferramentas xen , que automatizaram praticamente tudo).
Isso fornece alguns recursos realmente úteis, dois dos quais estou especialmente interessado em descobrir para o KVM:
Monte os sistemas de arquivos convidados no sistema operacional host . Posso fazer uma montagem somente leitura de qualquer sistema de arquivos convidado a qualquer momento, mesmo enquanto o convidado estiver em execução. Isso tem a vantagem de permitir que eu crie instantâneos LVM de qualquer volume existente enquanto o convidado estiver em execução. Dessa forma, eu posso fazer backup centralizado de todos os meus convidados, durante a execução, do host.
Redimensionamento de volume online . Como os volumes contêm sistemas de arquivos Linux padrão, posso usar uma combinação de lvextend e resize2fs para aumentar meus sistemas de arquivos convidados, novamente enquanto estão online.
No momento, estou configurando um host KVM que substituirá o host Xen. Semelhante à configuração do Xen, estou utilizando o LVM para fornecer acesso direto ao sistema de arquivos, mas o KVM / qemu se comporta de maneira diferente, pois sempre cria um arquivo de imagem para os convidados, mesmo no volume do LVM. Da perspectiva do convidado, ele vê isso como um disco não particionado, e cabe ao convidado aplicar um rótulo de partição e criar as partições e os sistemas de arquivos.
Do ponto de vista do convidado, tudo bem, mas do servidor / gerenciamento, parece ser muito menos flexível do que a configuração do Xen que descrevi. Eu ainda sou novo na KVM, então talvez esteja perdendo alguma coisa.
Encontrei este problema ao tentar reimplementar minha solução de backup anterior no host KVM e o comando mount chocou quando tentei montar um dos sistemas de arquivos do convidado. Portanto, abordar essa é a minha preocupação atual, mas também me preocupou com o redimensionamento, porque tenho certeza de que esse problema também surgirá em algum momento.
Então, aqui estão as minhas questões:
Existe alguma maneira de o kvm / qemu usar os sistemas de arquivos de volume LVM diretamente, como descrevi para minha configuração do Xen? Eu uso libvirt para gerenciamento, se isso faz diferença.
Caso contrário, o que posso fazer para obter uma funcionalidade de montagem / backup semelhante no KVM? Eu já vi discussões sobre o uso de libguestfs w / FUSE para fazer isso, mas essa é realmente a melhor opção? Eu preferiria ficar com uma montagem de sistema de arquivos nativa, se possível.
Além disso, se não, é possível redimensionar um sistema de arquivos on-line no KVM? Eu encontrei várias discussões / instruções sobre isso, mas as respostas parecem estar em todo o lugar, sem soluções claras e definitivamente não diretas.
Desculpe pelo longo post, só queria ter certeza de que estava claro. Informe-me se posso fornecer outras informações que possam ser úteis. Ansioso para a discussão. :-)