Algum problema com muitas montagens NFS?

4

No momento, estamos considerando uma solução que resulta em um ponto de montagem separado para o diretório inicial de todos os usuários. Considerando que costumávamos ter no máximo duas montagens por servidor de arquivos em um cliente, agora poderíamos ter centenas de montagens, muitas do mesmo servidor de arquivos. Isso obviamente impacta o cliente porque há muito mais montagens, e também afeta o servidor de arquivos, porque há muito mais exportações para rastrear. Em nosso ambiente, estamos falando de centenas de clientes por servidor de arquivos e centenas de usuários por cliente (ou seja, provavelmente não mais que 10000 exportações em um servidor de arquivos).

Minha pergunta é especificamente sobre a eficácia da solução this . Existem outras soluções que poderíamos implementar se esta for ruim, mas por várias razões, algumas políticas, esta subiu ao topo. Os clientes são todos linux, e os servidores de arquivos são uma mistura de sistemas linux e solaris. A preocupação que tenho é que os recursos que o kernel tem para rastrear montagens e compartilhamentos são finitos, mas eu realmente não tenho uma boa idéia de quais são suas capacidades.

    
por Chad Huneycutt 27.07.2009 / 14:45

3 respostas

5

Geralmente no sarge, acho que encontramos problemas em torno de 30 a 40 montagens e tivemos que alterar nossos mapas para que fizéssemos menos montagens.

Basta recortar e colar em: link

Por que não posso montar mais de 255 sistemas de arquivos NFS no meu cliente? Por que às vezes é menos que 255?

No Linux, a cada sistema de arquivos montado é atribuído um número maior, que indica qual tipo de sistema de arquivos ele é (por exemplo, ext3, nfs, isofs); e um número menor, o que o torna único entre os sistemas de arquivos do mesmo tipo. Nos kernels anteriores a 2.6, os números maiores e menores do Linux têm apenas 8 bits, podendo variar numericamente de zero a 255. Como um número menor possui apenas 8 bits, um sistema pode montar apenas 255 sistemas de arquivos do mesmo tipo. Assim, um sistema pode montar até 255 sistemas de arquivos NFS, outro sistema de arquivos 255 ext3, mais 255 sistemas de arquivos iosfs e assim por diante. Kernels depois de 2.6 têm números menores de 20 bits, o que atenua essa restrição.

Para o cliente Linux NFS, no entanto, o problema é um pouco pior porque é um sistema de arquivos anônimo. Os sistemas de arquivos baseados em disco local possuem um dispositivo de bloco associado a eles, mas os sistemas de arquivos anônimos não. / proc, por exemplo, é um sistema de arquivos anônimo, assim como outros sistemas de arquivos de rede, como o AFS. Todos os sistemas de arquivos anônimos compartilham o mesmo número principal, portanto, pode haver no máximo apenas 255 sistemas de arquivos anônimos montados em um único host.

Normalmente, você não precisará de mais do que dez ou vinte montagens NFS totais em um determinado cliente. Em algumas grandes empresas, no entanto, seu trabalho e seus usuários podem se espalhar por centenas de servidores de arquivos NFS. Para contornar a limitação do número de sistemas de arquivos NFS que você pode montar em um único host, recomendamos que você configure e execute um dos daemons do automounter para Linux. Um montador automático encontra e monta sistemas de arquivos conforme são necessários e desmonta qualquer um que achar que esteja inativo. Você pode encontrar mais informações sobre os montadores automáticos do Linux aqui.

Você também pode ter um limite no número de portas de rede privilegiadas em seu sistema. O cliente NFS usa um soquete exclusivo com seu próprio número de porta para cada ponto de montagem do NFS. O uso de um montador automático ajuda a resolver o número limitado de portas disponíveis, desmontando automaticamente os sistemas de arquivos que não estão em uso, liberando assim suas portas de rede. O suporte do NFS versão 4 no cliente Linux NFS usa um único soquete por par cliente-servidor, o que também ajuda a aumentar o número permitido de pontos de montagem NFS em um cliente.

    
por 28.07.2009 / 23:45
7

Para diminuir a carga no lado do cliente. Se você usar a rota NFS, considere usar o automount (autofs).

Isso montará as exportações do NFS conforme forem solicitadas ao servidor. Aqui está um tutorial de montagem automática curta e aqui está o porquê .

    
por 27.07.2009 / 14:49
3

Se você tiver um número realmente grande de solicitações de montagem do nfs sendo emitidas, seus servidores podem ter um problema com o fato de que as solicitações de montagem podem começar vindas de portas não privilegiadas (ou seja, > 1024).

Esta é uma nota que eu tinha sobre um arquivador NetApp:

If you are getting errors like:

mount: RPC: Authentication error; why = Client credential too weak

You will have to set the option nfs.mount_rootonly to off. The problem is that mount requests are coming from ports higher than 1024 and are getting discarded as client (ie non-root level) requests. This might be happening because client-level programs are making the requests, or you are making so many simultaneous mount requests that the ports below 1024 are saturated, resulting in requests from "high" ports.

    
por 27.07.2009 / 20:44