Aggiornamento Citrix ADC in HA

Citrix ADC meglio conosciuto come Citrix Netscaler, oggi è sicuramente uno dei bilanciatori di carico più conosciuti sul mercato, oltre al bilanciamento di carico offre moltissime altre funzionalità vi rimando al link ufficiale per una visione completa. In questa guida andiamo ad analizzare la procedura di aggiornamento per una installazione di due nodi in modalità attivo/passivo, da Citrix meglio conosciuta come nodo primario (attivo) e secondario (passivo). Un consiglio importante è di aggiornare senza saltare una build intera, se ad esempio abbiamo la 12.0 non aggiorniamo direttamente alla 13.0 ma passiamo attraverso la 12.1. Primo punto andiamo sul sito ufficiale di Citrix e scarichiamo la build che useremo per l’aggiornamento, il file avrà una nomenclatura simile a “build-13.0-76.29_nc_64.tgz”, chiaramente per procedere al download sarà necessario avere un contratto di manutenzione attivo. Avendo una installazione con due nodi dovremo seguire con disattivare i servizi di HA sul nodo primario e secondario e posizionare i nodo principale in modalità “stayprimary” e il nodo secondario in modalità “staysecondary”, con i seguenti comandi sul nodo primario

set ha node -hastatus Stayprimary
set ha node -haprop disabled
set ha node -hasync disabled

con i seguenti comandi sul nodo secondario

set ha node -hastatus Staysecondary
set ha node -haprop disabled
set ha node -hasync disabled

sempre sul nodo secondario attiviamo la modalità “shell” usando il comando

shell

andiamo a creare una nuova cartella nel percorso /var/nsinstall aggiungendo la nostra directory

mkdir /var/nsinstall/13.0-76.29_ncinstall

utilizzando un software come WinSCP in modalità SFTP andiamo a caricare nella directory appena creata il file TAR che abbiamo scarica dal sito Citrix e successivamente procediamo alla decompressione, una volta terminata procediamo all’aggiornamento del nodo

cd /var/nsinstall/13.0-76.29_ncinstall
tar -xzvf build-13.0-76.29_nc_64.tgz <-- decompressione
./installns <-- comando per lanciare aggiornamento

quanto terminata la procedura di aggiornamento procediamo con il riavvio del nodo confermando con “Y” alla domanda. Proviamo che il tutto sia avvenuto correttamente accedendo alla GUI e controllando che l’aggiornamento abbia avuto successo. A seguito del controllo precedente spostiamo i servizi sul nodo secondario (nodo appena aggiornato) che diventerà così il nodo primario con i seguenti comandi sul primario (nodo non ancora aggiornato)

set ha node -hastatus enabled

e sul secondario (nodo appena aggiornato), procedendo anche con lo spostamento dei servizi e quindi eleggendolo a nodo primario

set ha node -hastatus enabled
force failover

a questo punto collegandoci di nuovo alla GUI del nuovo nodo primario (nodo aggiornato) controlliamo che anche tutti i servizi attivi funziono a dovere, una volta sicuri possiamo procedere con l’aggiornamento dell’attuale nodo secondario (nodo non aggiornato). Procediamo con il disabilitare nuovamente “hastatus” sul nodo primario (nodo aggiornato)

set ha node -hastatus Stayprimary

e sul nodo secondario (nodo non ancora aggiornato)

set ha node -hastatus Staysecondary

sul nodo secondario (nodo non ancora aggiornato), andiamo in modalità “shell”, procediamo con la creazione della cartella in /var/nsinstall e la successiva copia usando WinSCP del file TAR di aggiornamento, a seguire lo decomprimiamo e aggiorniamo

mkdir /var/nsinstall/13.0-76.29_ncinstall <-- creazione cartella
cd /var/nsinstall/13.0-76.29_ncinstall
tar -xzvf build-13.0-76.29_nc_64.tgz <-- decompressione
./installns <-- comando per lanciare aggiornamento

terminato l’aggiornamento procediamo con il riavvio del nodo confermato con “Y” alla domanda. Una volta riavviato il nodo accediamo alla GUI controllando come in precedenza che l’aggiornamento abbia avuto successo e che tutto funzioni correttamente, una volta sicuri procediamo con la riabilitazione dei servizi HA e con il force failover per far tornare principale il nodo corretto. Sul nodo principale (nodo aggiornato per primo) procediamo con i seguenti comandi

set ha node -hastatus enabled
set ha node -haprop enabled
set ha node -hasync enabled

lo stesso anche sul nodo appena aggiornato con i seguenti comandi

set ha node -hastatus enabled
set ha node -haprop enabled
set ha node -hasync enabled

solitamente il nodo primario iniziale torna primario in automatico, se questo non dovesse avvenire possiamo forzare l’operazione con il solito comando “force failover”. Possiamo controllare lo stato dei nostri nodi con il seguente comando

> show ha node <-- Comanda da usare per visualizzare lo stato dei nodi
1)      Node ID:      0
        IP: IP ADDRESS NODO (DNS NODO)
        Node State: UP
        Master State: Primary <-- Definisce che questo è il nodo primario
        Fail-Safe Mode: ON
        INC State: DISABLED
        Sync State: ENABLED <-- Importante che sia in Enabled
        Propagation: ENABLED <-- Importante che sia in Enabled
        Enabled Interfaces : 0/1 1/1
        Disabled Interfaces : None
        HA MON ON Interfaces : None
        HA HEARTBEAT OFF Interfaces : None
        Interfaces on which heartbeats are not seen : 1/1
        Interfaces causing Partial Failure: None
        SSL Card Status: NOT PRESENT
        Hello Interval: 200 msecs
        Dead Interval: 3 secs
        Node in this Master State for: 0:19:34:54 (days:hrs:min:sec)
2)      Node ID:      1
        IP: P ADDRESS NODO (DNS NODO)
        Node State: UP
        Master State: Secondary <-- Definisce che questo è il nodo secondario
        Fail-Safe Mode: OFF
        INC State: DISABLED
        Sync State: SUCCESS <-- Importante che sia in Success (essendo il nodo secondario)
        Propagation: ENABLED <-- Importante che sia in Enabled
        Enabled Interfaces : 0/1 1/1
        Disabled Interfaces : None
        HA MON ON Interfaces : None
        HA HEARTBEAT OFF Interfaces : None
        Interfaces on which heartbeats are not seen : 1/1
        Interfaces causing Partial Failure: None
        SSL Card Status: NOT PRESENT

Se potete vedere un risultato simile a quello sopra avete terminato correttamente la procedura di aggiornamento di Citrix ADC in modalità HA.

***NB: Prima di procedere a un aggiornamento di Citrix ADC fate i backup dei nodi in modo da poter procedere a un fallback in caso di problemi. ***