SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
...........................................................................................................................................3

                         ................................................................................................................................. 4

        ....................................................................................................................................................5

                              ............................................................................................................................ 6

                                                                                                 ..........................................................8

                                                                                                 ......................................................... 11

                                                                                               .......................................................... 13

                                                                                           .............................................................. 16

                                                                                        ................................................................. 18

                                    ....................................................................................................................20

               ......................................................................................................................................... 23

                  ...................................................................................................................................... 24




                                                                                                                                                           1
UFCD 0840 - Servidores Web
Ilustração 1 - NFS ....................................................................................................................................3
Ilustração 2 - Network file system ................................................................................................... 4
Ilustração 3 - Quotas NFS ...................................................................................................................5
Ilustração 4 - Remote Procedure Call ............................................................................................ 6
Ilustração 5 - /etc/exportfs .................................................................................................................. 9
Ilustração 6 - nfsstat ............................................................................................................................10
Ilustração 7 - sudo apt-get install portmap nfs-kernel-server .............................................. 13
Ilustração 8 - /etc/exportfs ................................................................................................................. 14
Ilustração 9 - sudo /etc/init.d/portmap restart ........................................................................... 14
Ilustração 10 - sudo /etc/init.d/nfs-kernel-server restart .......................................................... 15
Ilustração 11 - sudo apt-get install portmap nfs-common ...................................................... 16
Ilustração 12 - Efectuar a associação de uma dada directoria na árvore de directorias
do cliente a um sistema de ficheiros remotos.............................................................................. 17
Ilustração 13 - sudo gedit fstab ........................................................................................................ 18
Ilustração 14 - 10.0.0.49:Transferências /mntpoint nfs rw,hard,intr 0 0 ............................. 19
Ilustração 15 - sudo apt-get install autofs ...................................................................................20
Ilustração 16 - /etc/auto.master ....................................................................................................... 21
Ilustração 17 - /etc/auto.home .......................................................................................................... 21
Ilustração 18 - Reiniciar autofs......................................................................................................... 22




                                                                                                                                                      2
UFCD 0840 - Servidores Web
A partilha de ficheiros numa rede de computadores é sem duvida um dos serviços
mais importantes, pois é basicamente através dos ficheiros que os utilizadores e as
máquinas trocam informações pela rede.

Assim, a habilidade de partilhar ficheiros é um serviço fundamental de qualquer
rede, tornando indispensável para todos os sistemas operativos de rede o suporte à
partilha de ficheiros pela rede.

O Linux é um sistema perfeito para este serviço, porque fornece uma gama extensa
de mecanismos de partilha de ficheiros, que integram desde os clientes Microsoft
Windows, clientes Unix e outros clientes que não são compatíveis com qualquer um
destes numa rede única e coesa.

Desta forma, iremos abordar inicialmente o que é o NFS e posteriormente estudar
como funciona o NFS (Network File System), utilizando exemplos práticos realizados
nas sessões.




                                   Ilustração 1 - NFS




                                                                                 3
UFCD 0840 - Servidores Web
O NFS, originalmente desenvolvido pela Sun Microsystems, permite partilhar
directorias e ficheiros através de uma rede.

Através do NFS os utilizadores e programas acedem a pastas partilhadas localizadas
em sistemas remotos como se fossem ficheiros locais.

O NFS é um sistema cliente/servidor. O cliente usa as directorias remotos como se elas
fizessem parte de seu sistema físico, o servidor torna directorias disponíveis para
partilha.

Anexar uma directoria remota a um sistema de ficheiro local é chamado de montar
uma directoria. O ato de oferecer partilha de pastas é chamado de exportar uma
directoria.

O NFS é um protocolo de chamada a procedimento remoto (RPC – Remote
Procedure Calls) que é executado em simultâneo com os protocolos UDP e TCP/IP.
Uma chamada de procedimento remoto simplesmente é uma chamada de sistema
que é processada por um servidor remoto.

Quando um programa fizer uma chamada de I/O (Entrada/Saída) para um ficheiro
NFS, a chamada é interceptada pelo sistema de arquivos NFS, e é enviada através
da rede ao servidor remoto para processamento.




                           Ilustração 2 - Network file system


                                                                                    4
UFCD 0840 - Servidores Web
Na implementação de um sistema NFS para exportar directorias de trabalho dos
utilizadores, é importante que as quotas definidas no servidor NFS sejam válidas e
que se encontrem activas nos sistemas dos clientes NFS.

O servidor NFS deve dispor do serviço rpc.rquotad activo para que as quotas sejam
válidas no cliente, este processo normalmente é activado pelo script de controlo do
NFS.

A configuração do ficheiro rpc.rquotad deve ser implementada no servidor, onde
serão atribuídas as quotas em disco para os clientes, tal como se os valores dessas
mesmas quotas estivessem sidos definidos localmente.




                                Ilustração 3 - Quotas NFS




                                                                                 5
