O KVM e, possivelmente, as outras soluções, permitem que você apresente um dispositivo de bloco inteiro ao sistema operacional convidado. Você poderia, por exemplo, configurar uma partição LVM dedicada (ou até mesmo uma unidade de disco completa) no sistema host para os arquivos do servidor de arquivos e apresentar isso à sua máquina virtual de arquivo como um disco rígido montado em / srv, por exemplo .
Dessa forma você não tem um arquivo enorme para o seu servidor - apenas uma partição nos discos do host. Isso cuidaria dos arquivos que residem no host, mas serão servidos pelo servidor de arquivos virtual em sua rede.
Eu tenho uma configuração muito semelhante, também no Ubuntu 9.10 com KVM, onde eu tenho um diretório LDAP e 6 servidores virtuais rodando em cima de 2 servidores físicos. Eu estava dividido com a mesma situação que você - eu configuro duas máquinas virtuais para hospedar o LDAP ou executá-lo nas máquinas físicas? Minha resposta foi porque as máquinas físicas também precisam de acesso ao LDAP, vou hospedá-lo nas caixas físicas. Se eu tivesse feito o contrário, e o servidor LDAP virtual falhasse, os servidores físicos não seriam capazes de usá-lo. Mas se o servidor físico falhar, as máquinas virtuais também falharão, portanto, não importa se o LDAP não está funcionando!
Na minha configuração, todas as máquinas virtuais estão em partições LVM no nível do host, porque elas são replicadas entre as duas máquinas físicas usando o DRBD, portanto, se uma caixa física morrer, elas podem ser compradas rapidamente na outra. A partição completa do LVM é apresentada à VM como um disco rígido SCSI, e a VM então particiona esse "disco rígido" também usando o LVM.