quinta-feira, 25 de outubro de 2012

Configurando NFS no Ubuntu

Este tutorial tem por objetivo ensinar a configurar o NFS no Ubuntu de forma rápida e simples, mas sem deixar de transmitir os conceitos necessários para a aquisição do conhecimento teórico. Antes de configurarmos o NFS e o NIS no GNU/Linux, devemos compreender o que eles são e para o que eles são utilizados.

A configuração do NFS no servidor consiste de três simples passos. 

1° passo: 

Baixar o pacote nfs-kernel-server utilizando o comando: 

# apt-get install nfs-kernel-server 

Estando como root no shell. 

2° passo: 

Definir qual pasta será compartilhada pela rede. Para isso é necessário editar o arquivo/etc/exports. Estando como root, no shell, digite: 

# vi /etc/exports 

E pressione "enter". Deverá ser mostrado um arquivo que poderá estar vazio ou cheio de comentários como estes: 

# /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)
#

Os comentários são definidos quando, no início da linha, aparece um "#", que diz que tudo que vem após ele é um comentário e não deverá ser levado em conta pelo sistema. Bem, dentro deste arquivo basta inserirmos no final dele o diretório que desejamos compartilhar e que tipo de acesso permitiremos dentro do mesmo. 

Ficará assim: 

/diretório_a_ser_compartilhado tipo_de_acesso_permitido Exemplo: 

/home/ *(rw,sync,no_root_squash)

Obs.: "*" (asterisco) define que todos da rede terão permissão de acesso ao diretório. "rw" poderão ler, gravar e apagar o conteúdo do diretório no_root_squash, o root do servidor também poderá se logar remotamente. 

Para definir apenas alguns usuários específicos a terem permissão de acesso ao compartilhamento, basta que no lugar do "*" seja colocado o IP da máquina que você deseja que tenha acesso aos arquivos. Se desejar somente leitura, no lugar de "rw" coloque "ro". Feito sua configuração basta salvar o arquivo pressionar "Esc", depois ":" (dois pontos) e digitar "wq", por fim pressione "enter". 

3° passo: 

Estando ainda no shell, como root, vá ao diretório /etc/init.d e dentro dele digite: 

# ./nfs-kernel-server start 

Isso iniciará o servidor com nossas configurações preestabelecidas, deixando-o pronto para compartilhar a pasta que definimos, bem como as máquinas que poderão acessá-la. 

Agora que já temos um servidor NFS configurado e rodando, devemos definir no(s) cliente(s) quais máquinas na rede estão cedendo o direito de acessar arquivos, pastas, dispositivos etc. 

Para isso teremos dois simples passos a seguir. 

1° passo: 

Instalar o pacote nfs-common no(s) cliente(s) digitando: 

# apt-get install nfs-common 

2° passo: 

Após instalado o pacote nfs-common no cliente, existem duas formas de fazer a configuração. Uma é fazer de forma que ela só irá funcionar naquela hora e depois que o computador for desligado não irá mais funcionar; e outra é uma forma permanente. 

Primeira forma: 

Basta, estando no shell, como root, digitarmos o comando mount seguido do IP do servidor mais o diretório que ele está nos cedendo e definirmos em qual lugar no nosso computador montaremos, ou seja, criar o link que nos direcionará para o diretório que está no servidor em algum lugar na rede... Fascinante, hauhauah. 

Exemplo: 

# mount 192.168.10.101:/home /home 

Traduzindo... ;-) 

Estou dizendo que quero que no meu home seja montado o acesso ao diretório /home que está na máquina 192.168.10.101 da rede. 

Obs.: Esta foi a forma que, ao reiniciar o computador, este ponto de montagem desaparecerá, sendo necessário remontá-lo novamente. 

Segunda forma: 

Estando no shell, como root, digite: 

# vim /etc/fstab 

Dentro do arquivo aparecerá algo semelhante a isto: 

# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc            /proc           proc    defaults        0       0
/host/ubuntu/disks/root.disk /               ext3    loop,errors=remount-ro 0       1
/host/ubuntu/disks/boot /boot           none    bind            0       0
/host/ubuntu/disks/swap.disk none            swap    loop,sw         0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

No final do arquivo basta adicionarmos uma linha com o IP do servidor mais o diretório que ele está nos cedendo acesso e mais algumas configurações, ficando assim: 

192.168.10.101:/home      /home     nfs   rw,bg,tcp,rsize=32768,wsize=32768,hard,nointr,nolock,noac,timeo=600,user,auto  0       0

Feito sua configuração, basta salvar o arquivo. Pressione "Esc", depois dois pontos ":" e digite "wq" e aperte "Enter". Onde estamos dizendo ao sistema o seguinte: toda vez que o computador for ligado execute a montagem do diretório do servidor no meu home, assim essa configuração nunca desaparecerá quando desligarmos o PC. ;-) 

Muito bom para não termos que dar o mount toda hora.

Nenhum comentário:

Postar um comentário