Introduzione
Questo articolo fornisce la procedura per arrestare correttamente Dell Isilon Cluster e include informazioni sui rischi associati a un arresto errato del cluster.
Attenzione: l'arresto non corretto del cluster può causare problemi di disponibilità e integrità dei dati.
I nodi arrestati in modo errato nel cluster non devono rimanere senza alimentazione del sistema per un periodo superiore alla durata della batteria NVRAM, che è di circa 3-5 giorni, a seconda del tipo di nodo. Se i dati vengono ancora archiviati in un journal dei nodi e un nodo non è alimentato dal sistema per un periodo superiore alla durata della batteria NVRAM, i dati vengono persi e il cluster deve essere ricostruito.
Contattare il supporto tecnico Dell Isilon per assistenza in caso di domande sulle procedure o sulle informazioni contenute in questo articolo.
Procedura
Per eseguire la procedura di arresto del cluster, è necessario disporre delle credenziali root e dell'accesso da parte della console seriale ai nodi nel cluster. La procedura è suddivisa in cinque fasi.
Leggere l'intera procedura prima di avviare il processo di arresto, per comprendere il contesto e l'ordine di completamento di ogni fase.
Attenzione: se si esegue una versione di OneFS che ha raggiunto la fase EOSL, passare a una versione supportata di OneFS.
Fase 1. Eseguire la manutenzione preventiva.
Questi passaggi vengono eseguiti circa 4-8 settimane prima dell'arresto pianificato. Lo scopo di questa fase è identificare problemi hardware o firmware sconosciuti o latenti che possono impedire la procedura di arresto.
Attenzione: Dell consiglia vivamente di seguire tutti i passaggi della fase 1 prima di arrestare Isilon Cluster.
Se le circostanze richiedono un arresto immediato a livello di cluster, è possibile arrestare tutti i nodi contemporaneamente utilizzando l'interfaccia della riga di comando di OneFS o l'interfaccia di amministrazione web di OneFS.
Dell consiglia vivamente di seguire tutti i passaggi della
fase 3 per preservare l'integrità dei dati in caso di una procedura di arresto di emergenza.
- Eseguire l'upload dei registri come riferimento cronologico, se necessario.
# isi_gather_info
- Eseguire o richiedere un controllo integrità Isilon.
- In questo modo viene valutato il cluster per verificare che sia in uno stato operativo e sostenibile.
- Può essere eseguito dal cliente seguendo PowerScale: Come eseguire lo strumento di analisi del cluster IOCA
- Può essere eseguito dal team Remote Reactive (supporto clienti). Questa opzione è disponibile per tutti i clienti con un contratto di manutenzione attivo per i cluster sulle versioni di codice supportate. Se si soddisfano questi requisiti, aprire una Service Request (SR) sul sito del supporto online Dell richiedendo un "controllo integrità Isilon". Fornire i registri completi per il controllo integrità eseguendo questo comando
# isi_gather_info
*Il controllo integrità non risolve i problemi del cluster e non ne valuta la configurazione, le prestazioni o il flusso di lavoro.
- Eseguire un "riavvio a freddo" di ciascun nodo eseguendo i seguenti passaggi. È necessario pianificare una finestra di manutenzione per questa attività.
Nota: questo processo consente di identificare eventuali errori di memoria o modalità di guasto dell'unità che vengono rilevati solo alla riaccensione del nodo.
Nota: questo processo interrompe tutte le connessioni, ad eccezione di NFSv3. Contattare il supporto Isilon per ricevere assistenza con istruzioni su un processo più lungo che non interrompe l'attività del client mentre i nodi vengono riavviati per questo test di manutenzione.
- Arrestare ciascun nodo del cluster uno alla volta. Per arrestare ogni nodo:
- Aprire una connessione SSH a qualsiasi nodo. Arrestare ciascun nodo eseguendo il seguente comando
isi config
shutdown <node_lnn>
- Verificare che ogni nodo sia spento verificando che il LED dell'indicatore di alimentazione verde sul retro del nodo non sia più illuminato.
- Premere il pulsante di accensione per riaccendere il nodo.
- Verificare che il nodo venga nuovamente aggiunto al cluster e sia integro eseguendo il comando
isi status -q
e cercare OK nella colonna Health DASR dell'output.
- Se un nodo rileva i problemi indicati nella colonna Health DASR o non viene nuovamente aggiunto al cluster, risolvere questi problemi prima di arrestare il nodo successivo.
Viene selezionato un esempio di problema. Il nodo 1 è stato riaggiunto correttamente al cluster, ma la colonna Health DASR indica che richiede attenzione.
mycluster-1# isi status -q
Cluster Name: mycluster
Cluster Health: [ ATTN]
Cluster Storage: HDD SSD
Size: 11G (23G Raw) 0 (0 Raw)
VHS Size: 11G
Used: 7.9G (69%) 0 (n/a)
Avail: 3.5G (31%) 0 (n/a)
Health Throughput (bps) HDD Storage SSD Storage
ID |IP Address |DASR | In Out Total| Used / Size |Used / Size
-------------------+-----+-----+-----+-----+-----------------+-----------------
1|10.1.16.141 |-A-- | 0| 150K| 150K| 2.0G/ 2.8G( 69%)| (No SSDs)
2|10.1.16.142 |-OK- | 98K| 13K| 112K| 2.0G/ 2.8G( 69%)| (No SSDs)
3|10.1.16.143 |-OK- | 0| 44K| 44K| 2.0G/ 2.8G( 69%)| (No SSDs)
4|10.1.16.144 |-OK- | 0| 512| 512| 2.0G/ 2.8G( 69%)| (No SSDs)
-------------------+-----+-----+-----+-----+-----------------+-----------------
Cluster Totals: | 98K| 208K| 306K| 7.9G/ 11G( 69%)| (No SSDs)
Health Fields: D = Down, A = Attention, S = Smartfailed, R = Read-Only
- Controllare due volte lo stato dell'intero cluster dopo aver riavviato ogni nodo. Aprire una connessione SSH a qualsiasi nodo ed eseguire il seguente comando:
isi status -q
Verificare che la colonna Health DASR di ogni nodo mostri OK.
Nota: se il tempo non consente un riavvio a freddo per ogni nodo, è possibile scoprire in modo proattivo alcuni problemi hardware latenti eseguendo un riavvio in sequenza o un "riavvio a caldo" eseguendo il seguente comando per ogni nodo:
isi config
reboot <node_lnn>
Tuttavia, Dell consiglia vivamente di utilizzare l'approccio con riavvio a freddo per identificare in modo più efficace i problemi hardware latenti.
Fase 2. Arrestare ogni nodo nel cluster.
Questi passaggi devono essere eseguiti il giorno in cui si arresta Isilon Cluster. Durante un arresto a livello di cluster, alcuni fattori possono influire o ritardare il processo di arresto. Ad esempio, le scritture di dati in sospeso su un nodo potrebbero influire sull'arresto. Lo scopo dei passaggi 1-2 è garantire che tutti i client siano disconnessi dal cluster e che i dati vengano salvati correttamente dai journal dei nodi al file system prima di eseguire il comando di arresto. Nel caso di client iSCSI, assicurarsi di arrestarli prima che il servizio iSCSI venga disabilitato.
Il passaggio 3 descrive come arrestare ogni nodo del cluster in sequenza utilizzando una console seriale. Questo metodo è consigliato perché consente di verificare che ogni nodo sia stato arrestato correttamente prima di procedere al nodo successivo e di apportare modifiche o correggere i problemi in base alle esigenze per garantire un arresto corretto del cluster. Tuttavia, questo metodo può richiedere molto tempo, perché richiede la connessione di una console seriale a ogni nodo per eseguire il comando di arresto. La sezione Arresto simultaneo di tutti i nodi del cluster descrive come utilizzare l'interfaccia della riga di comando di OneFS o l'interfaccia di amministrazione web di OneFS per arrestare il cluster. Questo metodo è meno dispendioso in termini di tempo rispetto al passaggio 3, ma rende più difficile identificare i nodi che riscontrano problemi durante il processo di arresto.
- Isilon consiglia di isolare il cluster dai client per garantire che i client con un numero elevato di scritture non impediscano la procedura di arresto. A tale scopo, disabilitare i servizi per i clienti in esecuzione sul cluster. Eseguire la seguente procedura per disabilitare i servizi per i client:
- Identificare i servizi o i protocolli per i client in esecuzione nel cluster eseguendo i seguenti comandi per ogni servizio:
isi services apache2
isi services isi_hdfs_d
isi services isi_iscsi_d
isi services ndmpd
isi services nfs
isi services smb
isi services vsftpd
- B. documentare i servizi "abilitati" nel cluster in base all'output per ogni comando. Selezionato nell'esempio seguente, il servizio SMB è abilitato, mentre il servizio NFS è disabilitato:
mycluster-4# isi services smb
Service 'smb' is enabled.
mycluster-4# isi services nfs
Service 'nfs' is disabled.
mycluster-4#
- Disabilitare i servizi per i client. Dopo questo passaggio, tutti i client perdono immediatamente la connessione al cluster. Per disabilitare un servizio, eseguire il seguente comando correlato al servizio abilitato.
isi services apache2 disable
isi services isi_hdfs_d disable
isi services isi_iscsi_d disable
isi services ndmpd disable
isi services nfs disable
isi services smb disable
isi services vsftpd disable
Nel caso di client iSCSI, assicurarsi che le LUN siano sottoposte a unmounting prima di eseguire il passaggio 2. Eseguire isi iscsi list
per verificare che tutti i client iSCSI siano disconnessi dal cluster.
Nota: in caso di disabilitazione del servizio iSCSI, assicurarsi di aver arrestato i client iSCSI prima di eseguire il comando isi_iscsi_d disable
. L'interruzione di una LUN iSCSI sottoposta a mounting potrebbe causare danni al client, che in genere richiede il ripristino da un backup.
- Spostare le scritture di dati archiviate nei journal dei nodi nel file system eseguendo il comando
isi_for_array isi_flush
. Viene visualizzato un output simile al seguente su ogni nodo:
mycluster-4# isi_for_array isi_flush
mycluster-1: Flushing cache...
mycluster-1: Cache flushing complete.
Nota: su un cluster di grandi dimensioni con un numero elevato di scritture in sospeso, il completamento di questo passaggio potrebbe richiedere diversi minuti.
Se un nodo non riesce a svuotare i dati, si riceve un output simile al seguente, dove il nodo 1 e il nodo 2 non riescono a eseguire il comando flush:
mycluster-4# isi_for_array isi_flush
mycluster-1: Flushing cache...
vinvalbuf: flush failed, 1 clean and 0 dirty bufs remaining
mycluster-2: Flushing cache...
fsync: giving up on dirty
Eseguire nuovamente il comando isi_for_array isi_flush
. Se uno dei nodi non viene svuotato, contattare il supporto tecnico Dell Isilon. Tutti i nodi devono essere svuotati correttamente prima di procedere al passaggio successivo.
Nota: se si rimuove una sorgente di alimentazione da un nodo in cui i dati non sono stati svuotati dal journal al file system, il rischio di una perdita di dati aumenta notevolmente. In caso di necessità, contattare il supporto tecnico Dell Isilon per ricevere assistenza con la procedura di arresto.
- Arrestare ogni nodo nel cluster in ordine sequenziale e monitorarne l'output. Questo approccio è consigliato perché consente di identificare e risolvere eventuali problemi prima di arrestare il nodo successivo nel cluster. Arrestare ciascun nodo eseguendo le seguenti operazioni:
Attenzione: NON eseguire il comando isi_for_array shutdown -p
per arrestare il cluster.
Ogni nodo che, in questa fase, si blocca o si riavvia necessita di ulteriori approfondimenti. In particolare, tutti i nodi devono svuotare i dati dal journal del nodo al file system prima di procedere.
Avvertenza: se si rimuove una sorgente di alimentazione da un nodo in cui i dati non sono stati svuotati dal journal al file system, il rischio di una perdita di dati aumenta notevolmente. In caso di necessità, contattare il supporto tecnico Dell Isilon per ricevere assistenza con la procedura di arresto.
- Collegare una console seriale a ciascun nodo.
- Eseguire il seguente comando:
isi config
shutdown
Al termine dell'arresto del nodo, viene visualizzato un output simile al seguente:
Powering the system off using ACPI
Nota: se non si dispone di accesso ai nodi tramite uno switch KVM (tastiera, video, mouse) ed è necessario utilizzare un notebook, il completamento di questo passaggio potrebbe richiedere alcune ore.
- C. Osservare la console e individuare eventi di errore correlati all'hardware. I salvataggi del journal dei nodi riusciti vengono selezionati nelle seguenti variazioni di output:
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: Attempting to save journal to default location
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: Saving journal to /var/journal/journal.gz
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: All data saved successfully
2014-03-22T00:37:29Z <1.5> mycluster-3(id11) isi_save_journal[45074]: Attempting to save journal to default location
2014-03-22T00:37:29Z <1.5> mycluster-3(id11) isi_save_journal[45074]: A valid backup journal already exists. Not saving.
An example of a node journal save failure is highlighted in the output below:
2014-03-21T23:39:09Z <1.4> mycluster-3(id11) /sbin/shutdown: ERROR: Validation failed for backup journal. Shutdown aborted
2014-03-21T23:39:09Z <1.4> mycluster-3(id11) /sbin/shutdown: Failed command output:
Se si riceve un errore di salvataggio del journal dei nodi, è possibile salvare manualmente il journal eseguendo i passaggi della fase 3.
Arresto simultaneo di tutti i nodi del cluster
In caso di emergenza, è possibile arrestare contemporaneamente tutti i nodi nel cluster. Tuttavia, questo metodo non è consigliato perché non consente di monitorare lo stato e l'output di ogni nodo nel caso si verifichi un problema. Se si sceglie di seguire questi passaggi, Dell consiglia vivamente di seguire tutti i passaggi della fase 3 per verificare che tutti i nodi si siano arrestati correttamente dopo aver eseguito le procedure riportate di seguito.
Nota: ogni nodo che, in questa fase, si blocca o si riavvia necessita di ulteriori approfondimenti. In particolare, tutti i nodi devono svuotare i dati dal journal del nodo al file system prima di procedere.
Avvertenza: se si rimuove una sorgente di alimentazione da un nodo in cui i dati non sono stati svuotati dal journal al file system, il rischio di una perdita di dati aumenta notevolmente. In caso di necessità, contattare il supporto tecnico Dell Isilon per ricevere assistenza con la procedura di arresto.
Utilizzare l'interfaccia della riga di comando di OneFS o l'interfaccia di amministrazione web OneFS per arrestare tutti i nodi nel cluster.
Dall'interfaccia della riga di comando di OneFS eseguire il seguente comando:
# isi config shutdown all
Nota: NON eseguire il comando isi_for_array shutdown -p
per arrestare il cluster dall'interfaccia di amministrazione web di OneFS, in OneFS 8.0 e versioni successive.
Fase 3. Verificare che i nodi si siano arrestati.
Verificare che i nodi si siano arrestati correttamente osservando il LED dell'indicatore di alimentazione sul retro del nodo. Tutti i LED dell'indicatore di alimentazione dovrebbero apparire scuri o spenti. Ciò indica che il nodo si è arrestato correttamente.
Avvertenza: se un nodo non si arresta correttamente e si disconnette la sorgente di alimentazione al nodo, il rischio di perdita di dati aumenta notevolmente. Il ripristino dei dati richiede una lunga procedura di ripristino e talvolta una ricostruzione completa del cluster.
Avvertenza: contattare il supporto tecnico Dell in caso di dubbi sulla riuscita dell'operazione di arresto, ad esempio se il nodo non si spegne o il journal non viene salvato.
Se l'indicatore luminoso di alimentazione sul retro del nodo è ancora acceso, il nodo non si è arrestato. Se il nodo non si è arrestato o se si riceve un output della console indicante che il journal dei nodi non è stato salvato correttamente (dalla
fase 2, passaggio 3C), è necessario salvare manualmente il journal per garantire che i dati vengano sottoposti a commit su disco prima di arrestare il nodo.
- Per salvare manualmente il journal e arrestare il nodo, eseguire i seguenti passaggi:
- Se il nodo risponde all'interfaccia della riga di comando, riavviare il nodo eseguendo il seguente comando:
# isi config reboot
- Se il nodo non risponde all'interfaccia della riga di comando, riavviare manualmente il nodo tenendo premuto il pulsante di accensione sul retro del nodo. Questo determina lo spegnimento del nodo. Attendere 30 secondi, quindi premere il pulsante di accensione una volta per riavviare il nodo. Procedere al passaggio successivo.
Avvertenza: il riavvio manuale del nodo è consigliato solo per questo passaggio. Non arrestare manualmente il nodo per altre condizioni. Può causare la perdita di dati.
- Dopo aver riavviato il nodo, effettuare nuovamente l'accesso e utilizzare la seguente procedura per salvare il journal:
- Riprovare ad arrestare normalmente il nodo eseguendo il seguente comando:
# isi config shutdown
- Se l'output continua a indicare che il journal non è stato salvato, salvarlo manualmente eseguendo il seguente comando:
# isi_save_journal
- Se il journal non viene comunque salvato, eseguire l'unmounting del file system /ifs e quindi forzare il salvataggio del journal eseguendo i seguenti comandi:
# isi_kill_busy && umount /ifs
- Verificare il salvataggio del journal eseguendo il comando isi_checkjournal.
# isi_checkjournal
- Non procedere al passaggio successivo fino a quando l'output non indica che il journal è stato salvato.
Contattare il supporto tecnico Dell se necessario.
Fase 4. Scollegare la sorgente di alimentazione.
Solo dopo aver eseguito l'arresto del cluster e lo spegnimento dei nodi, è possibile scollegare la sorgente di alimentazione dal cluster.
Avvertenza: se un nodo non si è arrestato correttamente, non scollegarne la sorgente di alimentazione, onde evitare la perdita dei dati, una procedura prolungata di ripristino e, talvolta, la ricostruzione completa del cluster.
Batterie NVRAM
Quando un client scrive un file in un nodo, le scritture vengono prima archiviate nella RAM non volatile (NVRAM) in hosting sulla scheda del journal del nodo. Successivamente, OneFS esegue il commit di tali scritture su disco. Per proteggere i dati archiviati nella NVRAM in caso di interruzione dell'alimentazione non pianificata, ogni nodo è dotato di batterie NVRAM (due per la ridondanza). Un nodo spento ma ancora collegato a una sorgente di alimentazione continua ad aggiornare le batterie NVRAM. Quando la sorgente di alimentazione è scollegata dal nodo, le batterie NVRAM iniziano a scaricarsi. La durata della batteria nell'attuale generazione di nodi (X200, S200, X400 e NL400) è di circa cinque giorni. Nella generazione precedente di nodi, la durata della batteria NVRAM è di circa tre giorni.
Dell Technologies consiglia di arrestare correttamente i nodi per evitare di ricorrere alle batterie NVRAM per un periodo di tempo considerevole durante un'interruzione dell'alimentazione.
Nota: per ulteriori informazioni sul modo in cui Isilon utilizza la NVRAM per preservare l'integrità dei dati, consultare la sezione relativa alla struttura del file system nelle guide all'amministrazione web e all'amministrazione della CLI di OneFS.
Se le batterie NVRAM su un nodo si scaricano completamente, il nodo si avvia in modalità read-only e rimane in tale modalità per circa 30 minuti fino a quando le batterie NVRAM non si ricaricano completamente. Quando le batterie si ricaricano, il nodo torna automaticamente alla modalità di lettura/scrittura normale.
Avvertenza: se i dati rimangono archiviati nella NVRAM a causa di un arresto improprio e un nodo non è alimentato dal sistema per un periodo superiore alla durata della batteria NVRAM, si verificano una perdita di dati, una procedura di ripristino prolungata e, talvolta, la ricostruzione completa del cluster.
Fase 5. Accendere ogni nodo nel cluster.
Questi passaggi devono essere eseguiti quando si è pronti per riavviare Isilon Cluster.
- Ripristinare la sorgente di alimentazione in ogni nodo.
- Premere il pulsante di accensione sul pannello anteriore o sul retro di ciascun nodo per avviarlo.
- Una volta alimentati tutti i nodi, eseguire il comando
isi status -q
per esaminare lo stato del cluster. Prima di procedere, verificare che tutti i nodi mostrino OK nella colonna Health DASR e che non siano in modalità read-only (R). Per un cluster integro, dovrebbe essere visualizzato un output simile al seguente:
Cluster Name: mycluster
Cluster Health: [ OK ]
Cluster Storage: HDD SSD
Size: 11G (23G Raw) 0 (0 Raw)
VHS Size: 11G
Used: 7.9G (69%) 0 (n/a)
Avail: 3.5G (31%) 0 (n/a)
Health Throughput (bps) HDD Storage SSD Storage
ID |IP Address |DASR | In Out Total| Used / Size |Used / Size
-------------------+-----+-----+-----+-----+-----------------+-----------------
1|10.1.16.141 |-OK- | 0| 150K| 150K| 2.0G/ 2.8G( 69%)| (No SSDs)
2|10.1.16.142 |-OK- | 98K| 13K| 112K| 2.0G/ 2.8G( 69%)| (No SSDs)
3|10.1.16.143 |-OK- | 0| 44K| 44K| 2.0G/ 2.8G( 69%)| (No SSDs)
4|10.1.16.144 |-OK- | 0| 512| 512| 2.0G/ 2.8G( 69%)| (No SSDs)
-------------------+-----+-----+-----+-----+-----------------+-----------------
Cluster Totals: | 98K| 208K| 306K| 7.9G/ 11G( 69%)| (No SSDs)
Health Fields: D = Down, A = Attention, S = Smartfailed, R = Read-Only
- Consultare l'elenco dei servizi abilitati creati nella fase 2, passaggio 1b e abilitare i servizi disabilitati eseguendo uno o più dei seguenti comandi:
isi services apache2 enable
isi services isi_hdfs_d enable
isi services isi_iscsi_d enable
isi services ndmpd enable
isi services nfs enable
isi services smb enable
isi services vsftpd enable
- Verificare che i client possano connettersi al cluster ed eseguire i flussi di lavoro abituali. Il cluster dovrebbe funzionare normalmente.
- Eseguire l'upload di una raccolta completa dei registri
# isi_gather_info --esrs
- Eseguire o richiedere un controllo integrità Isilon da parte del team Remote Reactive (supporto clienti).
Procedura per eseguire i controlli integrità.
PowerScale: come eseguire lo strumento di analisi del cluster IOCA.
- Richiedere un controllo integrità mediante il team di supporto Remote Active
Questa opzione è disponibile per tutti i clienti con un contratto di manutenzione attivo per i cluster sulle versioni di codice supportate.
Se si soddisfano questi requisiti, aprire una Service Request (SR) sul sito del supporto online Dell richiedendo un "controllo integrità Isilon".
*Il controllo integrità non risolve i problemi del cluster e non ne valuta la configurazione, le prestazioni o il flusso di lavoro.