PowerScale OneFS: Risoluzione dei problemi relativi alle prestazioni
Summary: Risolvi i problemi di rallentamento di PowerScale OneFS con una guida completa sulla configurazione di rete, i carichi di elaborazione e il monitoraggio con InsightIQ per migliorare l'efficienza del cluster. ...
Symptoms
I computer client sono lenti. Processi specifici, in particolare quelli in esecuzione nel cluster, hanno esito negativo o richiedono più tempo del previsto.
Cause
I problemi di prestazioni sono in genere dovuti al traffico di rete, a problemi di configurazione della rete, al carico di elaborazione client o cluster o a una combinazione di questi fattori. Questo articolo descrive diversi modi efficaci per risolvere i problemi relativi alle prestazioni.
Resolution
Risoluzione dei problemi con InsightIQ
Sommario:
- Utilizzo di Isilon InsightIQ
- Risoluzione dei problemi senza InsightIQ
- Throughput di rete
- Distribuzione delle connessioni client
- Throughput del cluster
- Elaborazione del cluster
- Operazioni in coda
- CPU
Utilizzo di Isilon InsightIQ
L'utilizzo di Isilon InsightIQ è il modo migliore per monitorare le prestazioni e risolvere i problemi relativi alle prestazioni.
L'appliance virtuale Isilon InsightIQ consente di monitorare e analizzare l'attività dell'Isilon Cluster tramite grafici flessibili e personalizzabili nell'applicazione web-based InsightIQ. Questi grafici forniscono informazioni dettagliate su hardware, software, file system e operazioni di protocollo del cluster. InsightIQ trasforma i dati in informazioni visive che mettono in evidenza eventuali anomalie nelle prestazioni, consentendo una rapida diagnosi dei colli di bottiglia o ottimizzando i flussi di lavoro.
Per informazioni dettagliate sull'utilizzo di InsightIQ, consultare PowerScale InsightIQ - Info Hub.
Risoluzione dei problemi senza InsightIQ
Se non si utilizza InsightIQ, è possibile eseguire vari comandi per analizzare i problemi relativi alle prestazioni. Risolvere i problemi relativi alle prestazioni esaminando innanzitutto il throughput di rete e del cluster, quindi l'elaborazione del cluster e infine le velocità della CPU dei singoli nodi.
Throughput di rete
Utilizzare uno strumento di test di rete come Iperf oppure Iperf3 Per determinare le funzionalità di throughput del cluster e dei computer client sulla rete.
Utilizzando Iperf, eseguire i seguenti comandi sul cluster e sul client. Questi comandi definiscono una dimensione della finestra sufficientemente grande da indicare se il collegamento di rete è una potenziale causa dei problemi di latenza.
- Grappolo:
iperf -s -w 262144 - Client:
iperf -c <cluster IP> -w 262144
Utilizzando i comandi Iperf3, eseguire i seguenti comandi sul cluster e sul client. Questi comandi definiscono una dimensione della finestra sufficientemente grande da indicare se il collegamento di rete è una potenziale causa dei problemi di latenza.
- Grappolo:
iperf3 -s -w 262144 Client:iperf3 -c <cluster IP> -w 262144
Distribuzione delle connessioni client
Controllare quanti client NFS (Network File System) e SMB (Server Message Block) sono connessi al cluster per assicurarsi che non stiano favorendo un nodo.
- Aprire una connessione SSH su qualsiasi nodo del cluster ed effettuare l'accesso utilizzando il comando
rootAccount. - Eseguire nuovamente il comando
isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -dper controllare i client NFS.
L'output visualizza il numero di client connessi per nodo e il numero di tali client attivi in ogni nodo. - Eseguire nuovamente il comando
isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -dper controllare i client SMB.
L'output visualizza il numero di client connessi per nodo e il numero di tali client attivi in ogni nodo.
Throughput del cluster
Valutare il throughput del cluster eseguendo test di scrittura e lettura che misurano la quantità di tempo necessaria per leggere e scrivere in un file. Eseguire almeno un test di scrittura e un test di lettura, come indicato di seguito.
Scrivi un test.
- Aprire una connessioneSSH su qualsiasi nodo del cluster ed effettuare l'accesso utilizzando il comando
rootAccount. - Passare alla scheda
/ifsDirectory:cd /ifs - Dall'interfaccia della riga di comando (CLI) sul cluster o da un computer client UNIX o Linux, utilizzare il comando
ddper scrivere un nuovo file nel cluster.
Eseguire il seguente comando:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Questo comando crea un file di esempio da 1 GB e segnala la quantità di tempo necessaria per scriverlo su disco. - Dall'output di questo comando, estrapolare il numero di MB al secondo che è possibile scrivere su disco in flussi di lavoro a flusso singolo.
- Se si dispone di un client MAC e si desidera condurre ulteriori analisi,
- Avviare Monitoraggio Attività.
- Eseguire nuovamente il comando
cat /dev/zero > /pathToFilecomando, dovepathToFileè il percorso del file di destinazione.
Questo comando consente di misurare il throughput delle operazioni di scrittura sull'Isilon Cluster. Anche se è possibile eseguire il comandoddda un client MAC, i risultati possono essere incoerenti.) - Monitorare i risultati del comando nella scheda Rete di Monitoraggio Attività.
Leggi il test.
Quando si misura il throughput delle operazioni di lettura, assicurarsi di non condurre test di lettura sul file creato durante il test di scrittura. Poiché tale file è stato memorizzato nella cache, i risultati dei test di lettura non sono accurati. Testare invece un'operazione di lettura di un file non memorizzato nella cache. Trovare nel cluster un file di dimensioni superiori a 1 GB e fare riferimento a tale file nel test di lettura.
- Aprire una connessione SSH su qualsiasi nodo del cluster ed effettuare l'accesso utilizzando il comando
rootAccount. - Dalla CLI sul cluster o da un computer client UNIX o Linux, utilizzare il comando
ddper leggere un file nel cluster.
Eseguireil comandodd if=/pathToLargeFile of=/dev/null bs=1024kcomando dovepathToFileè il percorso del file di destinazione.
Questo comando legge il file di destinazione e segnala la quantità di tempo necessaria per leggerlo. - Se si dispone di un client MAC e si desidera condurre ulteriori analisi,
- Avviare Monitoraggio Attività.
- Eseguire nuovamente il comando
time cp /pathToLargeFile > /dev/nullcomando dovepathToFileè il percorso del file di destinazione.
Questo comando consente di misurare il throughput delle operazioni di lettura sul cluster Isilon. Anche se è possibile eseguire il comandoddda un client MAC, i risultati possono essere incoerenti.) - Monitorare i risultati del comando nella scheda Rete di Monitoraggio Attività.
Elaborazione del cluster
Processi di restriping.
Prima di esaminare le operazioni di input/output (I/O) (IOPS) del cluster:
- Determinare quali processi sono in esecuzione nel cluster. Se sono in esecuzione processi di restriping come Auto-Balance, Collect o MultiScan, considerare il motivo per cui tali processi sono in esecuzione e se debbano continuare a essere in esecuzione.
- Considerare il tipo di dati utilizzati. Se i computer client lavorano con file video di grandi dimensioni o macchine virtuali (VM), il processo con restriping richiede una quantità maggiore di IOPS del disco rispetto al normale.
- Prendere in considerazione la sospensione temporanea di un processo di restriping. In questo modo è possibile migliorare le prestazioni e potrebbe essere una soluzione valida a breve termine per un problema di prestazioni.
I/O
discoL'esame dell'I/O del disco può aiutare a determinare se alcuni dischi sono sovrautilizzati.
Per cluster
- Aprire una connessione SSH a qualsiasi nodo nel cluster e accedere utilizzando l'account "root".
- Eseguire nuovamente il comando
isi statistics pstatcomando per verificare l'I/O del disco. Dall'output di questo comando, dividere il numero di IOPS del disco per il numero totale di dischi nel cluster. Ad esempio, per un cluster a 8 nodi che utilizza nodi Isilon IQ 12000x, che ospita 12 unità per nodo, si dividono gli IOPS del disco per 96.
Per i nodi serie X e serie NL, dovrebbero essere presenti al massimo 70 IOPS del disco per flussi di lavoro casuali al 100% o massimo 140 IOPS del disco per flussi di lavoro sequenziali al 100%. Poiché i nodi serie NL hanno meno RAM e velocità inferiori della CPU rispetto ai nodi serie X, questi ultimi possono gestire IOPS del disco più elevati.
Per nodo e per disco
- Aprire una connessione SSH a qualsiasi nodo nel cluster e accedere utilizzando l'account "root".
- Eseguireil comando
isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=topper verificare gli IOPS del disco per nodo, che può aiutare a individuare i dischi che sono sovrautilizzati. - Eseguire nuovamente il comando
isi_stats_tool -a get_key_info|grep node.disk.xferComando per determinare come eseguire una query per le statistiche in base al disco.
Operazioni in coda
Un altro modo per determinare se i dischi sono sovrautilizzati consiste nel determinare il numero di operazioni in coda per ogni disco nel cluster. Per un flusso di lavoro basato su SMB a flusso singolo, una coda di quattro può indicare un problema, mentre per le operazioni di namespace NFS a elevata simultaneità, la coda è maggiore.
- Aprire una connessione SSH su qualsiasi nodo del cluster ed effettuare l'accesso utilizzando il comando
rootAccount. - Eseguireil comando
isi statistics drive list --nodes=all --sort=queued -dComando per determinare il numero di operazioni in coda per ogni disco nel cluster. - Determinare per quanto tempo l'operazione è rimasta in coda:
isi statistics drive list --nodes=all --sort=queued -d
CPU
I problemi della CPU sono spesso riconducibili alle operazioni eseguite dai client sul cluster. Utilizzando il comando isi statistics , è possibile determinare le operazioni eseguite sul cluster, catalogate in base al protocollo di rete o al computer client.
- Aprire una connessione SSH su qualsiasi nodo del cluster ed effettuare l'accesso utilizzando il comando
rootAccount. - Eseguire nuovamente il comando
isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format topper determinare quali operazioni vengono eseguite sulla rete e valutare quali di queste richiedono più tempo.
L'output di questo comando fornisce statistiche dettagliate per tutti i protocolli di rete, organizzate in base al tempo impiegato dal cluster per rispondere ai client. Anche se i risultati di questo comando potrebbero non identificare quale operazione è più lenta, può indirizzare l'utente nella direzione giusta. - Eseguire nuovamente il comando
isi statistics system --nodes all --format topper ottenere ulteriori informazioni sull'elaborazione della CPU, ad esempio le CPU dei nodi più utilizzate. - Eseguire nuovamente il comando
isi_for_array -sX 'top -u -n |grep PID -A4'per ottenere i quattro processi su ciascun nodo che utilizzano la maggior parte delle risorse della CPU.
Additional Information
correlateDi seguito sono riportate le risorse consigliate relative a questo argomento che potrebbero essere di interesse: