Come posso risolvere l'errore "nfs: il server 127.0.0.1 non risponde" durante il montaggio del mio file system EFS?

Ultimo aggiornamento: 18/07/2022

Il mio server Amazon Elastic File System (Amazon EFS) non risponde e si blocca con il messaggio di errore "nfs: il server 127.0.0.1 non risponde". Come posso risolvere il problema?

Breve descrizione

Di seguito sono riportati i motivi più comuni per cui è possibile che venga restituito l’errore il server non risponde:

  • Il client NFS non può connettersi al server EFS.
  • Si è verificato un riavvio o un arresto dell'istanza. Oppure si è verificata qualsiasi altra disconnessione dall'istanza EC2. Queste ricorrenze causano una disconnessione di rete tra il client NFS e il server EFS. Questo comportamento non è conforme all’RFC TCP. Le disconnessioni possono causare il blocco delle risposte di Amazon EFS a un'istanza di Amazon Elastic Compute Cloud (Amazon EC2) o a un client NFS per diversi minuti.
  • L'opzione di montaggio noresvport non è stata utilizzata durante il montaggio del file system tramite un client NFS.
  • Potrebbe essersi verificato un problema con la versione del kernel che causa l'errore di montaggio di EFS. Ad esempio, ci sono una serie di problemi noti del client NFS con RHEL6 che causano sintomi simili a quelli dei file system che non rispondono. Nelle versioni precedenti del kernel di RHEL6.X il file system potrebbe non essere disponibile e non viene rimontato. È possibile che si verifichino blocchi della connessione NFS in Amazon EFS se si esegue:
    • RHEL o CentOS 7.6 o successivi (versione del kernel 3.10.0-957).
    • Qualsiasi altra distribuzione Linux con versione del kernel da 4.16 a 4.19.

Risoluzione

1.    Utilizza l'opzione di montaggio noresvport durante il montaggio del file system. Questa opzione assicura che il client NFS utilizzi la nuova porta di origine TCP quando è necessario ristabilire una connessione di rete. L'uso di noresvport assicura che il file system EFS abbia una disponibilità ininterrotta dopo un evento di ripristino della rete.

$   sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt

Se utilizzi l'helper di montaggio EFS, l'opzione noresvport è presente per impostazione predefinita. Se utilizzi NFS per il montaggio, dovrai aggiungere questo parametro in modo esplicito. Per ulteriori informazioni, consulta Opzioni di montaggio NFS consigliate.

2.    Controlla la versione del kernel. Potrebbero esserci problemi con la particolare versione del kernel, come RHEL o CentOS 7.6 o successiva (versione del kernel 3.10.0-957), che potrebbero causare l'errore di montaggio del file system. Se esegui una di queste versioni del kernel, riavvia per ripristinare l'accesso al file system. Per essere certo che la versione del kernel è il problema, verifica l'output del comando ps quando non puoi eseguire ls:

$ ps auxwwwm | grep <mount_point_IP>

Se la versione del kernel è problematica, aggiorna il kernel. È consigliabile utilizzare la generazione corrente del client Linux NFS4v.1 o versioni successive per migliorare le prestazioni.

3.    Verifica che il client possa connettersi al server emettendo il seguente comando:

telnet <ip-of-efs> 2049

Esamina i log del client NFS (log del sistema operativo dell'istanza EC2) in /var/log/messages per individuare eventuali errori. I log potrebbero trovarsi nella directory /var/log/syslog o /var/log/dmesg, a seconda del sistema operativo in uso.

Inoltre, se hai montato il file system utilizzando l'helper di montaggio EFS, esamina i log dell’utilità EFS nella directory /var/log/amazon/efs. L'helper di montaggio EFS ha un meccanismo di registrazione integrato.

4.    Verifica di poterti connettere alla tua istanza EC2.

5.    Verifica se EC2 è sovraccarico a causa di un utilizzo eccessivo delle risorse. Puoi farlo monitorando i parametri EC2 in Amazon CloudWatch, come CPUUtilization e i parametri relativi alla rete. Le risorse possono includere CPU, memoria, problemi a livello di applicazione e così via.

  • Sovrautilizzo della memoria: questo può verificarsi quando la RAM è sovrautilizzata. Un utilizzo eccessivo significa che l'istanza sta esaurendo lo spazio di memoria se, ad esempio, un'applicazione inizia a consumare più RAM. Un utilizzo eccessivo causa errori di memoria insufficiente (OOM). All’avvio, questi errori terminano i processi che hanno un punteggio OOM elevato o consumano più memoria. Idealmente quando si verificano errori OOM, l'istanza rimane inaccessibile.
    Per risolvere temporaneamente gli errori OOM, riavvia il sistema per liberare spazio di memoria.
    Per una soluzione a lungo termine, monitora l'utilizzo delle risorse di sistema utilizzando strumenti come "atop" e "top". Quindi, passa a un tipo di istanza diverso che meglio si adatta al tuo carico di lavoro. Per ulteriori informazioni, consulta Perché non ricevo più nessuna risposta dalla mia istanza EC2 Linux a causa di un utilizzo eccessivo delle risorse?
  • Prestazioni di rete: esamina le prestazioni di rete dell'istanza. A volte, anche se i parametri di CloudWatch mostrano un basso utilizzo della rete, potrebbe esserci un micro-bursting. Il micro-bursting invia una quantità elevata di traffico da un carico di lavoro in pochi secondi. Il micro-bursting dura in genere meno di un minuto. Questa raffica è oscurata nei grafici di CloudWatch e nelle statistiche di Amazon Elastic Block Store (Amazon EBS) perché l'intervallo più piccolo utilizzato all'interno di questi strumenti è di un minuto. Monitora il comportamento del micro-bursting usando strumenti come sar, nload, iftop. Per ulteriori informazioni, consulta Perché la mia istanza Amazon Elastic Compute Cloud (Amazon EC2) supera i limiti di rete quando l'utilizzo medio è basso?

6.    Esamina i parametri di EFS CloudWatch e verifica se la limitazione si verifica a livello di EFS. Ciò significa che EFS sta andando oltre la sua capacità. Se utilizzi la modalità Bursting Throughput, rivedi il parametro BurstBalance di CloudWatch per determinare se il bilanciamento burst è esaurito. Inoltre, esamina i parametri di CloudWatch per il throughput consentito per determinare se stai utilizzando un throughput superiore alla quantità assegnata. Per ulteriori informazioni sui crediti burst, consulta Come funzionano i crediti burst di Amazon EFS?

Se le tue applicazioni richiedono un throughput quasi continuo, usa la modalità Provisioned Throughput. Prima di passare da Bursting Throughput alla modalità Provisioned Throughput, valuta quanta velocità di trasmissione effettiva fornire. Per determinare la quantità minima di throughput effettivo assegnato necessaria, controlla l'utilizzo del throughput medio per il file system nelle due settimane precedenti. Prendi nota del picco massimo, arrotondato al megabyte successivo. Per ulteriori informazioni, consulta Quali modalità di throughput sono disponibili in EFS e qual è la modalità di throughput adatta per il mio carico di lavoro?


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?