Como posso garantir que um compartilhamento NFS permaneça montado?

1

Eu tenho uma máquina que monta o compartilhamento NFS de outra máquina.

No entanto, a máquina do cliente é inicializada mais rapidamente que o servidor, portanto, recebe um erro ao tentar montar o compartilhamento NFS do servidor. Eu tive uma falta de energia durante o fim de semana e isso pode ser chato quando eu estou distante.

Eu gostaria de garantir que o compartilhamento NFS seja sempre montado, de modo que, se o cliente detectar que o compartilhamento não está lá, ele tentará remontá-lo. Eu acho que isso pode envolver autofs e / ou upstart para garantir que o compartilhamento continue montado, mas não sei como fazer isso.

Estou a montá-lo através do seguinte método em /etc/fstab :

jillybean.local:/share /share nfs rsize=32768,rw,soft,intr
    
por Jorge Castro 23.06.2012 / 20:03

3 respostas

1

Existem várias coisas que você pode fazer:

  • adicione o retry=n (com n sendo um inteiro representando minutos) às suas opções de montagem em /etc/fstab para os casos O NFS não está (ainda) disponível no momento da inicialização
  • faça uso de autofs, como você sugeriu (muitos tutoriais retornados por esta pesquisa do Google )
  • cria um processo de daemon simples que sai quando o compartilhamento NFS não está disponível e o monta quando chamado com o parâmetro start - assim, você pode configurá-lo como evento inicial com respawn (ou seja, reiniciar automaticamente quando abortado diferente de service xyz stop ). Combine isso com acima de retry=n )
  • configure um cron job para verificar algum diretório (existente) no compartilhamento NFS - e execute o comando mount quando ele não for encontrado (novamente, combine-o com retry=n )
por Izzy 13.07.2012 / 12:54
0

Considere criar um script bash com o seguinte:

#!/bin/bash
if ! grep -qs '/share' /proc/mounts; then
    mount jillybean.local:/share /share
fi

Conceda permissões exe. Em seguida, coloque o script em crontab , cronizando-o de acordo com suas necessidades. Por exemplo, se você sabe que suas máquinas funcionam às 7 horas, você pode considerar executar o script a cada minuto de 7 a 8:

0-15 7-8 * * * /path/tho/your/script.sh
    
por jasmines 11.07.2012 / 06:51
0

Tente usar uma montagem em segundo plano.

Na página geral do fstab do nfs :

  

bg / fg

     

Determina como o comando mount (8) se comporta se uma tentativa de montar um   a exportação falha. A opção fg faz com que o mount (8) saia com um erro   status se qualquer parte da solicitação de montagem atingir o tempo limite ou falhar completamente.   Isso é chamado de montagem "em primeiro plano" e é o comportamento padrão se   nem a opção de montagem fg nem bg é especificada.

     

Se a opção bg for especificada, um tempo limite ou uma falha   mount (8) comando para bifurcar uma criança que continua a tentar montar   a exportação. O pai imediatamente retorna com um código de saída zero. este   é conhecido como uma montagem de "fundo".

     

Se o diretório do ponto de montagem local estiver ausente, o comando mount (8)   age como se a solicitação de montagem tivesse expirado. Isso permite que montagens NFS aninhadas   especificado em / etc / fstab para prosseguir em qualquer ordem durante o sistema   inicialização, mesmo que alguns servidores NFS ainda não estejam disponíveis.   Alternativamente, esses problemas podem ser abordados usando um automontador   (consulte o automount (8) para detalhes).

Ao fazer uma montagem em segundo plano, a repetição padrão é 10000 minutos. Da mesma página:

  

retry = n

     

O número de minutos que o comando mount (8) tenta novamente uma montagem NFS   operação em primeiro plano ou plano de fundo antes de desistir. Se este   opção não é especificada, o valor padrão para montagens de primeiro plano é 2   minutos e o valor padrão para montagens de fundo é 10000 minutos   (80 minutos de uma semana). Se um valor de zero for especificado, o   O comando mount (8) sai imediatamente após a primeira falha.

    
por ebob9 02.05.2015 / 19:07