UFCD 0840 - Servidores Web
O protocolo RPC (Remote Procedure Call) é um dos protocolos de aplicação mais
utilizados, pois permite que sejam criadas aplicações cliente servidor num ambiente
de rede sem que o programador tenha a necessidade de implementar um protocolo.

O protocolo RPC estende o conceito de chamada a procedimentos locais. O objetivo
do protocolo será tornar transparentes chamadas a procedimentos cujo código está
localizado em servidores remotos. O sistema procura tornar as mensagens trocadas
para a invocação do procedimento e retorno de parâmetros transparente para o
utilizador.

A figura abaixo representa a sequência executada quando uma chamada a um
procedimento é executada a partir de um cliente.




                             Ilustração 4 - Remote Procedure Call




A figura não mostra um acesso anterior realizado na porta 111 do servidor, onde está
a escutar um processo chamado portmapper. O portmapper é responsável por



                                                                                  6
UFCD 0840 - Servidores Web
realizar o mapeamento dos procedimentos remotos operados pelo servidor e a porta
onde está o servidor do procedimento propriamente dito.

Os daemons que processam as solicitações do NFS no servidor não têm números de
porta UDP padrão. Ao invés disto, a eles são atribuídos dinamicamente um número
de porta pelo portmapper do RPC. Em alguns sistemas, o programa portmapper é
chamado de rpc.portmap ou simplesmente portmap.

Então, o portmap é um servidor que converte chamadas RPC em números de portas
de rede. Assim, quando um servidor RPC é iniciado ele abre a porta 111, que é a
padrão do portmappers, desta forma, quando um cliente quer utilizar algum serviço
RPC ele contata o portmapper e descobre qual é a porta atribuída ao serviço
desejado.




                                                                                7
UFCD 0840 - Servidores Web
Através do NFS é possível montar diretorias partilhadas remotamente como se
fossem dispositivos locais. O NFS precisa estar preparado no kernel, seja nativo ou
carregado como módulo, tanto no servidor quanto no cliente.

Para montar dispositivos remotos, é necessário que o daemon /sbin/rpc.portmap
esteja ativo no cliente e no servidor. A sua execução é controlada através do script
/etc/init.d/portmap start|stop|restart ou /etc/rc.d/rc.portmap start|stop|restart.

Para que uma máquina possa oferecer diretorias através do NFS, é necessário ativar
os daemons:

       /usr/sbin/rpc.rquotad
       /usr/sbin/rpc.nfsd
       /usr/sbin/rpc.mountd
       /usr/sbin/rpc.lockd
       /usr/sbin/rpc.statd

A execução de todos esses daemons é unificada através do script /etc/rc.d/init.d/nfs
start|stop|restart ou /etc/rc.d/rc.nfsd start|stop|restart.

As partilhas são configuradas através do arquivos /etc/exports. Cada linha contém
uma directoria partilhada seguida de uma lista, separada por espaços, dos IP´S
clientes que poderão montá-los. Cada IP cliente pode estar acompanhado de
parênteses imediatamente à sua direita, sem que haja espaço depois dele, contendo
opções de acesso para o mesmo.



Exemplo de partilha em /etc/exportfs:




                                                                                     8
UFCD 0840 - Servidores Web
Ilustração 5 - /etc/exportfs




A directoria /home/Carlos/Transferências 10.0.0.92 poderá ser montada pelo cliente,
de forma a ser acedida com permissões de leitura e escrita .

Para atualizar as alterações feitas ao ficheiro /etc/exportfs no servidor NFS ativo, é
necessário executar o comando exportfs -a. Para desativar as partilhas em
/etc/exports, executar exportfs -ua.

No cliente, o próprio comando mount é usado para montar a directoria remota.

O comando nfsstat mostra estatísticas de uso dos compartilhamentos NFS no servidor,
vejamos um exemplo:




                                                                                    9
UFCD 0840 - Servidores Web
Ilustração 6 - nfsstat




                                                      10
UFCD 0840 - Servidores Web
Permissões                         Definição
                             Activa a opção de leitura e escrita nesse
                 rw          volume NFS. Por padrão isso é desactivo,
                             o padrão é ro.
                             Esta opção não terá efeito caso o async
                             seja   definido.     O        Servidor      NFS
                             normalmente demora a fazer um comit
                             de escrita para disco e se o NFS Server
                             suspeitar   que     há      outra   requisição
                             solicitando a gravação. Isso permite que
            no_wdelay
                             múltiplas    solicitações     de    gravações
                             requisitadas sejam tranferidas para o
                             disco. Se o servidor de NFS recebe
                             pequenos pedidos relacionados, este
                             comportamento            pode       realmente
                             diminuir     a      performance,           assim
                             no_wdelay está disponível como off. Por
                             padrão a opção wdelay é on.
                             Esta opção desactiva a verificação do
                             subtree,    que    tem       implicações     de
                             segurança média, mas pode melhorar a
                             confiabilidade           em          algumas
                             circunstâncias.
                             Se um subdirectório de um sistema de
         no_subtree_check
                             arquivo é exportado, o servidor deve
                             verificar não só o arquivo que é acedido
                             no sistema de arquivo apropriado (que é
                             mais fácil) mas também o que esta na
                             árvore exportada (que é mais difícil).


                                                                            11
