É razoável usar o NFS em um servidor web de produção?

É razoável usar o NFS em um servidor web de produção?

O NFS pode ser razoavelmente usado em servidores de produção como meio de conectar um servidor de computação a um servidor de armazenamento, assumindo que a conexão seja através de uma conexão LAN de 1 Gbe ou 10 Gbe?

Obviamente, há alguma sobrecarga na rede e o NFS parece particularmente mais lento com gravações se o modo de sincronização estiver ativado. Caso contrário, parece razoavelmente leve e capaz de escalar pelo que posso dizer, mas tenho pouca experiência com isso pessoalmente. Estou errado?

O problema é que tenho um servidor agora que atua tanto como armazenamento quanto como servidor web, mas vou acabar precisando dividir os dois provavelmente no futuro, e considerando que algumas solicitações precisam passar pela camada de aplicativo web para autenticação antes de inicializar a transferência de arquivos, fica um pouco complicado com este software. Uma montagem de rede fs é a opção mais simples. Só não sei se é boa.

Também pretendo tentar utilizar o cache local com NFS, o que deve melhorar um pouco o desempenho, mas não tenho certeza se isso é suficiente.

No que diz respeito às alternativas, só existe o iSCSI que conheço como um verdadeiro concorrente, e a maioria das pessoas parece recomendar o NFS em vez de qualquer outro menos conhecido.

Responder1

NFS está bem, exceto que alguns outros critérios específicos sejam atendidos, a saber:

  • Os sistemas envolvidos são capazes de usar o NFS nativamente. O Windows não conta aqui, étipo defunciona, mas tem muitas peculiaridades e muitas vezes é difícil de trabalhar ao lidar com NFS em um ambiente de plataforma cruzada (e se forapenasWindows, use SMB3, elimina a maioria dos outros problemas com o NFS). Observe que no lado do cliente, isso significa suporte em nível de kernel, porque uma implementação em nível de usuário precisa lidar com os problemas de eficiência inerentes ao uso de algo como FUSE, ou precisa estar vinculada diretamente ao aplicativo que precisa acessar o compartilhar.
  • Você verificou corretamente como o cliente NFS lida com a reinicialização do servidor NFS. Isso inclui o próprio sistema operacional (quedeveestará bem na maioria dos casos) e o software que acessará o compartilhamento. Em particular, é necessário cuidado especial em algumas plataformas de clientes quando o software que usa o compartilhamento mantém arquivos abertos por longos períodos de tempo, já que nem todas as implementações de clientes NFS lidam normalmente com reinicializações de servidores, remontando e revalidando explicitamente bloqueios e identificadores de arquivos como deveriam (o que leva a todos os tipos de problemas para o software cliente). Observe que você deve verificar isso novamente sempre que qualquer parte da pilha for atualizada ou reconfigurada.
  • Você deseja configurar o mapeamento adequado de ID de usuário/grupo. Isso é grande, porque sem ele você precisa espelhar os mapeamentos UID/GID entre os sistemas (possível, mas eu teria cuidado ao configurar o SSO em uma rede interna para um sistema voltado para a Internet) ou você acabaria com problemas potencialmente sérios implicações de segurança (ou seja, o que você vê em um sistema para permissões não corresponde ao que você vê em outros).
  • Você está operando em um link de rede seguro ou deseja configurar adequadamente a autenticação para o compartilhamento. Sem autenticação, qualquer pessoa no link pode acessá-lo (e um cliente mal-intencionado pode facilmente contornar os controles básicos de acesso discricionário do UNIX).

Supondo que você atenda a todos esses critérios e tenha uma rede razoavelmente rápida, você estará bem. Além disso, se você pode executar jumbo frames, faça-o, pois eles ajudam muito para qualquer sistema de arquivos de rede ou armazenamento de blocos em rede.

Responder2

O NFS é absolutamente aceitável e é preferido ao iSCSI porque o NFS é muito mais fácil de gerenciar, compartilhar e fazer backup.

Responder3

Há anos que usamos o NFS para conectar nossa SAN aos nossos servidores VMware ESXi, executando centenas de VMs nele. Nenhum problema.

O gargalo é mais o sistema de armazenamento do que o protocolo de rede.

A conexão de rede deve ser rápida o suficiente, ou seja, Ethernet de 10 Gb ou fibra. Nem nos preocupamos mais com uma rede de armazenamento separada.

Responder4

iSCSI pode ser um pouco mais rápido ...

https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/storage_protocol_comparison-white-paper.pdf

https://www.hyper-v.io/whos-got-bigger-balls-testing-nfs-vs-iscsi-performance-part-3-test-results/

... mas o NFS, como qualquer outro redirecionador de rede (SMB3, AFS/AFP etc.), permite multiacesso simultâneo, o que é complicado com iSCSI ou outros protocolos de bloco.

https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392

informação relacionada