Test degli scenari di failover della replica del sistema SAP HANA

Gli scenari coprono sia le interruzioni pianificate (funzionamento normale, manutenzione) che le interruzioni non pianificate (errori). Verificare ogni scenario per il corretto funzionamento.

Impostazione test

I seguenti scenari prevedono che la topologia, come definita nella politica di esempio, sia un cluster con due nodi (node1, node2). Abbiamo dei gruppi mobili per l'istanza hdb primaria e secondaria e un gruppo fisso per il processo sapstartsrv su ogni nodo.

È possibile utilizzare il comando lssam per controllare la reazione del sistema alle azioni intraprese.

Scenari per interruzioni pianificate e non pianificate

Tabella 1 e Tabella 2 elencano gli scenari importanti per le interruzioni pianificate e non pianificate. Le precondizioni per eseguire gli scenari sono elencate sopra le colonne Azione, Comando e Risultato previsto . Ogni scenario è diviso in passi, in cui ogni precondizione di passi è il completamento corretto dell'azione precedente. I comandi da eseguire sono elencati nella colonna Comando . Se si dispone di convenzioni di denominazione differenti, è necessario adattare i comandi di conseguenza. L'ultima colonna delle tabelle elenca il risultato previsto.

Negli esempi di comando nella Tabella 1, sostituisci <PREFIX>, <SAPSID>e <INSTANCE_NAME_HDB> a seconda dell'ambiente.

Tabella 1. Interruzioni pianificate
Scenario Azione Comando Risultato previsto
Funzionamento normale Precondizione: tutti i gruppi non in linea
Avviare il sistema SAP HANA
chrg -o online -s 
"Name like '<PREFIX>_%'"
  • sr_primary_rg inizio gruppo su node1
  • sr_secondary_rg inizio gruppo su node2.
Arrestare il sistema SAP HANA <SAPSID>
chrg -o offline -s 
"Name like '<PREFIX>_<SAPSID>_%’"
I gruppi primari e secondari vengono arrestati.
(Re-) Avviare il sistema SAP HANA <SAPSID>
chrg -o online -s "Name
like'<PREFIX>_<SAPSID>_%’"
  • Avvio del gruppo sr_primary_rg su node1.
  • sr_secondary_rg inizio gruppo su node2.
Arrestare un sistema SAP HANA
chrg -o offline -s
"Name like '<PREFIX>_%'"
Tutti i gruppi si arrestano.
Manutenzione Precondizione:
  • Il gruppo sr_primary_rg è online su node1
  • Il gruppo sr_secondary_rg è in linea su node2
Spostare tutte le risorse da node1 per applicare la manutenzione hardware o del sistema operativo.
samctrl -u a node1
  • sr_primary_rg arresto gruppo su node1.
  • sr_primary_rg inizio gruppo su node2.
  • Il gruppo sr_secondary_rg viene sacrificato.
Applicare la manutenzione, riavviare e così via.
samctrl -u d node1
Avvio del gruppo sr_secondary_rg su node1.
Arrestare e riavviare l'istanza hdb secondaria per applicare SAP
rgreq -o
stop  <PREFIX>_<SAPSID>_
I gruppi di istanze hdb secondari vengono arrestati.
Manutenzione (modifiche al codice o al profilo). <INSTANCE_NAME_HDB>_ sr_secondary_rg
 
rgreq -o cancel <PREFIX>_<SAPSID>_
<INSTANCE_NAME_HDB>_ sr_secondary_rg
I gruppi di istanze hdb secondari vengono avviati su node1.
Sposta l'istanza hdb primaria per applicare la manutenzione SAP (modifiche al codice o al profilo).
rgreq -o
move  <PREFIX>_<SAPSID>_
<INSTANCE_NAME_HDB>_ sr_primary_rg
  • Il gruppo di istanze hdb primario viene arrestato su node2 e riavviato su node1.
  • L'istanza hdb secondaria su node1 si arresta dopo alcuni secondi e viene riavviata su node2.
Tabella 2. Interruzioni non pianificate
Scenario Azione / comando di simulazione Risultato previsto
Precondizione:
  • Il gruppo sr_primary_rg è online su node1
  • Il gruppo sr_secondary_rg è in linea su node2
Per simulare un errore software, creare uno script utilizzando il nome killscript. Aggiungere il seguente contenuto:
kill $1 `ps -ef | grep $2 | grep -v grep | awk '{print $2}'`
Errore dell'istanza hdb primaria. node1:
killscript -9 hdb.sap<SAPSID>
  • Il gruppo di istanze hdb primario viene arrestato e riavviato su node2.
  • Il gruppo di istanze hdb secondario viene arrestato e riavviato su node1.
Errore dell'istanza hdb secondaria. node1:
killscript -9 hdb.sap<SAPSID>
Il gruppo di istanze hdb secondario viene arrestato e riavviato su node1.
Errore del nodo in cui è in esecuzione l'istanza hdb primaria. node2:
reboot -fn
  • I gruppi di istanze hdb primari vengono avviati su node1.
  • L'istanza hdb secondaria su node1 si arresta dopo alcuni secondi e viene riavviata su node2 non appena node2 è nuovamente disponibile nel cluster.
Errore del nodo in cui è in esecuzione l'istanza hdb secondaria. node2:
reboot -fn
  • L'istanza Node2 viene riavviata e hdb secondaria viene riavviata su node2 non appena node2 è nuovamente disponibile nel cluster.
Nota: in ogni caso, dopo il fallover sull'altro nodo, i client HANA si riconnettono all'istanza primaria SAP HANA ed eseguono qualsiasi attività.