UFCD 0840 - Servidores Web
Esta opção permite que o Servidor NFS
                             viole o protocolo NFS e responda ao
                             pedido antes de quaisquer alterações
                             feitas nos ficheiros. Ao usar esta opção
                             geralmente melhora o desempenho, mas
               async
                             existe custo de perder a integridade dos
                             dados em caso de um crash no servidor,
                             isso pode causar danos, perdas ou dados
                             corrompidos.
                             Esta opção é baseada na opção do IRIX
                             NFS. Normalmente, se um servidor
                             exporta dois sistemas de arquivos que
                             estão dentro de um só, então o cliente
                             terá que montar dois sistemas de
                             arquivos explicitamente para ter acesso
              nohide
                             aos dois.
                             É usado para certificar que os arquivos
                             dentro das directorias somente são

          no_root_squash     acedidas pelo root, se o sistema de
                             arquivos é exportado com a opção
                             no_root_squash, então o arquivo é
                             acedido com mais direitos em geral.




                                                                    12
UFCD 0840 - Servidores Web
Para procedermos à instalação do servidor NFS, utilizamos o comando “sudo apt-get
install portmap nfs-kernel-server”, vejamos o exemplo:




                  Ilustração 7 - sudo apt-get install portmap nfs-kernel-server




O próximo passo é irmos ao ficheiro /etc/exportfs, é neste ficheiro que especificamos o
nome dos sistemas de ficheiros, as estações clientes que a eles podem aceder, bem como
as políticas segundo as quais estes espaços em disco podem ser acedidos:




                                                                                     13
UFCD 0840 - Servidores Web
Ilustração 8 - /etc/exportfs




Depois de modificarmos o ficheiro /etc/exports é necessário exportar as partilhas,
através do comando “sudo exportfs -ra” para que as alterações tenham efeito.

Para arrancar o serviço NFS é necessário ter o serviço Portmap a funcionar, para tal
usamos o seguinte comando “sudo /etc/init.d/portmap restart”:




                      Ilustração 9 - sudo /etc/init.d/portmap restart




                                                                                  14
UFCD 0840 - Servidores Web
Para iniciarmos e reiniciarmos o servidor NFS, precisamos de digitar o comando “sudo
/etc/init.d/nfs-kernel-server restart”




                     Ilustração 10 - sudo /etc/init.d/nfs-kernel-server restart




                                                                                  15
UFCD 0840 - Servidores Web
O procedimento da instalação do cliente NFS, executa-se através do seguinte
comando “sudo apt-get install portmap nfs-common”:




                   Ilustração 11 - sudo apt-get install portmap nfs-common




Depois de instalado passaremos então para a sua configuração para isso é necessário
usar o comando mount directamente na linha de comandos da estação cliente,
especificando o nome ou IP do servidor, a directoria da máquina remota e o ponto
de montagem na máquina local, como se pode ver no exemplo seguinte:




                                                                                 16
UFCD 0840 - Servidores Web
Ilustração 12 - Efectuar a associação de uma dada directoria na árvore de directorias do cliente a
                                    um sistema de ficheiros remotos




                                                                                                 17
UFCD 0840 - Servidores Web
Para nos livrarmos da perda tempo a efectuar a montagem de todos os espaços em
disco necessários numa estação cliente sempre que esta arranque, os espaços em disco
a montar no cliente podem ser previamente especificados no ficheiro de configuração
/etc/fstab. Assim sempre que uma estação arranca este ficheiro será lido e os espaços
montados nas directorias especificadas. Par que tal aconteça basta alteramos o
ficheiro fstab de modo a incluir a montagem de um espaço em disco proveniente de
outra máquina da sua bancada, a linha a acrescentar no ficheiro é a seguinte
“10.0.0.49:Transferências /mntpoint nfs rw,hard,intr 0 0”:




                               Ilustração 13 - sudo gedit fstab




                                                                                   18
UFCD 0840 - Servidores Web
Ilustração 14 - 10.0.0.49:Transferências /mntpoint nfs rw,hard,intr 0 0




                                                                                     19
UFCD 0840 - Servidores Web
Como se pode observar nos passos anteriores, o sistema de mounts do Linux torna-se
pouco prático porque obriga a usar o comando “mount” constantemente. Para
resolver este problema foram criados os serviços “amd” e “autofs” que fazem mount
automaticamente (automount), sempre que alguém usa os volumes de dados
correspondentes, vamos utilizar o autofs, para procedermos à instalação do mesmo
usamos o comando “sudo apt-get install autofs”:




                           Ilustração 15 - sudo apt-get install autofs




Em seguida vamos montar a pedido qualquer directoria /home/etc/auto.home, na
máquina cliente, para tal abrimos o documento /etc/auto.master e adicionamos a
linha acima referida:




                                                                               20
UFCD 0840 - Servidores Web
Ilustração 16 - /etc/auto.master

O próximo passo passa pela criação do ficheiro /etc/auto.home, e nele adicionamos a
seguinte   linha   “*   10.0.0.92.netlab.estv.ipv.pt:/export/home/&”,   o   IP   inserido
corresponde ao IP do nosso servidor.




                               Ilustração 17 - /etc/auto.home




                                                                                       21
UFCD 0840 - Servidores Web
Feita a instalação e configuração do autofs, vamos reiniciar o serviço através do
comando “sudo /etc/init.d/autofs start”:




                              Ilustração 18 - Reiniciar autofs




                                                                              22
UFCD 0840 - Servidores Web
Neste trabalho aprendemos que o protocolo NFS é um dos clássicos em sistemas
Linux, permite a exportação e o mapeamento de directorias e sistemas de ficheiros
entre servidores/clientes.

A configuração deste serviço em Linux é relativamente simples como tivemos
oportunidade de demonstrar.

Apesar de simples, as funcionalidades do NFS utilizadas em ambientes distribuídos
são bastantes importantes, permitem-nos aceder a ficheiros pessoais ou de trabalho
em diversos servidores dentro de uma rede local e de uma forma transparente.




                                                                               23
UFCD 0840 - Servidores Web
O presente trabalho teve como base:

      O livro Gestão de Sistemas de Redes Linux, cap. 20 – NFS;
      http://www.techienote.com/2010/10/file-sharing-in-ubuntu-with-nfs.html#more-
       833;
      http://ubuntuguide.net/share-ubuntu-folders-to-specifical-computer-with-nfs;
      http://www.vivaolinux.com.br/artigo/Configurando-um-servidor-NFS-em-4-
       passos;
      http://www.youtube.com/watch?v=d9uokz7yzPg&feature=related;
      http://www.vivaolinux.com.br/artigo/Configurando-um-servidor-NFS-em-4-
       passos;
      http://www.youtube.com/watch?v=d9uokz7yzPg&feature=related;
      http://ajmoreti.blogspot.com/2009/10/exports-sistema-de-arquivos-nfs-
       ser.html;
      http://lcnsqr.byethost9.com/?sec=lpic&exam=102&node=26;
      http://www.slideshare.net/luiz_arthur/redes-prtica-nfs;



Algumas imagens foram retiradas do site:

      http://www.google.pt/imghp?hl=pt-pt&tab=wi;




                                                                                      24
UFCD 0840 - Servidores Web

Mais conteúdo relacionado

Semelhante a Servidor Nfs

Guia Foca - Linux - Avançado
Guia Foca - Linux - AvançadoGuia Foca - Linux - Avançado
Guia Foca - Linux - AvançadoEliel Prado
 
Foca avancado
Foca avancadoFoca avancado
Foca avancadoTiago
 
Redes de computadores e internet.
Redes de computadores e internet.Redes de computadores e internet.
Redes de computadores e internet.valdarnini
 
Apostila dreamweaver-cs5
Apostila dreamweaver-cs5Apostila dreamweaver-cs5
Apostila dreamweaver-cs5aulaemvideo
 
Servidores Virtuais
Servidores VirtuaisServidores Virtuais
Servidores VirtuaisDiego Zilli
 
Analysis of the GNS3 as a teaching tool by simulated networks
Analysis of the GNS3 as a teaching tool by simulated networksAnalysis of the GNS3 as a teaching tool by simulated networks
Analysis of the GNS3 as a teaching tool by simulated networksMarlon Henry Schweigert
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFSLuiz Arthur
 
Microsoft redes introdução
Microsoft redes   introduçãoMicrosoft redes   introdução
Microsoft redes introduçãoJoão Dias
 
4 formacao-de-suporte-tecnico-proinfo
4 formacao-de-suporte-tecnico-proinfo4 formacao-de-suporte-tecnico-proinfo
4 formacao-de-suporte-tecnico-proinfoElizabete Bahia
 
Apostila fireworks-cs5
Apostila fireworks-cs5Apostila fireworks-cs5
Apostila fireworks-cs5aulaemvideo
 
