Introduzione
Questo articolo illustra la procedura per arrestare correttamente il cluster Dell Isilon e include informazioni sui rischi associati a un arresto non corretto del cluster.
Attenzione: L'arresto non corretto del cluster può causare problemi di availability e integrità dei dati.
I nodi arrestati in modo non corretto 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 sono ancora archiviati in un journal del nodo e un nodo è senza alimentazione di sistema per un periodo superiore alla durata della batteria NVRAM, i dati vengono persi e il cluster deve essere ricostruito.
In caso di domande sulle procedure o sulle informazioni contenute in questo articolo, contattare il supporto tecnico Dell Isilon per assistenza.
Procedura
La procedura di arresto del cluster richiede credenziali root e l'accesso alla console seriale per i nodi del cluster. La procedura è suddivisa in cinque fasi.
Leggere l'intera procedura prima di iniziare il processo di arresto. In questo modo è possibile comprendere il contesto e l'ordine per completare ogni passaggio.
Attenzione: Se si esegue una versione di OneFS che ha raggiunto la fine del ciclo di vita utile (EOSL), eseguire l'aggiornamento 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 ostacolare la procedura di arresto.
Attenzione: Dell consiglia vivamente di seguire tutti i passaggi della Fase 1 prima di arrestare l'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 procedura di arresto di emergenza.
- Se necessario, caricare i registri per riferimento cronologico.
# isi_gather_info
- Eseguire o richiedere un controllo integrità Isilon.
- In questo modo viene valutata l'integrità del cluster per garantire che si trovi in uno stato operativo supportabile e valido.
- Può essere eseguita dal cliente utilizzando PowerScale: Come eseguire lo strumento di analisi del cluster IOCA
- Può essere eseguita dal team di intervento in remoto (supporto clienti). Questa opzione è disponibile per tutti i clienti con un contratto di manutenzione attivo per i cluster nelle versioni di codice supportate. Se si soddisfano questi requisiti, aprire una Service Request (SR) sul sito del Supporto Online Dell richiedendo un "Isilon Health Check". Fornire i registri completi per il controllo integrità eseguendo questo comando
# isi_gather_info
*Il controllo integrità non ha lo scopo di risolvere i problemi del cluster o valutare la configurazione, le prestazioni o il flusso di lavoro del cluster.
- Eseguire un "riavvio a freddo" di ciascun nodo effettuando le seguenti operazioni. È necessario pianificare una finestra di manutenzione per questa attività.
Nota: Questo processo consente di identificare eventuali errori di memoria o modalità di errore dell'unità che vengono rilevate solo quando il nodo viene riacceso.
Nota: Questo processo interrompe tutte le connessioni, ad eccezione di NFSv3. Contattare il supporto Isilon per assistenza con le istruzioni su un processo più lungo che non interrompa l'attività del client mentre i nodi vengono riavviati per questo test di manutenzione.
- Arrestare un nodo alla volta ogni nodo del cluster. Per arrestare ogni nodo:
- Aprire una connessione SSH a qualsiasi nodo. Arrestare ogni nodo eseguendo il seguente comando:
isi config
shutdown <node_lnn>
- Verificare che ogni nodo si sia spento verificando che il LED dell'indicatore di alimentazione verde sul retro del nodo non sia più acceso.
- Premere il pulsante di alimentazione per riaccendere il nodo.
- Verificare che il nodo sia stato ricongiunto al cluster e che sia integro eseguendo il comando
isi status -q
e cercando OK nella colonna Health DASR dell'output.
- Se un nodo riscontra i problemi indicati nella colonna Health DASR o non riesce a riconnettersi al cluster, risolvere questi problemi prima di arrestare il nodo successivo.
Viene selezionato un esempio di problema. Il nodo 1 è stato ricongiunto 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
- Verificare nuovamente lo stato dell'intero cluster dopo aver riavviato ogni nodo. Aprire una connessione SSH a qualsiasi nodo ed eseguire il comando riportato di seguito:
isi status -q
Verificare che la colonna Health DASR di ogni nodo sia impostata su OK.
Nota: Se il tempo non consente un approccio di riavvio a freddo per ogni nodo, è possibile rilevare in modo proattivo alcuni problemi hardware latenti eseguendo invece un riavvio in sequenza o "riavvio a caldo" eseguendo il seguente comando per ogni nodo:
isi config
reboot <node_lnn>
Tuttavia, Dell consiglia vivamente di utilizzare l'approccio del riavvio a freddo per identificare in modo più efficace i problemi hardware latenti.
Fase 2. Arrestare ogni nodo del cluster.
Questi passaggi devono essere eseguiti il giorno in cui si arresta l'Isilon cluster. Durante un arresto a livello di cluster, alcuni fattori possono influire o ritardare il processo di arresto. Ad esempio, le scritture dei dati in sospeso in un nodo potrebbero influire sull'arresto. Lo scopo dei passaggi 1 e 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. Se si dispone di client iSCSI, assicurarsi di arrestare i client prima di disabilitare il servizio iSCSI.
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 arrestato correttamente prima di passare al nodo successivo e di apportare modifiche o risolvere 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 ciascun nodo per l'esecuzione del comando di arresto. La sezione Arrestare contemporaneamente 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 elevato numero di scritture non ostacolino la procedura di arresto. A tale scopo, è possibile disabilitare i servizi lato client in esecuzione nel cluster. Attenersi alla seguente procedura per disabilitare i servizi lato client:
- Identificare i servizi o i protocolli lato client in esecuzione nel cluster eseguendo i seguenti comandi per ogni servizio lato client:
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 di 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 lato client. Dopo questo passaggio, tutti i client perdono immediatamente la connessione al cluster. Per disabilitare un servizio, eseguire il seguente comando correlato al servizio che è stato 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
Se si dispone di client iSCSI, accertarsi che i client iSCSI abbiano disinstallato le LUN prima di eseguire il passaggio 2. Eseguire isi iscsi list
per verificare che tutti i client iSCSI siano disconnessi dal cluster.
Nota: Se si sta disabilitando il servizio iSCSI, accertarsi di aver arrestato i client iSCSI prima di eseguire isi_iscsi_d disable
. L'interruzione di una LUN iSCSI montata potrebbe causare danni al client, che in genere richiede il ripristino dal backup.
- Spostare le scritture di dati archiviate nei journal dei nodi nel file system eseguendo il comando
isi_for_array isi_flush
. Su ogni nodo viene visualizzato un output simile al seguente:
mycluster-4# isi_for_array isi_flush
mycluster-1: Flushing cache...
mycluster-1: Cache flushing complete.
Nota: In 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 scaricare i dati, viene visualizzato un output simile al seguente riportato di seguito, in cui il nodo 1 e il nodo 2 non riescono a eseguire il proprio comando di svuotamento:
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 isi_for_array isi_flush
comanda di nuovo. Se uno dei nodi non riesce a scaricare, 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 che non ha scaricato i dati dal proprio journal al file system, il rischio di perdita di dati aumenta notevolmente. Contattare il supporto tecnico Dell Isilon se si necessita di assistenza con la procedura di arresto.
- Arrestare ogni nodo del cluster in sequenza e monitorare l'output. Questo approccio è consigliato perché consente di identificare e risolvere eventuali problemi prima di arrestare il nodo successivo nel cluster. Arrestare ogni nodo effettuando le seguenti operazioni:
Attenzione: NON eseguire il isi_for_array shutdown -p
per arrestare il cluster.
Qualsiasi nodo che presenta un errore irreversibile o si riavvia in questo passaggio è un nodo che richiede ulteriori indagini. In particolare, tutti i nodi devono scaricare i dati dal journal del nodo al file system prima di procedere.
Avvertenza: Se si rimuove una sorgente di alimentazione da un nodo che non ha scaricato i dati dal proprio journal al file system, il rischio di perdita di dati aumenta notevolmente. Contattare il supporto tecnico Dell Isilon se si necessita di assistenza con la procedura di arresto.
- Collegare una console seriale a ciascun nodo.
- Eseguire il seguente comando:
isi config
shutdown
Quando il nodo viene arrestato correttamente, viene visualizzato un output simile al seguente:
Powering the system off using ACPI
Nota: Se non si ha accesso ai nodi tramite uno switch KVM (Tastiera, Video, Mouse) ed è necessario utilizzare un notebook, il completamento di questo passaggio potrebbe richiedere ore.
- C. Osservare la console e cercare gli eventi di errore correlati all'hardware. I salvataggi riusciti del journal del nodo vengono selezionati nelle seguenti varianti 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 che indica che il journal del nodo non ha salvato, è possibile salvare manualmente il journal eseguendo i passaggi della Fase 3.
Arrestare contemporaneamente tutti i nodi del cluster.
In caso di emergenza, è possibile arrestare contemporaneamente tutti i nodi del cluster. Tuttavia, questo metodo non è consigliato perché non consente di monitorare lo stato e l'output di ogni nodo nel caso in cui 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: Qualsiasi nodo che presenta un errore irreversibile o si riavvia in questo passaggio è un nodo che richiede ulteriori indagini. In particolare, tutti i nodi devono scaricare i dati dal journal del nodo al file system prima di procedere.
Avvertenza: Se si rimuove una sorgente di alimentazione da un nodo che non ha scaricato i dati dal proprio journal al file system, il rischio di perdita di dati aumenta notevolmente. Contattare il supporto tecnico Dell Isilon se si necessita di assistenza con la procedura di arresto.
Per arrestare tutti i nodi del cluster, utilizzare l'interfaccia della riga di comando di OneFS o l'interfaccia di amministrazione web di OneFS.
Dall'interfaccia della riga di comando di OneFS, eseguire il seguente comando:
# isi config shutdown all
Nota: NON eseguire il 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 siano stati arrestati correttamente.
Verificare che i nodi si siano arrestati correttamente osservando il diodo emettitore luminoso (LED) dell'indicatore di alimentazione sul retro del nodo. Tutti i LED dell'indicatore di alimentazione devono apparire scuri o spenti. Ciò indica che il nodo è stato arrestato correttamente.
Avvertenza: Se un nodo non si arresta correttamente e si scollega la sorgente di alimentazione dal nodo, la possibilità 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 sull'esito positivo dell'operazione di arresto, ad esempio se il nodo non si arresta o il journal non viene salvato.
Se la spia dell'indicatore di alimentazione sul retro del nodo è ancora accesa, il nodo non si è arrestato. Se il nodo non è stato arrestato o se si riceve l'output della console che indica che il journal del nodo non è stato salvato correttamente (dalla
fase 2, passaggio 3C), è necessario salvare manualmente il journal per garantire che venga eseguito il commit dei dati su disco prima di arrestare il nodo.
- Per salvare manualmente il journal e arrestare il nodo, effettuare le seguenti operazioni:
- 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 alimentazione sul retro del nodo. Ciò provoca lo spegnimento del nodo. Attendere 30 secondi, quindi premere una volta il pulsante di alimentazione per avviare nuovamente il backup del nodo. Procedere al passaggio successivo.
Avvertenza: Si consiglia di riavviare manualmente il nodo solo per questo passaggio. Non arrestare manualmente il nodo per qualsiasi altra condizione. Può causare la perdita di dati.
- Dopo aver riavviato il nodo, effettuare nuovamente l'accesso e utilizzare la seguente procedura per salvare il journal:
- Tentare di arrestare di nuovo il nodo normalmente eseguendo il seguente comando:
# isi config shutdown
- Se l'output indica ancora che il journal non è stato salvato, salvarlo manualmente eseguendo il seguente comando:
# isi_save_journal
- Se il journal continua a non essere salvato, smontare il file system, /ifs, quindi forzare il salvataggio del journal eseguendo i seguenti comandi:
# isi_kill_busy && umount /ifs
- Verificare che il journal sia salvato eseguendo il comando isi_checkjournal.
# isi_checkjournal
- Non andare al passaggio successivo fino a quando l'output non indica che il journal è stato salvato correttamente.
Se necessario, contattare il supporto tecnico Dell .
Fase 4: Scollegare la fonte di alimentazione.
Dopo che il cluster si è arrestato correttamente e i nodi sono stati spenti, solo allora è possibile scollegare la fonte di alimentazione dal cluster.
Avvertenza: Se un nodo non è stato arrestato correttamente, non scollegare la sorgente di alimentazione del nodo. Ciò potrebbe causare la perdita di dati, una lunga procedura di ripristino e, talvolta, una ricostruzione completa del cluster.
Batterie
NVRAMQuando un client scrive un file su un nodo, le scritture vengono prima archiviate nella RAM non volatile (NVRAM) ospitata sulla scheda journal del nodo. Qualche tempo dopo, OneFS esegue il commit di tali scritture su disco. Per proteggere i dati archiviati nella NVRAM in caso di interruzione dell'alimentazione non programmata, ogni nodo è dotato di batterie NVRAM (due per la ridondanza). Un nodo spento ma che rimane connesso a una sorgente di alimentazione continua ad aggiornare le batterie NVRAM. Quando la sorgente di alimentazione viene disconnessa 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 era di circa tre giorni.
Dell Technologies consiglia di arrestare correttamente i nodi per evitare di fare affidamento sulle batterie NVRAM per un periodo di tempo considerevole durante un'interruzione dell'alimentazione.
Nota: Per ulteriori informazioni su come Isilon utilizza la NVRAM per preservare l'integrità dei dati, consultare la sezione "Struttura del file system" nelle guide all'amministrazione web e alla CLI di OneFS.
Se le batterie NVRAM su un nodo si scaricano completamente, il nodo si avvia in modalità read-only e rimane in modalità read-only per circa 30 minuti fino a quando le batterie NVRAM non si ricaricano completamente. Quando le batterie vengono ricaricate, il nodo torna automaticamente alla normale modalità di lettura/scrittura.
Avvertenza: Se i dati sono ancora archiviati nella NVRAM a causa di un arresto non corretto e un nodo rimane senza alimentazione di sistema per un periodo superiore alla durata della batteria NVRAM, si verifica una perdita di dati, una lunga procedura di ripristino e talvolta una ricostruzione completa del cluster.
Fase 5: Accendere ogni nodo nel cluster.
Questi passaggi devono essere eseguiti quando si è pronti a riavviare l'Isilon Cluster.
- Ripristinare la sorgente di alimentazione su ciascun nodo.
- Premere il pulsante di alimentazione sul pannello anteriore o sul retro di ciascun nodo per avviarli.
- Dopo aver acceso tutti i nodi, eseguire il comando
isi status -q
per esaminare l'integrità del cluster. Verificare che tutti i nodi siano a posto nella colonna Health DASR e che non siano in modalità read-only (R) prima di procedere. 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
- Vedere 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 siano in grado di connettersi al cluster ed eseguire i flussi di lavoro abituali. Il cluster dovrebbe funzionare normalmente.
- Upload a full log gather
# isi_gather_info --esrs
- Eseguire o richiedere un controllo integrità Isilon da parte del team di intervento remoto (supporto clienti).
Procedura per eseguire i controlli integrità.
PowerScale: Come eseguire lo strumento IOCA Cluster Analysis.
- Richiedere un controllo integrità utilizzando il team di supporto reattivo remoto
Questa opzione è disponibile per tutti i clienti con un contratto di manutenzione attivo per i cluster nelle versioni di codice supportate.
Se si soddisfano questi requisiti, aprire una Service Request (SR) sul sito del Supporto Online Dell richiedendo un "Isilon Health Check".
*Il controllo integrità non ha lo scopo di risolvere i problemi del cluster o valutare la configurazione, le prestazioni o il flusso di lavoro del cluster.