Artigos / Automontagem


O que é automontagem?

Para que os arquivos armazenados em um disquete, CDROM ou HD possam fazer parte do sistema de arquivos, é preciso realizar uma operação chamada "montagem".Esta operação anexa o sistema de arquivos à hierarquia de diretórios do sistema Linux. Basicamente a montagem consiste em informar ao sistema os parâmetros necessários para o acesso aos dados, como o ponto de montagem, o dispositivo utilizado, o tipo do sistema de arquivo, entre outros. A operação de montagem pode ser realizada manualmente ou pode ser automatizada. A montagem feita automaticamente é a automontagem.

A montagem automática é feita por um programa residente. Isto é útil em grandes ambientes de rede e para montagens de sistemas de arquivos entre várias máquinas, especialmente aquelas que nem sempre estão ligadas e também para dispositivos removíveis,evitando que a montagem tenha que ser feita manualmente.

Atualmente, existem formas automáticas de montagem que permitem o acesso aos dados apenas inserindo a mídia (disquete ou CDROM) no drive e lendo os dados no diretório que é o ponto de montagem do dispositivo. Há três tipos “montadores automáticos” no Linux, o AMD (AutoMounter Daemon), o Autofs e o Supermount.


Supermount

O Supermount é um sistema de arquivos virtual que fica permanentemente montado sobre os dispositivos de mídia removível. É uma ferramenta que possui a característica de montar e desmontar os dispositivos removíveis automaticamente quando fazemos o acesso ao ponto de montagem especificado ( /mnt/floppy, /mnt/cdrom). O que ele faz é montar o dispositivo e disponibilizá-lo no diretório especificado no arquivo /etc/fstab. É como se, ao digitarmos cd /mnt/floppy, estivéssemos digitando a: no DOS. Se não houver nenhuma mídia (leia-se disquete/CD-ROM) no drive o supermount exibirá uma mensagem de erro.

O supermount pode ser utilizado tanto para drives de disquete como para CD-ROM. Como a mídia não fica montada a não ser pelo tempo estritamente necessário , o CD-ROM não fica "preso" no drive como acontece durante uma montagem comum, além de o usuário poder retirar o disquete do drive logo após a gravação sem que haja perda de dados. Pode-se dizer que é uma solução inferior à montagem manual, servindo apenas para facilitar a vida do usuário comum.

Para habilitar a utilização do supermount você simplesmente deve executar o seguinte comando:

# supermount -i enable

e em seguida reiniciar o seu sistema ou então montar as mídias removíveis manualmente com o comando:

# mount -a -t supermount

Para desabilitar o supermount basta executar o comando:

# supermount -i disable

seguido do comando para desmontar as mídias supermount:

# umount -a -t supermount

AMD

AMD é o programa residente que faz a automontagem.Ele é implementado no espaço do usuário, o que significa que ele não é parte do kernel. Não é necessário para o kernel entender a automontagem se a sua montagem do NFS para a máquina local passa pelo programa residente do AMD, que faz as rotas de todos os tráficos de sistemas de arquivos automaticamente montados através do sistema NFS. '''O Network FileSystem, mais conhecido como NFS, é o principal sistema de redes dos *nix. Foi criado pela Sun Microsystems para se tornar o sistema padrão de partilha de arquivos. As grandes vantagens são:

  • Simples configuração;
  • Alta padronização;
  • Grande flexibilidade.

Com o NFS, é possível fazer um intercâmbio de arquivos para qualquer computador operando Linux, BSD, SCO, Unix, Solaris, SunOS, IRIX, AIX, HP-UX,True64, OS/2, etc., abrangendo uma grande quantidade de plataformas sem a necessidade de configurações complicadas e de muitos programas adicionais.

O daemon de automontagem, amd (automatic mounter daemon), monta automaticamente um sistema de arquivo remoto todas as vezes que um arquivo ou diretório naquele sistema de arquivo é acessado. Sistemas de arquivos que ficam inativos por um período de tempo também serão automaticamente desmontados pelo amd. Usar o amd é uma alternativa para montagens permanentes, uma vez que as montagens permanentes geralmente estão listadas no /etc/fstab.

O amd opera anexando-se como um servidor NFS aos diretórios /host e /net. Quando um arquivo é acessado dentro destes diretórios, o amd procura pelo ponto de montagem remoto correspondente e o monta automaticamente. O /net é usado para montar um sistema de arquivo exportado de um endereço IP,enquanto o /host é usado para montar uma exportação de um nome de sistema remoto.

Um acesso a um arquivo dentro de /host/foobar/usr diria ao amd para tentar montar a exportação /usr no sistema foobar. Você pode ver as montagens disponíveis de um sistema remoto com o comando showmount. Por exemplo, para ver as montagens de um sistema chamado foobar, você pode usar:

$ showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
$ cd /host/foobar/usr

Como visto no exemplo, o showmount mostra /usr como uma exportação. Quando trocar de diretórios para host/foobar/usr, o amd tenta resolver o nome do sistema foobar e automaticamente monta a exportação desejada. O amd pode ser iniciado pelos scripts de inicialização colocando as seguintes linhas no /etc/rc.conf:

Arquivo: /etc/rc.conf
amd_enable="YES"

Adicionalmente, parâmetros personalizados podem ser passados ao amd pela opção amd_flags. Por padrão, o amd_flags é ajustado para:

amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"

O arquivo /etc/amd.map define as opções padrão com as quais as exportações serão montadas. O arquivo '/etc/amd.conf'' define algumas das características mais avançadas do amd.


Autofs

O suporte à montagem automática do drive de CD-ROM e disquete é usado a tempos em várias distribuições Linux. Apesar disso, muitas distribuições não trazem este recurso habilitado por default, pois automount não é o sistema mais estável do mundo. Ele trava ou se confunde com uma certa freqüência, fazendo com que seja necessário ficar forçando a montagem ou ejeção do CD manualmente.

O autofs é um sistema novo auxiliado pelo Kernel, o que significa que o código do sistema de arquivos do kernel sabe onde estão os pontos de montagem do automount, diferente de um sistema de arquivos subjacente, e o programa de montagem automática pega isso de lá.

O autofs/automount é a combinação de um módulo de Kernel e um conjunto de utilitários e arquivos de configuração, que são instalados com o pacote autofs.

Em primeiro lugar, certifique-se que os módulo "autofs" ou "autofs4" está carregado. Rode o comando "lsmod" e verifique se ele aparece na lista. Caso não esteja carregado, habilite-o com o comando "modprobe autofs4" (ou "modprobe autofs", dependendo da distribuição) e adicione a linha "autofs4" no final do arquivo /etc/modules, para que ele seja carregado automaticamente durante o boot. O próximo passo é instalar o pacote autofs usando o gerenciador de pacotes incluído na sua distribuição. Nas derivadas do Debian instale com um:

# apt-get install autofs

O autofs é configurado através do arquivo /etc/auto.master. Um exemplo de configuração para este arquivo é:

# /etc/auto.master

Linha que ativa o automount para o CD-ROM: /mnt/auto /etc/auto.misc --timeout=5

A pasta "/mnt/auto" é a pasta que será usada como ponto de montagem quando um CD-ROM for inserido. Você pode usar qualquer pasta, como /autofs, /auto e assim por diante. Porém, lembre-se de sempre usar uma pasta exclusiva, pois ao configurar o autofs para usar uma pasta com outros arquivos ou pastas dentro eles ficarão inacessíveis até que ele seja desativado.

A opção seguinte, /etc/auto.misc indica um segundo arquivo, onde vão mais opções, incluindo os drives que serão monitorados. Você pode alterar o nome do arquivo, o importante é seu conteúdo. A última opção, "--timeout=5" especifica que depois de 5 segundos de inatividade o CD-ROM ou disquete é automaticamente desmontado, permitindo que você use o botão de ejetar do drive. Como disse, ele não conseguirá ejetar o CD-ROM se houver algum aplicativo acessando o CD, uma janela do gerenciador de arquivos acessando a pasta /mnt/auto/cdrom por exemplo. Você primeiro terá que fechar tudo para depois conseguir ejetar o CD.

Agora falta apenas iniciar o serviço do autofs:

# /etc/init.d/autofs start

O CD-ROM ficará acessível através da pasta /mnt/auto/cdrom e o disquete na pasta /mnt/auto/floppy, indicadas no segundo arquivo. Lembre-se de criar a pasta /mnt/auto caso ela não exista. Ao simplesmente acessar a pasta /mnt/auto/ você não verá o "cdrom", para acessar o CD é preciso ir direto ao ponto, acessando a pasta /mnt/auto/cdrom diretamente. Para facilitar isso, você pode criar um link "cdrom" dento do diretório /home, ou no desktop. Assim você clica sobre o "cdrom" e já vai direto à pasta. Para isso, use o comando:

$ ln -s /mnt/auto/cdrom ~/cdrom

Categorias: Gelsol Artigos