Manual Guia de Instalação Debian GNU Linux
Manual Guia de Instalação Debian GNU LinuxManual Guia de Instalação Debian GNU Linux
Manual Guia de Instalação Debian GNU LinuxEvaldo Gomes
 

Semelhante a Servidor Nfs (20)

Internet basico
Internet basicoInternet basico
Internet basico
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Guia Foca - Linux - Avançado
Guia Foca - Linux - AvançadoGuia Foca - Linux - Avançado
Guia Foca - Linux - Avançado
 
Foca linux3
Foca linux3Foca linux3
Foca linux3
 
Foca avancado
Foca avancadoFoca avancado
Foca avancado
 
Redes de computadores e internet.
Redes de computadores e internet.Redes de computadores e internet.
Redes de computadores e internet.
 
Apostila redes
Apostila redesApostila redes
Apostila redes
 
Apostila cantu
Apostila cantuApostila cantu
Apostila cantu
 
Apostila redes e internet
Apostila redes e internetApostila redes e internet
Apostila redes e internet
 
Apostila dreamweaver-cs5
Apostila dreamweaver-cs5Apostila dreamweaver-cs5
Apostila dreamweaver-cs5
 
Servidores Virtuais
Servidores VirtuaisServidores Virtuais
Servidores Virtuais
 
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA PLATAFORMA UNIX
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA PLATAFORMA UNIXPERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA PLATAFORMA UNIX
PERÍCIA FORENSE APLICADA EM SERVIDORES NOS PADRÕES DA PLATAFORMA UNIX
 
Analysis of the GNS3 as a teaching tool by simulated networks
Analysis of the GNS3 as a teaching tool by simulated networksAnalysis of the GNS3 as a teaching tool by simulated networks
Analysis of the GNS3 as a teaching tool by simulated networks
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFS
 
Microsoft redes introdução
Microsoft redes   introduçãoMicrosoft redes   introdução
Microsoft redes introdução
 
4 formacao-de-suporte-tecnico-proinfo
4 formacao-de-suporte-tecnico-proinfo4 formacao-de-suporte-tecnico-proinfo
4 formacao-de-suporte-tecnico-proinfo
 
Manual dreamweaver cs4
Manual dreamweaver cs4Manual dreamweaver cs4
Manual dreamweaver cs4
 
Apostila fireworks-cs5
Apostila fireworks-cs5Apostila fireworks-cs5
Apostila fireworks-cs5
 
Apostila fireworks-cs5
Apostila fireworks-cs5Apostila fireworks-cs5
Apostila fireworks-cs5
 
Manual Guia de Instalação Debian GNU Linux
Manual Guia de Instalação Debian GNU LinuxManual Guia de Instalação Debian GNU Linux
Manual Guia de Instalação Debian GNU Linux
 

