É possível ter uma pasta pessoal hospedada com o NFS?

27

Estou planejando implantar alguns computadores de quiosque e gostaria de deixá-los com um pequeno pendrive como disco de inicialização, mantendo o restante em um servidor de backup fácil, ala LTSP .

Agora eu estou pensando em duas opções. Um NFSed / home /, ou uma cópia local de ~ / copiado no login, rsynced no logout.

Meus receios são de que o trabalho com arquivos pode ficar muito lento ou minha rede pode ficar obstruída .

    
por voyager 04.06.2009 / 03:11

9 respostas

28

Eu uso o NFS para meus diretórios pessoais em nosso ambiente de produção. Existem alguns truques.

  1. Não monte o NFS em /home - dessa forma, você pode ter um usuário local que permita a você entrar no servidor NFS. Nós montamos em /mnt/nfs/home

  2. Use montagens suaves e um tempo limite muito curto - isso evitará que os processos bloqueiem para sempre.

  3. Use o automounter . Isso manterá o uso de recursos inativo e também significa que você não precisa se preocupar com a reinicialização de serviços quando o servidor NFS aparecer, caso ocorra por algum motivo.

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. Use um sistema de login único para não se deparar com problemas relacionados à permissão. Eu tenho um servidor OpenLDAP.

por 04.06.2009 / 05:02
7
O

link postou recentemente um artigo sobre o uso do GlusterFS como substituto / alternativa do NFS, você pode querer dar uma olhada.

link

Aqui está uma breve descrição de porque é uma boa alternativa "viável" ao NFS, na página do projeto GlusterFS link :

"O GlusterFS se auto-cura instantaneamente. Não há fsck. O back-end de armazenamento é acessível diretamente como arquivos e pastas regulares (estilo NFS). Com a replicação habilitada, o GlusterFS pode suportar falhas de hardware."

Mais informações podem ser encontradas na documentação do projeto.

Além disso, outra coisa interessante sobre o uso do GlusterFS é que, se você precisar de mais espaço em sua SAN, basta adicionar outro bloco de armazenamento (nó de servidor) e aumentar / expandir seu armazenamento em paralelo quando houver necessidade.

Espero que isso ajude ou pelo menos ajude você a apontar na direção certa!

    
por 04.06.2009 / 04:09
7

Cuidado com as montagens suaves! A montagem suave de um sistema de arquivos NFS significa que o IO falhará após um tempo limite. Tenha certeza de que é o que você deseja nos diretórios home dos usuários! Meu palpite é que você não sabe. Usar uma montagem rígida em diretórios pessoais em combinação com a opção intr parece muito mais seguro aqui.

O disco rígido não expira: as operações de IO serão repetidas indefinidamente. A opção intr permite interromper o processo de montagem. Então, se você montar a exportação e experimentar uma falha, o hard-mount bloqueará sua sessão. A opção intr permitirá interromper a montagem, por isso a combinação é bastante segura e garante que você não perderá facilmente os dados do usuário.

De qualquer forma, o autofs torna tudo ainda mais fácil.

    
por 04.06.2009 / 08:36
4

A única coisa a notar é que quando o servidor NFS está fora - suas montagens congelarão - fazer uma montagem não será bloqueada para que o próprio "congelamento" possa ser evitado, mas isso não corrigirá o problema dos diretórios home. sem um diretório inicial, o usuário é parafusado de qualquer maneira.

Mesmo quando o servidor NFS se recuperar, a menos que você faça algo a respeito, o problema de congelamento permanecerá - você terá que matar o processo na máquina de montagem e remontar. A razão para isso é que quando o servidor NFS volta a funcionar, ele atribuiu um% diferente% co_de - para que você possa pelo menos corrigir esse problema codificando permanentemente o fsid s no servidor NFS, por exemplo ...

#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)

Os estados da página do manual fsid ...

fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.

... Enquanto isso indica que, contanto que os números principais / secundários não sejam alterados (o que eles normalmente não fazem, exceto quando você estiver exportando volumes SAN / multipath, onde podem ser alterados), Descobrimos que removemos completamente o problema - ou seja, se o servidor NFS voltar - a conexão foi restaurada rapidamente - eu ainda não sei por que isso fez a diferença para dispositivos como exports(5) , por exemplo. / p>

Agora devo salientar que meu argumento é em grande parte anedótico - na verdade não faz sentido por que ele consertou o problema, mas "parece" tê-lo corrigido - de alguma forma - provavelmente há outras variáveis em jogo aqui que Eu ainda não descobri. =)

    
por 04.06.2009 / 04:28
4

Alguns conselhos gerais que serão aplicados não importa qual sistema de arquivos de rede você adote: muitos programas armazenam dados em cache no diretório pessoal do usuário, o que geralmente faz mais mal do que bem quando o diretório inicial é acessado pela rede.

Hoje em dia, você pode dizer a vários programas para armazenar seus caches em outro lugar (por exemplo, em um disco local) configurando a variável de ambiente XDG_CACHE_HOME em um script de login. Muitos programas (por exemplo, Firefox) ainda exigem configuração manual, portanto, você provavelmente terá que fazer algum trabalho extra para identificá-los e configurá-los de maneira uniforme para todos os usuários.

    
por 09.03.2012 / 13:07
3

Muitos lugares em que trabalhei usam diretórios iniciais montados pelo NFS. Normalmente não há uma diferença enorme no desempenho (e os usuários de quiosque são provavelmente um pouco menos exigentes do que os desenvolvedores que sabem como se apossar de um cara de TI local). Um problema que tenho visto é o que acontece quando estou logado em um desktop Gnome e o servidor NFS desaparece por qualquer motivo. As coisas ficam realmente indiferentes.

    
por 04.06.2009 / 03:30
2

Eu uso uma casa NFSed e funciona bem. mas você deve se certificar de que a rede seja rápida o suficiente e que nunca estará inoperante.

    
por 04.06.2009 / 03:23
2

Na prática, o NFS tem um bom desempenho para o diretório home se houver uma rede comutada de 100mbit ou melhor. Por mais de 10 a 20 quiosques, o servidor deve ter conectividade gigabit. Você não ganhará concursos de desempenho, mas coisas como Firefox e Open Office funcionarão bem.

Copiar no diretório inicial será um grande problema em termos de atrasos no login (em uma rede de 100 MB que é de no máximo 12 MB / s. Um diretório pessoal de 100 MB fica próximo de 10 segundos). O Rsync irá sincronizar o cache do navegador. .. 10 minutos e 500 arquivos doem.

    
por 04.06.2009 / 22:51
1

Dê uma olhada em cachefilesd . Eu não usei isso sozinho, mas parece promissor.

The cachefilesd daemon manages the caching files and directory that are that are used by network filesystems such a AFS and NFS to do persistent caching to the local disk.

Além disso, não se esqueça de ajustar os parâmetros rsize e wsize e usar os Jumbo frames, se possível.

    
por 04.06.2009 / 04:39