Como fazer com que o linux pare de reclamar quando o servidor nfs está inativo?

2

Qualquer maneira de fazer com que o Linux desista de tentar reconectar os compartilhamentos do nfs? Eu tenho eles no fstab atualmente. Eu gostaria que eles tentassem montar na inicialização e só tentassem se reconectar manualmente depois disso. As ações que estão reclamando abaixo estão em uma máquina que não está ligada o tempo todo.

$ tail /var/log/syslog
Mar 17 10:13:26 Inspiron kernel: [429184.924089] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:30 Inspiron kernel: [429189.132255] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:37 Inspiron kernel: [429196.156051] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:37 Inspiron kernel: [429196.156072] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:42 Inspiron kernel: [429200.364084] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:46 Inspiron kernel: [429204.572092] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:53 Inspiron kernel: [429211.596078] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:53 Inspiron kernel: [429211.596122] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:13:57 Inspiron kernel: [429215.804094] nfs: server 192.168.1.200 not responding, timed out
Mar 17 10:14:01 Inspiron kernel: [429220.012094] nfs: server 192.168.1.200 not responding, timed out



$ cat /etc/fstab 
192.168.1.200:/mnt/Raid/TV_SHOWS /home/Shares/TV_SHOWS nfs rsize=8192,wsize=8292,timeo=14,intr,rw,user
192.168.1.200:/mnt/Raid/MOVIES /home/Shares/Movies nfs rsize=8192,wsize=8292,timeo=14,intr,rw,user
192.168.1.200:/mnt/Raid/DocuTV /home/Shares/DocuTV nfs rsize=8192,wsize=8292,timeo=14,intr,rw,user

ATUALIZAÇÃO:

Modifiquei meu fstab com os sinalizadores adicionais, mas o problema ainda está ocorrendo por algum motivo. Quando os compartilhamentos são montados e o servidor nfs fica inativo, ele tenta restabelecer a conexão, em vez de apenas desmontá-los. Esse problema ocorre apenas se o servidor nfs ficar inativo enquanto os compartilhamentos estiverem montados, acredito.

192.168.1.200:/mnt/Raid/TV_SHOWS /home/Shares/TV_SHOWS nfs rsize=8192,wsize=8292,timeo=14,intr,rw,user,retry=0,nofail
192.168.1.200:/mnt/Raid/MOVIES /home/Shares/Movies nfs rsize=8192,wsize=8292,timeo=14,intr,rw,user,retry=0,nofail
192.168.1.200:/mnt/Raid/DocuTV /home/Shares/DocuTV nfs rsize=8192,wsize=8292,timeo=14,intr,rw,user,retry=0,nofail

UPDATE 2: eu tentei bg, soft, retrans = 100, retry = 0, nofail

Ele ainda não parece estar desmontando o compartilhamento quando ele perde a conexão. A cada dois minutos eu recebo algumas mensagens de tempo limite para cada compartilhamento.

SOLUÇÃO: Eu segui as instruções do antipode abaixo com algumas mudanças

auto.master
/- /etc/auto.shares --timeout=60

O ponto de montagem de base é / em vez de / home / user / Shares. Isso corrigiu alguns problemas que eu estava tendo usando o autofs + fstab simultaneamente. Compartilhamentos desmontam após 60 segundos.

auto.shares
/home/user/Shares/TV_SHOWS    -rsize=8192,wsize=8292,timeo=14,intr,rw,uid=1000,gid=1000    192.168.1.200:/mnt/Raid/TV_SHOWS
/home/user/Shares/Movies      -rsize=8192,wsize=8292,timeo=14,intr,rw,uid=1000,gid=1000    192.168.1.200:/mnt/Raid/MOVIES
/home/user/Shares/DocuTV      -rsize=8192,wsize=8292,timeo=14,intr,rw,uid=1000,gid=1000    192.168.1.200:/mnt/Raid/DocuTV

Observe os dois pontos após o IP do servidor nfs. O UID / GID monta compartilhamentos como usuário em vez de raiz.

    
por leetwanker 17.03.2015 / 15:19

1 resposta

3

Editar : Como o problema só ocorre quando o servidor NFS é desativado APÓS o compartilhamento já ter sido montado com sucesso, a resposta anterior não ajuda.

Minha única sugestão agora é usar autofs para montar os compartilhamentos NFS sob demanda, em vez de montá-los na inicialização. Dessa forma, o sistema tentará apenas montar os compartilhamentos NFS quando você tentar acessá-los e desmontá-los automaticamente após um período de inatividade.

Há um guia sobre como usar autofs disponível aqui , mas abaixo listarei as etapas que você < em> deve precisa seguir para obter algo em execução.

  1. Verifique se autofs está instalado. O pacote geralmente é chamado apenas de 'autofs'

    No Ubuntu, você pode instalá-lo executando apt-get install autofs como root.

  2. Adicione a seguinte entrada (como root) a /etc/auto.master

    /home/Shares /etc/auto.shares
    
  3. Crie o arquivo /etc/auto.shares (como root), com o seguinte conteúdo:

    TV_SHOWS    -rsize=8192,wsize=8292,timeo=14,intr,rw    192.168.1.200:/mnt/Raid/TV_SHOWS
    Movies      -rsize=8192,wsize=8292,timeo=14,intr,rw    192.168.1.200:/mnt/Raid/MOVIES
    DocuTV      -rsize=8192,wsize=8292,timeo=14,intr,rw    192.168.1.200:/mnt/Raid/DocuTV
    
  4. Remova os pontos de montagem estáticos para esses diretórios de /etc/fstab

  5. Recarregue o serviço autofs. No Ubuntu, você pode executar service reload autofs como root para fazer isso.

  6. Teste para ter certeza de que funciona. Execute ls /home/Shares/TV_SHOWS e veja se ele lista seus arquivos.

Nota : devido a informações adicionais adicionadas à pergunta, a resposta a seguir não se aplica mais. Vou deixar aqui, no entanto, no caso de ajudar alguém no futuro.

Você pode tentar adicionar a opção nofail às entradas em / etc / fstab.

A partir da página de manual do mount :

nofail

    Do not report errors for this device if it does not exist.

Isso deve fazer com que o sistema tente montar o dispositivo durante a inicialização, mas desista caso não consiga fazê-lo. Você pode tentar manualmente montar o dispositivo mais tarde.

Existe outra opção que pode ser útil: retry ( nfs manpage )

retry=n

    The number of minutes that the mount(8) command retries an NFS mount
    operation in the foreground or background before giving up. If this
    option is not specified, the default value for foreground mounts is 2
    minutes, and the default value for background mounts is 10000 minutes
    (80 minutes shy of one week). If a value of zero is specified, the
    mount(8) command exits immediately after the first failure.

Por padrão, as montagens do NFS são montagens de primeiro plano e, portanto, devem falhar após 2 minutos de tentativas. Você poderia definir isso manualmente para um determinado período de tempo para causar uma falha mais rápida se o servidor NFS não estiver disponível, o que combinado com a opção nofail , poderia fazê-lo funcionar como você deseja.

    
por 17.03.2015 / 15:37

Tags