desempenho de gravação NFS

2

Temos três hosts VMware ESXi 4 que atendem às VMs de um compartilhamento NFS do OpenFiler. Cada host tem uma conexão direta gigabit ao NAS. Embora o desempenho de leitura tenha sido excelente, os arquivos de gravação dentro dos convidados da VM estão sofrendo.

A configuração recomendada para integridade de dados é exportar compartilhamentos NFS com a opção sync e montar ext3 com data=journal .

Gostaria de comparar o comportamento da configuração de integridade máxima com a configuração máxima de desempenho de E / S. Para configurar o desempenho, exportei o compartilhamento NFS como

/mnt/raided/main/vm 10.0.0.0/255.255.0.0(rw,anonuid=96,anongid=96,secure,root_squash,wdelay,async)

enquanto o ext3 é montado com

/dev/raided/main /mnt/raided/main ext3 defaults,usrquota,grpquota,acl,user_xattr,data=writeback,noatime

Essas opções de configuração me proporcionarão desempenho ideal de E / S? Que tal mudar o sistema de arquivos? O XFS melhorará significativamente o desempenho?

Além do colapso do NAS ou falhas de energia, o que pode causar problemas de integridade de dados com essa configuração?

    
por Hans Malherbe 28.07.2009 / 08:35

3 respostas

2

Eu pensaria muito sobre o uso da sincronização. Eu me lembro do discurso do Dirty Harry "Você se sente feliz".

O NFS v2 e v3 são projetados de tal forma que, quando a gravação é ativada do servidor para o cliente, os dados estão no disco. Isso permite que o NFS seja sem estado e, portanto, o servidor PODE reinicializar entre cada solicitação. Ninguém espera, mas pode acontecer.

Isso significa que, se o cliente vir o ACK na gravação, não precisará mais se importar com os dados que estão no disco.

Se você usa async, isso não é mais verdade. Vai ser bem mais rápido. Basicamente, porém, se você usar async e o servidor travar, provavelmente você deve reinicializar os clientes, a menos que saiba exatamente o que eles fazem, pois eles esperam manter vários arquivos sincronizados e o cliente pode acreditar que eles estão em sincronia. eles não são.

    
por 28.07.2009 / 10:39
2

Meu entendimento é que o OpenFiler é baseado na família CentOS / RedHat de compilações de sistema operacional. O servidor nfs do Linux não é o melhor para começar com *, e o do CentOS / RedHat é pior que a média.

* = quando comparado a servidores NetApp, * bsd ou Solaris.

(Pergunto-me se vou ser modificado para isso.)

    
por 28.07.2009 / 17:51
1

yup, 'sync' é definitivamente um grande matador de desempenho de gravação. Eu nunca o consideraria a menos que a demanda de integridade de dados seja alta. Se você não tiver RAID e UPS com suporte de bateria, nem se incomode porque isso terá pouco ou nenhum efeito.

'ext3 data = journal' não ajuda nenhum dos dois. Se você deseja desempenho de gravação, abandone ext3 e vá em busca do xfs, é muito mais rápido e nem é engraçado.

    
por 28.07.2009 / 17:44