compartilhamentos NFS em um laptop

1

Preciso montar compartilhamentos NFS no meu laptop quando estou no escritório e conectado a uma conexão Ethernet com fio (por meio de uma estação de acoplamento). Existe uma maneira confiável de montar e desmontar automaticamente compartilhamentos NFS neste cenário?

Estou executando o Arch Linux. Eu tentei o método de despachante NetworkManager descrito aqui: NFS - ArchWiki

Usando esse método, meu sistema congelará (travará, ficará sem resposta) quando eu tentar conectar-me a qualquer ponto de acesso Wi-Fi fora do escritório.

Todas as minhas montagens do NFS usam estas opções:

nfsserver:/path/one/ /path/one nfs _netdev,defaults,noatime,nodiratime,soft,retrans=6,timeo=20,retry=0,rsize=32768,wsize=32768,proto=tcp   0 0

As instruções completas que usei no link acima são coladas aqui:

Enable and start the NetworkManager-dispatcher.service.

The following script safely unmounts the NFS shares before the relevant network connection is disabled by listening for the pre-down and vpn-pre-down events:

Note: This script ignores mounts with the noauto option.

Place this script at /etc/NetworkManager/dispatcher.d/30-nfs.sh

#!/bin/bash

# Find the connection UUID with "nmcli con show" in terminal.
# All NetworkManager connection types are supported: wireless, VPN, wired...
WANTED_CON_UUID="CHANGE-ME-NOW-9c7eff15-010a-4b1c-a786-9b4efa218ba9"

if [[ "$CONNECTION_UUID" == "$WANTED_CON_UUID" ]]; then

    # Script parameter $1: NetworkManager connection name, not used
    # Script parameter $2: dispatched event

    case "$2" in
        "up")
            mount -a -t nfs4,nfs 
            ;;
        "pre-down");&
        "vpn-pre-down")
            umount -l -a -t nfs4,nfs >/dev/null
            ;;
    esac
fi

Make the script executable with chmod and create a symlink inside /etc/NetworkManager/dispatcher.d/pre-down to catch the pre-down events:

# ln -s /etc/NetworkManager/dispatcher.d/30-nfs.sh /etc/NetworkManager/dispatcher.d/pre-down.d/30-nfs.sh

Para fazer esse script realmente funcionar, tive que modificar a instrução case para o evento pre-down da seguinte forma:

 "pre-down"|"down")

Antes dessa alteração, nenhuma ação de script foi tomada em resposta ao evento de pré-redução. Após a alteração, o script responde adequadamente aos eventos. No entanto, como eu disse, meu laptop congela sempre que tento conectar a pontos de acesso WiFi fora do escritório.

Não consigo encontrar nada nos registros que pareça relacionado a isso. Mas tenho experiência suficiente com o NFS para adivinhar que esse problema é exatamente o que acontece quando as montagens do NFS não estão disponíveis. Além disso, o problema só começou depois que comecei a usar o método descrito acima. Anteriormente, eu estava me conectando manualmente via SSHFS e não tinha um problema de congelamento.

Eu também tentei brevemente o seguinte método:

[resolvido] Inicialização demorada com um compartilhamento NFS / Networking, servidor e proteção / Arch Linux Fóruns

No entanto, esse método parecia realmente incompleto e datado, então desisti rapidamente. Como esta parece ser uma necessidade comum, espero que exista uma solução conhecida e confiável. No entanto, não consigo encontrar um.

    
por MountainX 26.03.2018 / 21:24

0 respostas