Se si verifica un errore durante un aggiornamento a Edge 4.52.02, puoi eseguire il rollback del componente che ha causato l'errore e riprovare a eseguire l'aggiornamento.
Puoi eseguire il rollback di Edge 4.52.02 alle seguenti versioni principali:
- Versione 4.52.01
- Versione 4.52.00
- Versione 4.51.00
Il rollback di una versione comporta il rollback di tutti i componenti di cui potresti aver eseguito l'upgrade. Inoltre, a seconda della versione da cui hai iniziato, potresti dover prendere in considerazione considerazioni speciali prima di eseguire il rollback di determinati componenti software. Nella tabella seguente sono elencati i vari software per i quali potrebbero essere necessari passaggi speciali durante il rollback:
Esegui il rollback alla versione | Considerazione speciale per il software |
---|---|
4.52.01 | Cassandra |
4.52.00 | Cassandra, Zookeeper, Qpid |
4.51.00 | Cassandra, Zookeeper, Qpid, Postgres |
Esistono due scenari in cui potresti voler eseguire un rollback:
- Esegui il rollback a una release principale o secondaria precedente. Ad esempio da 4.52.02 a 4.52.00.
- Esegui il rollback a una release con patch precedente nella stessa release. Ad esempio, da 4.52.00.02 a 4.52.00.01.
Per ulteriori informazioni, consulta la procedura di rilascio di Apigee Edge.
Ordine del rollback
Il rollback dei componenti deve essere eseguito nell'ordine inverso rispetto a quello in cui è stato eseguito l'upgrade, con l'eccezione che il rollback dei server di gestione deve essere eseguito dopo Cassandra.
Un ordine generale di rollback tipico per Private Cloud 4.52.02 è il seguente:
- Esegui il rollback di Postgres, Qpid e altri componenti correlati all'analisi
- Esegui il rollback dei router e dei processori di messaggi
- Rollback Cassandra, Zookeeper
- Server di gestione del rollback
Ad esempio, supponiamo che tu abbia eseguito l'upgrade dell'intero cluster Cassandra, di tutti i server di gestione e di alcuni RMP alla versione 4.52.02 dalla versione 4.52.01 e che tu voglia eseguire il rollback. In questo caso:
- Esegui il rollback di tutti gli RP uno alla volta
- Esegui il rollback dell'intero cluster Cassandra utilizzando i backup
- Esegui il rollback dei nodi del server di gestione Edge uno alla volta
Chi può eseguire un rollback
L'utente che esegue il rollback deve essere lo stesso che ha aggiornato Edge inizialmente o un utente eseguito come utente root.
Per impostazione predefinita, i componenti Edge vengono eseguiti come utente "apigee". In alcuni casi, potresti eseguire i componenti di Edge come utenti diversi. Ad esempio, se il router deve accedere a porte privilegiate, come quelle inferiori a 1000, devi eseguire il router come utente root o come utente con accesso a queste porte. In alternativa, puoi eseguire un componente come un utente e un altro componente come un altro utente.
Componenti con codice comune
I seguenti componenti Edge condividono un codice comune. Pertanto, per eseguire il rollback di uno di questi componenti su un nodo, devi eseguire il rollback di tutti i componenti presenti sul nodo.
edge-management-server
(server di gestione)edge-message-processor
(Processore di messaggi)edge-router
(router)edge-postgres-server
(Postgres Server)edge-qpid-server
(Qpid Server)
Ad esempio, se sul nodo sono installati il server di gestione, il router e l'elaboratore di messaggi, per eseguire il rollback di uno di questi componenti devi eseguire il rollback di tutti e tre.
Rollback di Cassandra
Quando viene eseguito un upgrade importante di Cassandra su un determinato nodo Cassandra, Cassandra modifica lo schema dei dati archiviati sul nodo, rendendo non fattibile un rollback diretto. Esistono due metodologie per eseguire il rollback. Utilizzerai una di queste metodologie in base allo stato dell'upgrade da cui esegui il rollback.
Metodologie per il rollback
- Esegui il wipe dei nodi esistenti nel cluster e utilizzali per ricostruire il nodo
- Cancellare e ripristinare il backup o lo snapshot della VM
Resetta e utilizza i nodi esistenti nel cluster per ricostruire il nodo
Questa procedura può essere seguita se nel cluster è presente almeno un data center completamente funzionale ancora sulla versione precedente di Cassandra (Cassandra 2.1.22). Se hai eseguito l'upgrade dell'intero cluster Cassandra e vuoi eseguire il rollback, devi seguire i passaggi descritti in Eseguire l'eliminazione e il ripristino del backup o dello snapshot della VM.
Passaggi per il rollback
- Inizia con il nodo di cui vuoi eseguire il rollback:
- Interrompi Cassandra sul nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- Disinstalla il software Cassandra dal nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
- Rimuovi la directory dei dati dal nodo:
rm -rf /opt/apigee/data/apigee-cassandra
- Scarica ed esegui il bootstrap della versione precedente di Edge for Private Cloud a cui vuoi eseguire il rollback.
Esempio: per eseguire il rollback alla versione 4.52.01,
- Scarica il bootstrap di 4.52.01:
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
- Esegui il bootstrap di 4.52.01:
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
- Configura Cassandra sul nodo:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
- Esegui la ricostruzione sul nodo specificando il nome del data center funzionale:
/opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
- Ripeti i passaggi precedenti su ogni nodo di cui vuoi eseguire il rollback, uno alla volta.
- Interrompi Cassandra sul nodo:
- Una volta eseguito il rollback e ricostruiti tutti i nodi:
- Esegui la configurazione di qualsiasi nodo del server di gestione. Assicurati che il server di gestione provenga dalla versione di cui è stato eseguito il rollback. In caso contrario, esegui il rollback anche del server di gestione.
- Arresta il server di gestione:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
- Se utilizzi la monetizzazione, disinstallala anche:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Disinstalla il server di gestione:
/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Scarica ed esegui il bootstrap della versione precedente. Ad esempio, per scaricare ed eseguire il bootstrap della versione 4.52.01:
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord - Esegui la configurazione di un nodo del server di gestione:
/opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile
Ottimizzazione dopo la ricostruzione
Nei passaggi precedenti, tutti i dati del nodo vengono trasmessi in streaming dal data center remoto durante la ricostruzione. Puoi ottimizzare questa procedura utilizzando una riparazione una volta che tutte le repliche sono state trasmesse in streaming al data center locale. In questo modo si evita lo streaming tra DC e l'operazione dovrebbe essere più rapida rispetto alla ricostruzione di tutti i nodi da un DC remoto.
Esempio: supponiamo che tu abbia sei nodi Cassandra nel data center locale. Per impostazione predefinita, il fattore di replica di Apigee è 3, quindi ogni nodo possiede il 50% dei dati. In questo caso, puoi ricostruire i nodi 1 e 4 seguendo la procedura descritta sopra. Per i nodi 2, 3, 5 e 6, segui i passaggi riportati di seguito per ripristinare il backup ed eseguire una riparazione.
- Segui la procedura fino al passaggio 6 come descritto per ricostruire le repliche nel data center locale.
- Per i nodi rimanenti, segui i passaggi riportati di seguito su ogni nodo rimanente.
- Ripristina il backup acquisito su questo nodo (nota: questo backup potrebbe contenere dati non aggiornati perché è stato eseguito prima dell'avvio dell'upgrade di Cassandra):
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
- Se hai uno snapshot della VM del nodo, puoi ripristinarlo anziché il backup di Cassandra.
- Dopo aver ripristinato il backup, avvia il servizio Cassandra sul nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
- Esegui una riparazione sul nodo in modo che i dati più recenti possano essere trasmessi in streaming da un data center esistente:
/opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
- Ripeti i passaggi da tre a sei su ogni nodo da riparare.
- Ripristina il backup acquisito su questo nodo (nota: questo backup potrebbe contenere dati non aggiornati perché è stato eseguito prima dell'avvio dell'upgrade di Cassandra):
Resetta e ripristina lo snapshot del backup/della VM
Questa procedura è l'unica disponibile se hai eseguito l'upgrade dell'intero cluster Cassandra e vuoi eseguire il rollback.
Inoltre, i backup di Apigee sono specifici per nodo. Non è possibile ripristinare un backup di un nodo in un altro. I backup di Cassandra includono informazioni sui metadati dei nodi (ad esempio indirizzo IP, posizione dell'anello e così via).
- Inizia con un nodo Cassandra nel cluster:
- Interrompi il servizio Cassandra sul nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- Disinstalla il software Cassandra dal nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
- Rimuovi la directory dei dati dal nodo:
rm -rf /opt/apigee/data/apigee-cassandra
- Scarica ed esegui il bootstrap della versione precedente di Edge for Private Cloud a cui vuoi eseguire il rollback.
Esempio: per eseguire il rollback alla versione 4.52.01
- Scarica il bootstrap di 4.52.01:
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
- Esegui il bootstrap di 4.52.01:
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
- Configura Cassandra sul nodo:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
- Ripristina il backup sul nodo utilizzando la procedura descritta in Ripristina da un backup.
- Interrompi Cassandra sul nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- Elimina la directory dei dati:
rm -rf /opt/apigee/data/apigee-cassandra/data
- Ripristina backup:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
- Avvia il servizio Cassandra sul nodo:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
- Ripeti i passaggi su ciascun nodo Cassandra uno alla volta.
- Esegui la riparazione sui nodi uno alla volta:
/opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr
- Interrompi il servizio Cassandra sul nodo:
Esegui il rollback dell'aggiornamento di Zookeeper 3.8.3
Se esegui il rollback alle versioni 4.52.00 o 4.51.00, dovrai seguire alcuni passaggi speciali prima di eseguire il rollback di Zookeeper. Questi passaggi sono elencati in Ripristino dei dati precedenti.
Se esegui il rollback alla versione 4.52.01, esegui il rollback di Zookeeper come faresti con qualsiasi software, come indicato nella sezione Eseguire il rollback a una release principale o secondaria precedente di seguito.
Rollback Qpid
Se esegui il rollback alle versioni 4.52.00 o 4.51.00, dovrai seguire alcuni passaggi speciali prima di eseguire il rollback di Qpid. Questi passaggi sono elencati in Ripristino dei dati precedenti.
Se esegui il rollback alla versione 4.52.01, esegui il rollback di Qpid come faresti con qualsiasi software come indicato nella sezione Eseguire il rollback a una release maggiore o minore precedente
Esegui il rollback dell'aggiornamento di Postgres 10.17
Se esegui il rollback alla versione 4.51.00, dovrai fare riferimento ad alcuni passaggi speciali prima di eseguire il rollback di Postgres. Questi passaggi sono elencati in Ripristino dei dati precedenti.
Se esegui il rollback alla versione 4.52.01 o 4.52.00, esegui il rollback di Postgres come faresti con qualsiasi software, come indicato nella sezione Eseguire il rollback a una release principale o secondaria precedente di seguito.
Esegui il rollback a una release principale o secondaria precedente
Per eseguire il rollback a una release maggiore o minore precedente, svolgi le seguenti operazioni su ogni nodo che ospita il componente:
-
Scarica il file
bootstrap.sh
per la versione a cui vuoi eseguire il rollback:- Per eseguire il rollback alla versione 4.51.00, scarica
bootstrap_4.51.00.sh
:curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- Per eseguire il rollback alla versione 4.51.00, scarica
- Interrompi il componente di cui vuoi eseguire il rollback:
- Per eseguire il rollback di uno dei componenti con codice comune sul
node, devi fermarli tutti, come mostrato nell'esempio seguente:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
- Per eseguire il rollback di qualsiasi altro componente sul nodo, interrompi solo quel componente:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Per eseguire il rollback di uno dei componenti con codice comune sul
node, devi fermarli tutti, come mostrato nell'esempio seguente:
- Se esegui il rollback della monetizzazione, disinstallala da tutti i nodi del server di gestione e del Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Disinstalla il componente da ripristinare sul nodo:
- Per eseguire il rollback di uno dei componenti con codice comune sul
node, devi disinstallarli tutti disinstallando il gruppo di componenti
edge-gateway
, come mostrato nell'esempio seguente:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Per eseguire il rollback di qualsiasi altro componente sul nodo, disinstalla solo quel componente, come mostrato nell'esempio seguente:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
Dove component è il nome del componente.
- Per eseguire il rollback del router Edge, devi eliminare i contenuti del
file
/opt/nginx/conf.d
, oltre a disinstallare il gruppo di componentiedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- Per eseguire il rollback di uno dei componenti con codice comune sul
node, devi disinstallarli tutti disinstallando il gruppo di componenti
- Disinstalla la versione 4.52.02 di
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Installa la versione 4.51.00 dell'utilità
apigee-service
e le relative dipendenze. Nell'esempio riportato di seguito viene installata la versione 4.51.00 diapigee-service
:sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
dove uName e pWord sono il nome utente e la password che hai ricevuto da Apigee. Se ometti pWord, ti verrà chiesto di inserirlo.
Se ricevi un messaggio di errore, assicurati di aver scaricato il file
bootstrap.sh
nel passaggio 1. - Installa
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Installa la versione precedente del componente:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
dove component è il componente da installare e configFile è il file di configurazione per la versione precedente.
- Se esegui il rollback di Qpid, svuota iptables:
sudo iptables -F
- Ripeti questa procedura per ogni nodo che ospita il componente di cui vuoi eseguire il rollback.
Esegui il rollback a una release di patch precedente
Per eseguire il rollback di un componente a una release di patch specifica, svolgi i seguenti passaggi su ogni nodo che ospita il componente:
- Scarica la versione specifica del componente:
/opt/apigee/apigee-service/bin/apigee-service component_version install
Dove component_version è la release del componente e della patch da installare. Ad esempio:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install
Se utilizzi il repository online di Apigee, puoi determinare le versioni dei componenti disponibili utilizzando il seguente comando:
yum --showduplicates list comp
Ad esempio:
yum --showduplicates list edge-ui
- Utilizza
apigee-setup
per installare il componente:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Ad esempio:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Tieni presente che devi specificare solo il nome del componente quando lo installi, non la versione.
- Ripeti questa procedura per ogni nodo che ospita il componente di cui vuoi eseguire il rollback.
Esegui il rollback di mTLS
Per eseguire il rollback dell'aggiornamento mTLS, svolgi i seguenti passaggi su tutti gli host:
- Interrompi Apigee:
apigee-all stop
- Interrompi mTLS:
apigee-service apigee-mtls uninstall
- Reinstalla mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf