4.13. Monta Binds e Organiza a Montagem de Sistema de Arquivo


Quando você usa a opção bind do comando mount, você deve certificar-se que os sistemas de arquivo são montados na ordem correta. No seguinte exemplo, o diretório /var/log deve ser montado antes de executar a montagem bind no diretório /tmp:
# mount --bind /var/log /tmp
A ordem das montagens do sistema de arquivo está determinada abaixo:
  • Em geral, a montagem do sistema de arquivos é determinada pela ordem em que os sistemas de arquivos aparecem no arquivo fstab. As exceções para esta ordenação são sistemas de arquivos montados com o sinalizador _netdev ou sistemas de arquivos que possuem seus próprios scripts init.
  • Um sistema de arquivo com o próprio script init é montado mais tarde no processo de inicialização, após os sistemas de arquivo no arquivo fstab.
  • Os sistemas de arquivo montados com o sinalizador _netdev são montados quando a rede é ativada no sistema.
Se sua configuração requer que você crie um bind de montagem na qual montar um sistema de arquivos GFS2, você pode ordenar seu arquivo fstab conforme a seguir:
  1. Monte sistemas de arquivos locais que são requeridos para a
  2. Faz o bind de montagem no diretório no qual se montará o sistema de arquivos GFS2.
  3. Monte do sistema de arquivos GFS2.
Se sua configuração requer que você faça um bind de montagem em um diretório local ou sistema de arquivos em um sistema de arquivos GFS2, listando os sistemas de arquivos na ordem correta no arquivo fstab não montará os sistemas de arquivos corretamente já que o sistema de arquivos GFS2 não será montado até que o script init do GFS2 seja rodado. Neste caso, você deve escrever um script init para executar o bind de montagem, para que então esse não tome lugar até que o sistema GFS2 seja montado.
O script seguinte é um exemplo de um script init personalizado. Este script realiza um bind de montagem de dois diretórios em cima de dois diretórios de um sistema de arquivos GFS2. Neste exemplo, há um ponto de montagem GFS2 em /mnt/gfs2a, que é montado quando o script init do GFS2 roda, depois da inicialização do cluster.
Next script de exemplo, os valores da declaração chkconfig indicam o seguinte:
  • 345 indica os níveis de execução em que o script será iniciado.
  • 29 é a prioridade de início, que neste caso indica que o script será executado na hora da inicialização depois do script init do GFS2, que possui prioridade de início 26.
  • 73 é a prioridade de parada, que neste caso indica que o script será parado durante o desligamento antes do script GFS2 que possui uma prioridade de parada de 74.
Os valores de parada e início indicam que você pode manualmente realizar a ação indicada executando um comando de início de serviço e parada de serviço. Por exemplo, se o script é chamado fredwilma, então você pode executar service fredwilma start.
O script deve ser colocado no diretório /etc/init.d com as mesmas permissões assim como os outros scripts nesse diretório. Você pode executar um comando chkconfig on para ligar o script ao níveis de execução indicados. Por exemplo, se o script é chamado fredwilma, então você pode executar chkconfig fredwilma on.

#!/bin/bash
#
# chkconfig: 345 29 73
# description: mount/unmount my custom bind mounts onto a gfs2 subdirectory
#
#
### BEGIN INIT INFO
# Provides: 
### END INIT INFO

. /etc/init.d/functions
case "$1" in
  start)
	# In this example, fred and wilma want their home directories
	# bind-mounted over the gfs2 directory /mnt/gfs2a, which has
	# been mounted as /mnt/gfs2a
	mkdir -p /mnt/gfs2a/home/fred &> /dev/null
	mkdir -p /mnt/gfs2a/home/wilma &> /dev/null
	/bin/mount --bind /mnt/gfs2a/home/fred /home/fred
	/bin/mount --bind /mnt/gfs2a/home/wilma /home/wilma
        ;;

  stop)
	/bin/umount /mnt/gfs2a/home/fred
	/bin/umount /mnt/gfs2a/home/wilma
        ;;

  status)
        ;;

  restart)
        $0 stop
        $0 start
        ;;

  reload)
        $0 start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac

exit 0
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.