Compartilhamento de arquivos com NFS

De Fórum Debian Wiki

Uma das coisas mais legais de se ter um servidor é a capacidade de gerênciamento, mas, ainda mais legal é a capacidade de compartilhamento de arquivos, onde o usuário pode enviar e receber arquivos na rede. Para exemplificar bem isso, venho por este mostrar como se construir de maneira bem simples um compartilhamento NFS onde poderemos posteriormete adicionar e remover arquivos no nosso servidor de arquivos. O SO (Sistema operacional) que uso é o Debian 6 "Squeeze", que por sinal tem uma ligeira vantagem em velocidade na subida dos serviços, no mais quero me resumir por enquanto apenas ao NFS, mas em breve postarei nos textos sobre outros serviços. Lembrando que essa dica funciona no Debian 4 e 5.vamos lá. :)

Bom, para começarmos precisamos primeiro instalar o NFS nas máquinas, servidor e cliente, no caso do Debian 6 usei o aptitude e fica + ou - assim:

   claro que antes devemos estar com nossos repositórios atualizados...verifique também se o módulo portmap esta levantado, ou seja, rodando 
   no servidor, para isso use invoke-rc.d portmap restart.
   1) apt-get update e logo depois um aptitude update 
   
   veja o exemplo de repositórios válidos no Debian 6...
   só para lembrar onde ficam os repositórios: /etc/apt/sources.list.
   edite com um editor de sua prefrência e pronto! 
        deb http://http.us.debian.org/debian/ unstable main non-free contrib
        deb-src http://http.us.debian.org/debian/ unstable main non-free contrib
        deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
        deb-src http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
        deb http://www.debian-multimedia.org etch main # repositório multimedia
        deb http://download.virtualbox.org/virtualbox/debian jaunty non-free #Essa linha é referente a máquina virtual!
   
   2) Depois do sistema atualizado vamos ao que importa...
      no terminal digite aptitude install nfs-kernel-server. Acredito que tenha dado certo, mas se não deu use
      o apt-get install nfs-kernel-server. Depois de instalado vamos ao passo de configuração do nosso servidor
      de arquivos, é apenas um arquivo responsável por adicionar os compartilhamentos e o mesmo fica na pasta /etc/
      com o nome exports. O corpo do arquivo deve ser parecido com isso:
      
      # /etc/exports: the access control list for filesystems which may be exported
      #               to NFS clients.  See exports(5).
      #
      # Example for NFSv2 and NFSv3:
      # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
      #
      # Example for NFSv4:
      # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
      # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
      #
      /srv/nfs 172.31.43.* (rw,no_root_squash)



   3) No fim arquivo adicione uma pasta que que você deseja compartilhar...
      
      exemplo: Digamos que eu deseje compartilhar a pasta /home/usuario/shared, crio a pasta em /home/usuario com o 
      comando mkdir -p /srv/nfs, criando assim a pasta /srv/nfs que será usada em nosso compartilhamento,
      depois edite o arquivo com qualquer editor de textos e adicione ao final do arquivo o caminho desejado que no nosso
      caso é /srv/nfs, existe umas opções de compartilhamento que no próprio arquivo já estão disponíveis
      como:
      
      rw - Monta a pasta como leitura e escrita
      ro - Monta a pasta como apenas leitura
      no_subtree_check - Monta mas não permite edição em sub-pastas
      no_root_squash - Permite que o usuário root local administre o compartilhamento.
      root_squash - Faz com que o root não tenha domínio dentro do compartilhamento.
             .
   4) Depois de editado o arquivo, feche-o e entaõ digite /etc/init.d/nfs-kernel-server restart para reiniciar o 
      daemon do servidor NFS ou da mesma forma pode-se usar o invoke-rc.d nfs-kernel-server restart.
   5) Para verificarmos se realmente o nosso compartilhamento ta OK, vamos digitar no terminal o comando:
      showmount -e ṕara verificar os diretórios compartilhados, após a flag -e pode-se colocar também o IP desejado
      caso já se saiba a qual IP estamos fazendo referência. No meu caso a saída do comando está assim:
      
      Export list for office:      O Nome office é o nome da máquina que tenho como servidor, mas óbiviamente, no seu caso pode ser outa.
      /srv/nfs (everyone)
   6) Agora na máquina cliente, depois de instalarmos o serviço NFS e claro estarmos na mesma rede, precisamos montar a pasta compartilhada
      com o seguinte comando:
     
      mount -tnfs IP_DO_SERVIDOR:/srv/nfs /mnt/PASTA_CRIADA_PARA_O_COMPARTILHAMENTO.
      ficou assim na minha máquina cliente: mount -tnfs 172.31.43.10:/srv/nfs /mnt/dados, claro que antes de fazermos isso, foi criada uma pasta
      mkdir /mnt/dados, para que os arquivos do compartilhamento possam ser acessados.
   
    7) Pronto, agora na máquina cliente digite showmount -a e o IP DO SERVIDOR, como em showmount -a 172.31.43.10 para ver se a pasta esta montada
       e depois para ver se no cliente ta legal digite showmount -a e o IP do cliente ou do próprio servidor.
    Espero ter ajudado e qualquer erro de digitação é só vocês editarem ou relatarem OK? abraçoa todos!!!
Ferramentas pessoais