Servidor Nfs

  • 1.
  • 2. ...........................................................................................................................................3 ................................................................................................................................. 4 ....................................................................................................................................................5 ............................................................................................................................ 6 ..........................................................8 ......................................................... 11 .......................................................... 13 .............................................................. 16 ................................................................. 18 ....................................................................................................................20 ......................................................................................................................................... 23 ...................................................................................................................................... 24 1 UFCD 0840 - Servidores Web
  • 3. Ilustração 1 - NFS ....................................................................................................................................3 Ilustração 2 - Network file system ................................................................................................... 4 Ilustração 3 - Quotas NFS ...................................................................................................................5 Ilustração 4 - Remote Procedure Call ............................................................................................ 6 Ilustração 5 - /etc/exportfs .................................................................................................................. 9 Ilustração 6 - nfsstat ............................................................................................................................10 Ilustração 7 - sudo apt-get install portmap nfs-kernel-server .............................................. 13 Ilustração 8 - /etc/exportfs ................................................................................................................. 14 Ilustração 9 - sudo /etc/init.d/portmap restart ........................................................................... 14 Ilustração 10 - sudo /etc/init.d/nfs-kernel-server restart .......................................................... 15 Ilustração 11 - sudo apt-get install portmap nfs-common ...................................................... 16 Ilustração 12 - Efectuar a associação de uma dada directoria na árvore de directorias do cliente a um sistema de ficheiros remotos.............................................................................. 17 Ilustração 13 - sudo gedit fstab ........................................................................................................ 18 Ilustração 14 - 10.0.0.49:Transferências /mntpoint nfs rw,hard,intr 0 0 ............................. 19 Ilustração 15 - sudo apt-get install autofs ...................................................................................20 Ilustração 16 - /etc/auto.master ....................................................................................................... 21 Ilustração 17 - /etc/auto.home .......................................................................................................... 21 Ilustração 18 - Reiniciar autofs......................................................................................................... 22 2 UFCD 0840 - Servidores Web
  • 4. A partilha de ficheiros numa rede de computadores é sem duvida um dos serviços mais importantes, pois é basicamente através dos ficheiros que os utilizadores e as máquinas trocam informações pela rede. Assim, a habilidade de partilhar ficheiros é um serviço fundamental de qualquer rede, tornando indispensável para todos os sistemas operativos de rede o suporte à partilha de ficheiros pela rede. O Linux é um sistema perfeito para este serviço, porque fornece uma gama extensa de mecanismos de partilha de ficheiros, que integram desde os clientes Microsoft Windows, clientes Unix e outros clientes que não são compatíveis com qualquer um destes numa rede única e coesa. Desta forma, iremos abordar inicialmente o que é o NFS e posteriormente estudar como funciona o NFS (Network File System), utilizando exemplos práticos realizados nas sessões. Ilustração 1 - NFS 3 UFCD 0840 - Servidores Web
  • 5. O NFS, originalmente desenvolvido pela Sun Microsystems, permite partilhar directorias e ficheiros através de uma rede. Através do NFS os utilizadores e programas acedem a pastas partilhadas localizadas em sistemas remotos como se fossem ficheiros locais. O NFS é um sistema cliente/servidor. O cliente usa as directorias remotos como se elas fizessem parte de seu sistema físico, o servidor torna directorias disponíveis para partilha. Anexar uma directoria remota a um sistema de ficheiro local é chamado de montar uma directoria. O ato de oferecer partilha de pastas é chamado de exportar uma directoria. O NFS é um protocolo de chamada a procedimento remoto (RPC – Remote Procedure Calls) que é executado em simultâneo com os protocolos UDP e TCP/IP. Uma chamada de procedimento remoto simplesmente é uma chamada de sistema que é processada por um servidor remoto. Quando um programa fizer uma chamada de I/O (Entrada/Saída) para um ficheiro NFS, a chamada é interceptada pelo sistema de arquivos NFS, e é enviada através da rede ao servidor remoto para processamento. Ilustração 2 - Network file system 4 UFCD 0840 - Servidores Web
  • 6. Na implementação de um sistema NFS para exportar directorias de trabalho dos utilizadores, é importante que as quotas definidas no servidor NFS sejam válidas e que se encontrem activas nos sistemas dos clientes NFS. O servidor NFS deve dispor do serviço rpc.rquotad activo para que as quotas sejam válidas no cliente, este processo normalmente é activado pelo script de controlo do NFS. A configuração do ficheiro rpc.rquotad deve ser implementada no servidor, onde serão atribuídas as quotas em disco para os clientes, tal como se os valores dessas mesmas quotas estivessem sidos definidos localmente. Ilustração 3 - Quotas NFS 5 UFCD 0840 - Servidores Web
  • 7. O protocolo RPC (Remote Procedure Call) é um dos protocolos de aplicação mais utilizados, pois permite que sejam criadas aplicações cliente servidor num ambiente de rede sem que o programador tenha a necessidade de implementar um protocolo. O protocolo RPC estende o conceito de chamada a procedimentos locais. O objetivo do protocolo será tornar transparentes chamadas a procedimentos cujo código está localizado em servidores remotos. O sistema procura tornar as mensagens trocadas para a invocação do procedimento e retorno de parâmetros transparente para o utilizador. A figura abaixo representa a sequência executada quando uma chamada a um procedimento é executada a partir de um cliente. Ilustração 4 - Remote Procedure Call A figura não mostra um acesso anterior realizado na porta 111 do servidor, onde está a escutar um processo chamado portmapper. O portmapper é responsável por 6 UFCD 0840 - Servidores Web
  • 8. realizar o mapeamento dos procedimentos remotos operados pelo servidor e a porta onde está o servidor do procedimento propriamente dito. Os daemons que processam as solicitações do NFS no servidor não têm números de porta UDP padrão. Ao invés disto, a eles são atribuídos dinamicamente um número de porta pelo portmapper do RPC. Em alguns sistemas, o programa portmapper é chamado de rpc.portmap ou simplesmente portmap. Então, o portmap é um servidor que converte chamadas RPC em números de portas de rede. Assim, quando um servidor RPC é iniciado ele abre a porta 111, que é a padrão do portmappers, desta forma, quando um cliente quer utilizar algum serviço RPC ele contata o portmapper e descobre qual é a porta atribuída ao serviço desejado. 7 UFCD 0840 - Servidores Web
  • 9. Através do NFS é possível montar diretorias partilhadas remotamente como se fossem dispositivos locais. O NFS precisa estar preparado no kernel, seja nativo ou carregado como módulo, tanto no servidor quanto no cliente. Para montar dispositivos remotos, é necessário que o daemon /sbin/rpc.portmap esteja ativo no cliente e no servidor. A sua execução é controlada através do script /etc/init.d/portmap start|stop|restart ou /etc/rc.d/rc.portmap start|stop|restart. Para que uma máquina possa oferecer diretorias através do NFS, é necessário ativar os daemons:  /usr/sbin/rpc.rquotad  /usr/sbin/rpc.nfsd  /usr/sbin/rpc.mountd  /usr/sbin/rpc.lockd  /usr/sbin/rpc.statd A execução de todos esses daemons é unificada através do script /etc/rc.d/init.d/nfs start|stop|restart ou /etc/rc.d/rc.nfsd start|stop|restart. As partilhas são configuradas através do arquivos /etc/exports. Cada linha contém uma directoria partilhada seguida de uma lista, separada por espaços, dos IP´S clientes que poderão montá-los. Cada IP cliente pode estar acompanhado de parênteses imediatamente à sua direita, sem que haja espaço depois dele, contendo opções de acesso para o mesmo. Exemplo de partilha em /etc/exportfs: 8 UFCD 0840 - Servidores Web
  • 10. Ilustração 5 - /etc/exportfs A directoria /home/Carlos/Transferências 10.0.0.92 poderá ser montada pelo cliente, de forma a ser acedida com permissões de leitura e escrita . Para atualizar as alterações feitas ao ficheiro /etc/exportfs no servidor NFS ativo, é necessário executar o comando exportfs -a. Para desativar as partilhas em /etc/exports, executar exportfs -ua. No cliente, o próprio comando mount é usado para montar a directoria remota. O comando nfsstat mostra estatísticas de uso dos compartilhamentos NFS no servidor, vejamos um exemplo: 9 UFCD 0840 - Servidores Web
  • 11. Ilustração 6 - nfsstat 10 UFCD 0840 - Servidores Web
  • 12. Permissões Definição Activa a opção de leitura e escrita nesse rw volume NFS. Por padrão isso é desactivo, o padrão é ro. Esta opção não terá efeito caso o async seja definido. O Servidor NFS normalmente demora a fazer um comit de escrita para disco e se o NFS Server suspeitar que há outra requisição solicitando a gravação. Isso permite que no_wdelay múltiplas solicitações de gravações requisitadas sejam tranferidas para o disco. Se o servidor de NFS recebe pequenos pedidos relacionados, este comportamento pode realmente diminuir a performance, assim no_wdelay está disponível como off. Por padrão a opção wdelay é on. Esta opção desactiva a verificação do subtree, que tem implicações de segurança média, mas pode melhorar a confiabilidade em algumas circunstâncias. Se um subdirectório de um sistema de no_subtree_check arquivo é exportado, o servidor deve verificar não só o arquivo que é acedido no sistema de arquivo apropriado (que é mais fácil) mas também o que esta na árvore exportada (que é mais difícil). 11 UFCD 0840 - Servidores Web
  • 13. Esta opção permite que o Servidor NFS viole o protocolo NFS e responda ao pedido antes de quaisquer alterações feitas nos ficheiros. Ao usar esta opção geralmente melhora o desempenho, mas async existe custo de perder a integridade dos dados em caso de um crash no servidor, isso pode causar danos, perdas ou dados corrompidos. Esta opção é baseada na opção do IRIX NFS. Normalmente, se um servidor exporta dois sistemas de arquivos que estão dentro de um só, então o cliente terá que montar dois sistemas de arquivos explicitamente para ter acesso nohide aos dois. É usado para certificar que os arquivos dentro das directorias somente são no_root_squash acedidas pelo root, se o sistema de arquivos é exportado com a opção no_root_squash, então o arquivo é acedido com mais direitos em geral. 12 UFCD 0840 - Servidores Web
  • 14. Para procedermos à instalação do servidor NFS, utilizamos o comando “sudo apt-get install portmap nfs-kernel-server”, vejamos o exemplo: Ilustração 7 - sudo apt-get install portmap nfs-kernel-server O próximo passo é irmos ao ficheiro /etc/exportfs, é neste ficheiro que especificamos o nome dos sistemas de ficheiros, as estações clientes que a eles podem aceder, bem como as políticas segundo as quais estes espaços em disco podem ser acedidos: 13 UFCD 0840 - Servidores Web
  • 15. Ilustração 8 - /etc/exportfs Depois de modificarmos o ficheiro /etc/exports é necessário exportar as partilhas, através do comando “sudo exportfs -ra” para que as alterações tenham efeito. Para arrancar o serviço NFS é necessário ter o serviço Portmap a funcionar, para tal usamos o seguinte comando “sudo /etc/init.d/portmap restart”: Ilustração 9 - sudo /etc/init.d/portmap restart 14 UFCD 0840 - Servidores Web
  • 16. Para iniciarmos e reiniciarmos o servidor NFS, precisamos de digitar o comando “sudo /etc/init.d/nfs-kernel-server restart” Ilustração 10 - sudo /etc/init.d/nfs-kernel-server restart 15 UFCD 0840 - Servidores Web
  • 17. O procedimento da instalação do cliente NFS, executa-se através do seguinte comando “sudo apt-get install portmap nfs-common”: Ilustração 11 - sudo apt-get install portmap nfs-common Depois de instalado passaremos então para a sua configuração para isso é necessário usar o comando mount directamente na linha de comandos da estação cliente, especificando o nome ou IP do servidor, a directoria da máquina remota e o ponto de montagem na máquina local, como se pode ver no exemplo seguinte: 16 UFCD 0840 - Servidores Web
  • 18. Ilustração 12 - Efectuar a associação de uma dada directoria na árvore de directorias do cliente a um sistema de ficheiros remotos 17 UFCD 0840 - Servidores Web
  • 19. Para nos livrarmos da perda tempo a efectuar a montagem de todos os espaços em disco necessários numa estação cliente sempre que esta arranque, os espaços em disco a montar no cliente podem ser previamente especificados no ficheiro de configuração /etc/fstab. Assim sempre que uma estação arranca este ficheiro será lido e os espaços montados nas directorias especificadas. Par que tal aconteça basta alteramos o ficheiro fstab de modo a incluir a montagem de um espaço em disco proveniente de outra máquina da sua bancada, a linha a acrescentar no ficheiro é a seguinte “10.0.0.49:Transferências /mntpoint nfs rw,hard,intr 0 0”: Ilustração 13 - sudo gedit fstab 18 UFCD 0840 - Servidores Web
  • 20. Ilustração 14 - 10.0.0.49:Transferências /mntpoint nfs rw,hard,intr 0 0 19 UFCD 0840 - Servidores Web
  • 21. Como se pode observar nos passos anteriores, o sistema de mounts do Linux torna-se pouco prático porque obriga a usar o comando “mount” constantemente. Para resolver este problema foram criados os serviços “amd” e “autofs” que fazem mount automaticamente (automount), sempre que alguém usa os volumes de dados correspondentes, vamos utilizar o autofs, para procedermos à instalação do mesmo usamos o comando “sudo apt-get install autofs”: Ilustração 15 - sudo apt-get install autofs Em seguida vamos montar a pedido qualquer directoria /home/etc/auto.home, na máquina cliente, para tal abrimos o documento /etc/auto.master e adicionamos a linha acima referida: 20 UFCD 0840 - Servidores Web
  • 22. Ilustração 16 - /etc/auto.master O próximo passo passa pela criação do ficheiro /etc/auto.home, e nele adicionamos a seguinte linha “* 10.0.0.92.netlab.estv.ipv.pt:/export/home/&”, o IP inserido corresponde ao IP do nosso servidor. Ilustração 17 - /etc/auto.home 21 UFCD 0840 - Servidores Web
  • 23. Feita a instalação e configuração do autofs, vamos reiniciar o serviço através do comando “sudo /etc/init.d/autofs start”: Ilustração 18 - Reiniciar autofs 22 UFCD 0840 - Servidores Web
  • 24. Neste trabalho aprendemos que o protocolo NFS é um dos clássicos em sistemas Linux, permite a exportação e o mapeamento de directorias e sistemas de ficheiros entre servidores/clientes. A configuração deste serviço em Linux é relativamente simples como tivemos oportunidade de demonstrar. Apesar de simples, as funcionalidades do NFS utilizadas em ambientes distribuídos são bastantes importantes, permitem-nos aceder a ficheiros pessoais ou de trabalho em diversos servidores dentro de uma rede local e de uma forma transparente. 23 UFCD 0840 - Servidores Web
  • 25. O presente trabalho teve como base:  O livro Gestão de Sistemas de Redes Linux, cap. 20 – NFS;  http://www.techienote.com/2010/10/file-sharing-in-ubuntu-with-nfs.html#more- 833;  http://ubuntuguide.net/share-ubuntu-folders-to-specifical-computer-with-nfs;  http://www.vivaolinux.com.br/artigo/Configurando-um-servidor-NFS-em-4- passos;  http://www.youtube.com/watch?v=d9uokz7yzPg&feature=related;  http://www.vivaolinux.com.br/artigo/Configurando-um-servidor-NFS-em-4- passos;  http://www.youtube.com/watch?v=d9uokz7yzPg&feature=related;  http://ajmoreti.blogspot.com/2009/10/exports-sistema-de-arquivos-nfs- ser.html;  http://lcnsqr.byethost9.com/?sec=lpic&exam=102&node=26;  http://www.slideshare.net/luiz_arthur/redes-prtica-nfs; Algumas imagens foram retiradas do site:  http://www.google.pt/imghp?hl=pt-pt&tab=wi; 24 UFCD 0840 - Servidores Web