Tem se tornado cada vez mais comum o uso de estações Linux em empresas e uma das primeiras preocupações é o acesso a dados compartilhados tanto por estações Windows como por estações Linux de forma transparente.
Pensar em servidor de arquivos para estações Linux nos leva direto ao NFS server, escolha natural em quase todas as redes mistas mas o problema é como otimizar o uso da rede de forma a não gerar gargalos de tráfego com várias estações conectadas ao servidor simultaneamente. É aí que entra o autofs, um serviço de montagem automática de volumes que funciona tanto para servidores remotos como para mídias locais que entra em funcionamento sempre que o acesso seja solicitado e desativa este mapeamento quando o compartilhamento não for mais necessário.
A melhor forma de controle sobre esta configuração é criar um mapa de montagem em um servidor OpenLDAP contendo as informações de todos os mapeamentos disponíveis na rede.
Neste material estou utilizando como exemplo uma estação com Mandriva, e um servidor OpenLDAP 2.2.12 em Debian. Estas configurações podem ser realizadas em qualquer estação ou servidor, bastando para isto ter o schema autofs em seu OpenLDAP e o pacote autofs versão 5 ou superior em sua estação.
Configurando o servidor OpenLDAP para uso do autofs
Caso você não tenha o autofs.schema em sua instalação, você pode criar o arquivo a partir da listagem a seguir:
# autofs.schema
# Depends upon core.schema and cosine.schema
#
# OID Base is 1.3.6.1.4.1.2312.4
#
# Attribute types are under 1.3.6.1.4.1.2312.4.1
# Object classes are under 1.3.6.1.4.1.2312.4.2
# Syntaxes are under 1.3.6.1.4.1.2312.4.3
# Attribute Type Definitions
attributetype ( 1.3.6.1.1.1.1.25 NAME 'automountInformation'
DESC 'Information used by the autofs automounter'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
objectclass ( 1.3.6.1.1.1.1.13 NAME 'automount' SUP top STRUCTURAL
DESC 'An entry in an automounter map'
MUST ( cn $ automountInformation $ objectclass )
MAY ( description ) )
objectclass ( 1.3.6.1.4.1.2312.4.2.2 NAME 'automountMap' SUP top STRUCTURAL
DESC 'An group of related automount objects'
MUST ( ou ) )
# eof
Em seguida você deve acrescentar ao arquivo de configuração do OpenLDAP a seguinte linha:
include /etc/openldap/schema/autofs.schema
Em seguida reinicie seu servidor OpenLDAP. Em Debian ou Ubuntu:
# /etc/init.d/slapd restart
Em RedHat, Mandriva, Fedora e outros:
# /etc/init.d/ldap restart
Criando as informações do autofs na base LDAP
O primeiro passo é criar uma unidade que irá armazenar as informações do autofs. Fazendo uma analogia com o uso do autofs em arquivos de configuração, estaremos criando o equivalente ao arquivo auto.master. Para isto utilizaremos o arquivo LDIF a seguir:
dn: ou=auto.master,dc=empresa,dc=com,dc=br
objectClass: top
objectClass: automountMap
ou: auto.master
dn: cn=/ldap,ou=auto.master,dc=empresa,dc=com,dc=br
objectClass: automount
cn: /ldap
automountInformation: ldap://192.168.0.10/ou=auto.indirect,dc=empresa,dc=com,
dc=br
dn: cn=/-,ou=auto.master,dc=empresa,dc=com,dc=br
objectClass: automount
cn: /-
automountInformation: ldap://192.168.0.10/ou=auto.direct,dc=empresa,dc=com,
dc=br
A configuração indireta indica quais compartilhamentos serão mapeados localmente dentro de alguma pasta. Este arquivo LDIF cria este mapa através de uma nova OU e dentro desta a indicação dos compartilhamentos a serem mapeados:
dn: ou=auto.indirect,dc=empresa,dc=com,dc=br
objectClass: top
objectClass: automountMap
ou: auto.indirect
dn: cn=bin,ou=auto.indirect,dc=empresa,dc=com,dc=br
objectClass: automount
cn: bin
automountInformation: servidornfs:/usr/local/bin
dn: cn=etc,ou=auto.indirect,dc=empresa,dc=com,dc=br
objectClass: automount
cn: etc
automountInformation: servidornfs:/usr/local/etc
dn: cn=lib,ou=auto.indirect,dc=empresa,dc=com,dc=br
objectClass: automount
cn: lib
automountInformation: servidornfs:/usr/local/lib
dn: cn=/,ou=auto.indirect,dc=empresa,dc=com,dc=br
objectClass: automount
cn: /
automountInformation: servidornfs:/usr/local/&
Agora vamos cria uma configuração direta, ou seja, os compartilhamentos indicados serão mapeados diretamente na pasta indicada. O arquivo LDIF a seguir cria uma nova OU e indica os compartilhamentos a serem mapeados.
dn: ou=auto.direct,dc=empresa,dc=com,dc=br
objectClass: top
objectClass: automountMap
ou: auto.direct
dn: cn=/servidor/projetos,ou=auto.direct,dc=empresa,dc=com,dc=br
objectClass: automount
cn: /servidor/projetos
automountInformation: servidornfs:/data/projetos
dn: cn=/servidor/imagens,ou=auto.direct,dc=empresa,dc=com,dc=br
objectClass: automount
cn: /servidor/imagens
automountInformation: servidornfs:/data/imagens
dn: cn=/servidor/documentos,ou=auto.direct,dc=empresa,dc=com,dc=br
objectClass: automount
cn: /servidor/documentos
automountInformation: servidor2:/empresa/documentos
Refinando as opções de montagem no OpenLDAP
O atributo automountInformation pode receber, ainda, as opções de montagem do nfs. Se você deseja que o seu mapeamento seja feito em segundo plano e que seja possível interromper o processo, este atributo deve ficar desta forma:
automountInformation: -bg,soft,intr servidor2:/empresa/documentos
Nesse exemplo as opções representam:
| Opção | Descrição |
| bg | o processo de montagem será realizado em background. |
| soft | qualquer erro de montagem será reportado ao usuário quando processo atingir o tempo limite. |
| hard | o processo de montagem não poderá ser interrompido e o cliente NFS irá aguardar até que o servidor esteja novamente disponível (esta é a opção default) |
| intr | permite que o usuário interrompa o processo de montagem (ctrl+C) |
| timeo | indica o tempo limite para a operação de montagem do compartilhamento, após este tempo o processo irá retornar um erro ao usuário (default: 10000min) |
| rsize=8192 wsize=8192 |
permite uma melhor performance na comunicação NFS ampliando o tamanho do bloco de dados transferido entre o cliente e o servidor de cada vez. Esta opção deve ser utilizada com cuidado pois versões antigas de kernel e algumas placas de rede não funcionam corretamente com grandes pacotes de rede. |
Instalando e configurando o autofs na estação
Como estou utilizando um Mandriva na estação, o processo de instalação foi realizado com o urpmi. Recomendo que você atualize sua instação antes de continuar com o processo de instalação, desta forma:
# urpmi --auto-select
# urpmi --auto autofs
Uma vez tendo instalado o autofs devemos realizar pequenas alterações em sua configuração. Estas configurações visam melhorar o desempenho e evitar pesquisas LDAP desnecessárias. Acesse a pasta /etc/autofs e edite o arquivo autofs.conf, deixando com as seguintes opções definidas
# Tempo de inatividade até que o mapeamento seja automaticamente
# desativado (normalmente eu defino isto em 1min)
TIMEOUT=60
# Base de pesquisa no OpenLDAP
SEARCH_BASE="dc=empresa,dc=com,dc=br
# Atributos a serem pesquisados
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"
Aproveite bem...


