Aplica-se a SUSE Linux Enterprise Desktop 12

25 Montagem sob demanda com o Autofs

O autofs é um programa que monta automaticamente diretórios especificados sob demanda. Ele se baseia em um módulo do kernel para alta eficiência e pode gerenciar diretórios locais e compartilhamentos de rede. Estes pontos de montagem automática só são montados quando acessados e desmontados após um período de inatividade. Este comportamento sob demanda economiza largura de banda e promove um melhor desempenho do que as montagens estáticas gerenciadas por /etc/fstab. Enquanto o autofs é um script de controle, o automount é o comando (daemon) que faz a montagem automática propriamente dita.

25.1 Instalação

O autofs não é instalado no SUSE Linux Enterprise Desktop por padrão. Para usar seus recursos de montagem automática, instale-o primeiro com

sudo zypper install autofs

25.2 Configuração

Você deve configurar o autofs manualmente editando seus arquivos de configuração com um editor de texto, como o vim. Há duas etapas básicas para configurar o autofs: o arquivo de mapa master e os arquivos de mapa específicos.

25.2.1 O arquivo de mapa master

O arquivo de configuração master padrão do autofs é /etc/auto.master. É possível mudar seu local modificando o valor da opção DEFAULT_MASTER_MAP_NAME em /etc/sysconfig/autofs. Veja a seguir o conteúdo do padrão para o SUSE Linux Enterprise Desktop:

#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).1
#
#/misc  /etc/auto.misc2
#/net -hosts
#
# Include /etc/auto.master.d/*.autofs3
#
#+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master4

1

A página de manual do autofs (man 5 autofs) oferece muitas informações úteis sobre o formato dos mapas do automounter.

2

Embora comentado (#) por padrão, esse é um exemplo de sintaxe de mapeamento simples do automounter.

3

Caso seja necessário dividir o mapa master em vários arquivos, remova o comentário da linha e insira os mapeamentos (com o sufixo .autofs) no diretório /etc/auto.master.d/.

4

+auto.master garante que os que usam o NIS ainda localizem o mapa master.

As entradas no auto.master possuem três campos com a seguinte sintaxe:

mount point      map name      options
mount point

O local base para montar o sistema de arquivos do autofs, como /home.

map name

O nome da origem do mapa para usar na montagem. Para ver a sintaxe dos arquivos de mapa, consulte a Seção 25.2.2, “Arquivos de mapa”.

opções

Estas opções (se especificadas) serão aplicadas como padrão a todas as entradas no mapa determinado.

Dica
Dica

Para obter informações mais detalhadas sobre os valores específicos do map-type, format e options opcional, consulte a página de manual do auto.master (man 5 auto.master).

A seguinte entrada no auto.master instrui o autofs a procurar em /etc/auto.smb e criar pontos de montagem no diretório /smb.

/smb   /etc/auto.smb

25.2.1.1 Montagens diretas

As montagens diretas criam um ponto de montagem no caminho especificado dentro do arquivo de mapa relevante. Em vez de especificar o ponto de montagem em auto.master, substitua o campo do ponto de montagem por /-. Por exemplo, a seguinte linha instrui o autofs a criar um ponto de montagem no local especificado em auto.smb:

/-        /etc/auto.smb
Dica
Dica: Mapas sem o caminho completo

Se o arquivo de mapa não for especificado com seu local completo ou caminho de rede, ele será localizado usando a configuração NSS (Name Service Switch):

/-        auto.smb

25.2.2 Arquivos de mapa

Importante
Importante: Outros tipos de mapas

Embora os arquivos sejam os tipos de mapas mais comuns para montagem automática com o autofs, existem também outros tipos. Uma especificação de mapa pode ser a saída de um comando ou o resultado de uma consulta no LDAP ou banco de dados. Para obter informações mais detalhadas sobre os tipos de mapas, consulte a página de manual man 5 auto.master.

Os arquivos de mapa especificam o local de origem (local ou rede) e o ponto de montagem no qual montar a origem localmente. O formato geral dos mapas é parecido com o mapa master. A diferença é que as opções aparecem entre o ponto de montagem e o local, e não no final da entrada:

mount point      options      location
mount point

Especifica onde montar o local de origem. Pode ser o nome de um diretório único (a chamada montagem indireta) a ser adicionado ao ponto de montagem base especificado em auto.master ou o caminho completo do ponto de montagem (montagem direta, consulte a Seção 25.2.1.1, “Montagens diretas”).

opções

Especifica a lista de opções de montagem separadas por vírgulas referentes às entradas relevantes. Se auto.master também incluir opções para este arquivo de mapa, elas serão anexadas.

location

Especifica o local de onde o sistema de arquivos deverá ser montado. Normalmente, trata-se de um volume NFS ou SMB na notação usual host_name:path_name. Se o sistema de arquivos a ser montado começar com uma "/" (como as entradas locais /dev ou os compartilhamentos smbfs), será necessário incluir um prefixo de dois-pontos ":", como :/dev/sda1.

25.3 Operação e depuração

Esta seção apresenta informações sobre como controlar a operação do serviço autofs e como ver mais informações sobre depuração ao ajustar a operação do automounter.

25.3.1 Controlando o serviço autofs

A operação do serviço autofs é controlada pelo systemd. A sintaxe geral do comando systemctl do autofs é

sudo systemctl sub-command autofs.service

em que o subcomando é um dos seguintes:

habilitar

Inicia o daemon automounter na inicialização.

iniciar

Inicia o daemon automounter.

parar

Para o daemon automounter. Os pontos de montagem automática não estão acessíveis.

status

Imprime o status atual do serviço autofs juntamente com a parte de um arquivo de registro relevante.

restart

Para e inicia o automounter, terminando todos os daemons em execução e iniciando novos daemons.

reload

Verifica o mapa auto.master atual, reinicia os daemons que tiveram suas entradas modificadas e inicia daemons novos para entradas novas.

25.3.2 Depurando problemas do automounter

Se você tiver algum problema para montar diretórios com o autofs, convém executar o daemon automount manualmente e observar as mensagens de saída:

  1. Pare o autofs.

    sudo systemctl stop autofs.service
  2. De um terminal, execute o automount manualmente em primeiro plano, gerando a saída verbosa.

    sudo automount -f -v
  3. De outro terminal, tente montar os sistemas de arquivos de montagem automática acessando os pontos de montagem (por exemplo, por cd ou ls).

  4. Verifique a saída do automount do primeiro terminal para obter mais informações sobre a falha na montagem ou porque não houve nenhuma tentativa.

25.4 Montando automaticamente um compartilhamento NFS

O procedimento a seguir ilustra como configurar o autofs para montar automaticamente um compartilhamento NFS disponível na rede. Ele usa as informações mencionadas anteriormente e assume que você esteja familiarizado com as exportações NFS. Para obter mais informações sobre NFS, consulte o Capítulo 24, Compartilhando sistemas de arquivos com o NFS.

  1. Edite o arquivo de mapa master /etc/auto.master:

    sudo vim /etc/auto.master

    Adicione uma nova entrada para a nova montagem NFS ao final de /etc/auto.master:

    /nfs      /etc/auto.nfs      --timeout=10

    Ela informa ao autofs que o ponto de montagem base é /nfs, os compartilhamentos NFS estão especificados no mapa /etc/auto.nfs e todos os compartilhamentos nesse mapa serão automaticamente desmontados após 10 segundos de inatividade.

  2. Crie um novo arquivo de mapa para os compartilhamentos NFS:

    sudo vim /etc/auto.nfs

    Normalmente, o /etc/auto.nfs inclui uma linha separada para cada compartilhamento NFS. Seu formato está descrito na Seção 25.2.2, “Arquivos de mapa”. Adicione a linha que descreve o ponto de montagem e o endereço de rede do compartilhamento NFS:

    export      jupiter.com:/home/geeko/doc/export

    A linha acima indica que o diretório /home/geeko/doc/export no host jupiter.com será montado automaticamente no diretório /nfs/export no host local (/nfs é tirado do mapa auto.master) quando solicitado. O diretório /nfs/export será criado automaticamente pelo autofs.

  3. Se preferir, comente a linha relacionada em /etc/fstab caso já tenha montado o mesmo compartilhamento NFS estaticamente. A linha deve ser parecida com o seguinte:

    #jupiter.com:/home/geeko/doc/export /nfs/export nfs defaults 0 0
  4. Recarregue o autofs e verifique se está funcionando:

    sudo systemctl restart autofs.service
    # ls -l /nfs/export
    total 20
    drwxr-xr-x  6 1001 users 4096 Oct 25 08:56 ./
    drwxr-xr-x  3 root root     0 Apr  1 09:47 ../
    drwxr-xr-x  5 1001 users 4096 Jan 14  2013 .images/
    drwxr-xr-x 10 1001 users 4096 Aug 16  2013 .profiled/
    drwxr-xr-x  3 1001 users 4096 Aug 30  2013 .tmp/
    drwxr-xr-x  4 1001 users 4096 Oct 25 08:56 SLE-12-manual/

    Se você conseguir ver a lista de arquivos no compartilhamento remoto, o autofs estará funcionando.

25.5 Tópicos avançados

Esta seção descreve os tópicos que vão além da introdução básica sobre o autofs: montagem automática dos compartilhamentos NFS disponíveis na sua rede, uso de curingas em arquivos de mapa e informações específicas do sistema de arquivos CIFS.

25.5.1 Ponto de montagem /net

Este ponto de montagem ajudante é útil quando você usa muitos compartilhamentos NFS. O /net monta automaticamente todos os compartilhamentos NFS na rede local sob demanda. A entrada já está presente no arquivo auto.master, portanto, tudo o que você precisa fazer é remover o comentário dela e reiniciar o autofs:

/net      -hosts
systemctl restart autofs.service

Por exemplo, se você tem um servidor chamado jupiter com um compartilhamento NFS denominado /export, pode montá-lo digitando

# cd /net/jupiter/export

na linha de comando.

25.5.2 Usando curingas para montar subdiretórios automaticamente

Se você tem um diretório com subdiretórios que precisa montar um a um automaticamente (a situação mais comum é o diretório /home com subdiretórios pessoais de usuários individuais), o autofs tem a solução ideal para você.

No caso de diretórios pessoais, adicione a seguinte linha em auto.master:

/home      /etc/auto.home

Será necessário adicionar o mapeamento correto ao arquivo /etc/auto.home para que os diretórios pessoais dos usuários sejam montados automaticamente. Uma solução é criar entradas separadas para cada diretório:

wilber      jupiter.com:/home/wilber
penguin      jupiter.com:/home/penguin
tux      jupiter.com:/home/tux
[...]

Isso é bastante incomum, já que você precisa gerenciar a lista de usuários dentro de auto.home. É possível usar o asterisco ''*'' no lugar do ponto de montagem e o E comercial ''&'' no lugar do diretório a ser montado:

*      jupiter:/home/&

25.5.3 Montando automaticamente o sistema de arquivos CIFS

Para montar automaticamente um compartilhamento SMB/CIFS (consulte o Capítulo 23, Samba para obter mais informações sobre o protocolo SMB/CIFS), é necessário modificar a sintaxe do arquivo de mapa. Adicione -fstype=cifs no campo de opção e inclua um prefixo de '':'' no local do compartilhamento.

mount point      -fstype=cifs      ://jupiter.com/export
Imprimir esta página