Catalog setup

Back

LBL Management Console è un programma client (WebApp) che in dipendenza del tipo di licenza si configura con le funzionalità supportate.

La licenza LBL Catalog, installata nel servizio LBL Monitor, abilita LBL Management Console a funzionare da concentratore delle istanze LBL SAAI. all’interno dei datacenter, fornisce le funzionalità di aggiornamento dei cluster e permette azioni di gruppo dei servizi.

Essendo la suite LBL SAAI un prodotto destinato ad ambienti mission-critical business-critical solo personale che ha effettuato il corso ed ha superato l’esame è autorizzato a certificare l’installazione e manutenzione dei prodotti in esercizio. Tutte le persone certificate sono dotate di documento rilasciato da TCOGROUP SRL.

LBL Catalog: Preparazione all’installazione della licenza

Per installare la licenza LBL Catalog e quindi abilitare le funzionalità di management centralizzato e dei cluster della LBL Management Console, è necessario acquisire una licenza LBL Catalog.

Se non siete in possesso di una licenza LBL Catalog è possibile farne richiesta a TCOGROUP SRL o ad un rivenditore autorizzato.

LBL Catalog: Installazione licenza

Una volta avviata LBL Management Console ed effettuato il login al nodo designato ad ospitare LBL Catalog eseguire le operazioni di seguito elencate:

Selezionare il primo livello dell’albero dei processi. Questo livello identificherà il nodo LBL Catalog. Con il tasto destro del mouse selezionare Install license:


Selezionare la licenza dal opportuna che dovrà necessariamente chiamarsi license.xml.

Una volta confermata la licenza verrà visualizzato il risultato dell’upload. Se SUCCESSFULL passare al passo successivo

Restart del processo LBL Monitor

Una volta installata con successo la licenza si dovrà procedere con il restart del processo LBL  Monitor. Per effettuare il restart del processo LBL Monitor è necessario andare sul sistema operativo guest ed eseguire:

Linux/Unix:

1) identificazione del processo java con definizione -DLBL_RUNLEVEL=0

2) eseguire un kill -15 del processo identificato nel punto 1

3) attendere la fine dei processi controllati da LBL Monitor

E’ possibile vedere l’evolvere della situazione attraverso LBL Management Console che evidenzia lo shutdown controllato dei processi gestiti….

LBL Management Console: disconnect

Una volta che tutti i processi LBL SAAI hanno terminato il loro funzionamento, evidenziato da una vistosa X rossa anteposta ai nodi dell’albero, eseguire disconnect:


Lo stato della LBL Management Console deve tornare a NO LOGGED.

LBL Monitor: Start con licenza Catalog

A seconda del sistema operativo selezionato eseguire lo start del processo principale LBL Monitor che assumerà la nuova licenza LBL Catalog.

LBL Management Console Connect to LBL Catalog


Dalla management console selezionare il tasto Connect:


Digitare Login e Password di accesso e se eseguito con successo apparirà la connessione con funzionalità di Catalogo…

LBL Catalog: configurazione

La configurazione di LBL Catalog è funzionale alla gestione tramite una unica LBL Management Console di più istanze LBL SAAI Distribuite nel datacenter oppure distribuite in più datacenter.

LBL Catalog permette di elencare in maniera molto semplice i nodi LBL SAAI e di censire le istanze che devono mantenere le stesse configurazioni (Cluster).

Per accedere all’elenco è sufficiente selezionare il primo elemento dell’albero (root) che indica la connessione ad un CATALOG e con il tasto destro selezionare “Properties catalog”.


Nel riquadro a destra sarà possibile indicare la lista dei nodi LBL SAAI All’interno del/i datacenter. Il template fornito riporta come commento alcuni esempi.

Per iniziare spostare il primo paragrafo <monitorID> al di fuori del commento e modificarlo con l’indirizzo del nodo che svolge funzioni di catalogo.

DA:

<monitors>

<!-- ipv4 example

<monitorID address="192.168.46.109:54443" description="Node A"/>

<monitorID address="192.168.46.110:54443" description="Node B"/>

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

 

A:

<monitors>

<monitorID address="192.168.46.109:54443" description="Node A"/>

<!-- ipv4 example

<monitorID address="192.168.46.110:54443" description="Node B"/>

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

eseguire quindi l’upload dei parametri di catalogo:

Dopo aver eseguito l’upload espandendo l’elemento root apparirà il primo nodo gestito che è anche il catalogo stesso.

Si possono notare immediatamente due simboli nuovi e di colore diverso.


Questi simboli indicano che il processo in gestione è un processo “cluster”. Non avendo ancora indicato nulla nel paragrafo <clusters> LBL Management Console evidenzia comunque i processi che per natura sono dei cluster come ad esempio istanze LBL Loadbalancer Standard/Enterprise HA o LBL Commander Decision Engine.

Andando ad aggiungere nel catalogo altri nodi LBL A.A.I. questi appariranno, nell’ordine indicato nei parametri Catalog, nell’albero a sinistra….

DA:

<monitors>

<monitorID address="192.168.46.109:54443" description="Node A"/>

<!-- ipv4 example

<monitorID address="192.168.46.110:54443" description="Node B"/>

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

A:

<monitors>

<monitorID address="192.168.46.109:54443" description="Node A"/>

<monitorID address="192.168.46.110:54443" description="Node B"/>

<!-- ipv4 example

<monitorID address="192.168.46.111:54443" description="Node C"/>

-->

</monitors>

 

Già da questo momento per i “Cluster spontanei” è possibile eseguire azioni comuni come ad esempio tenere allineate le configurazioni o eseguire reinit a caldo contemporaneamente…

Se ad esempio cerchiamo di eseguire un upload della configurazione del sistema di bilanciamento LBL Management Console ci chiederà di eseguirla anche nel/i nodo/i “gemello/i” in cluster.

In questo caso ci evidenzierà anche che il “Catalog” non è allineato come configurazione al “Cluster” spontaneo LBL LoadBalancer Standard HA (Match = false nella tabella dei nodi del cluster). E’ sempre consigliato tenere allineate anche le definizioni dei cluster spontanei con quanto in catalogo, in ambienti complessi avere un punto dove queste informazioni sono elencate aumenta l’ordine documentativo importantissimo per il funzionamento. In ogni caso per “Cluster spontanei”, cioè per natura del processo, l’allineamento viene comunque effettuato in tutti i nodi selezionati del cluster.

La prima colonna proposta permette di deselezionare l’aggiornamento del/i nodi del cluster. Questo può essere utile nel caso si voglia prima effettuare una prova in un nodo e quindi renderla definitiva con il prossimo upload.

LBL Catalog: dichiarazione di cluster

Come abbiamo visto dai paragrafi precedenti LBL Management Console riconosce i “Cluster spontanei” senza aver bisogno di altri parametri. Spesso però è necessario trattare come cluster anche processi che per loro natura non lo sono. Un esempio per tutti è il voler tenere allineate le configurazioni del CATALOG stesso con una istanza CATALOG di backup nel caso il CATALOG principale fosse indisponibile.

In questo caso parliamo quindi di “Cluster dichiarati” nel CATALOG per permettere l’aggiornamento contemporaneo. Nel paragrafo <clusters> spostare il paragrafo con descrizione “catalog” al di fuori dei commenti:

DA:

<clusters>

<!-- cluster examples

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443" processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443" processName="**CATALOG**"/>

</clusterGroup>

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443" processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443" processName="**MONITOR**"/>

</clusterGroup>

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443" processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443" processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443" processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

A:

<clusters>

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443" processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443" processName="**CATALOG**"/>

</clusterGroup>

<!-- cluster examples

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443" processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443" processName="**MONITOR**"/>

</clusterGroup>

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443" processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443" processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443" processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

 

Se lasciamo passare qualche istante, max 3 secondi di norma, e riproviamo ad eseguire l’upload ci verrà proposta la richiesta di aggiornare anche il nodo CATALOG dichiarato come cluster:

Normalmente nel processName deve essere dichiarato il nome del processo es.: A10_LBLGo oppure A03_LBLGoSurfaceClusterDE etc. Esistono due keyword riservate per poter dichiarare cluster sia il catalog “**CATALOG**” sia i monitor “**MONITOR**” per permettere azioni simultanee su più nodi anche di questi elementi.

Ripetiamo la stessa modifica anche per gestire contemporaneamente le modifiche sulla configurazione LBL Monitor.

DA:

<clusters>

<!-- cluster examples

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443" processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443" processName="**CATALOG**"/>

</clusterGroup>

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443" processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443" processName="**MONITOR**"/>

</clusterGroup>

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443" processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443" processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443" processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

A:

<clusters>

<clusterGroup description="Catalog">

<monitorID address="192.168.46.109:54443" processName="**CATALOG**"/>

<monitorID address="192.168.46.110:54443" processName="**CATALOG**"/>

</clusterGroup>

<clusterGroup description="Monitor">

<monitorID address="192.168.46.109:54443" processName="**MONITOR**"/>

<monitorID address="192.168.46.110:54443" processName="**MONITOR**"/>

</clusterGroup>

<!-- cluster examples

<clusterGroup description="LoadBalancer">

<monitorID address="192.168.46.109:54443" processName="A10_LBLGo"/>

<monitorID address="192.168.46.110:54443" processName="A10_LBLGo"/>

</clusterGroup>

<clusterGroup description="Commander Decision Engine">

<monitorID address="192.168.46.109:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.110:54443" processName="A03_LBLGoSurfaceClusterDE"/>

<monitorID address="192.168.46.111:54443" processName="A03_LBLGoSurfaceClusterDE"/>

</clusterGroup>

-->

</clusters>

 


Eseguiamo quindi l’upload della configurazione…

Da questo momento anche per le configurazioni LBL Monitor sarà proposto di allinearle durante gli aggiornamenti..

A questo proposito nella release 9 è stato introdotto l’utilizzo delle variabili che tipizzano il singolo nodo LBL SAAI ed il processo all’interno del nodo. Questa tecnologia permette di mantenere file di configurazione uguali su nodi differenti. Le variabili servono ad indicare nei file di configurazione dei valori simbolici che durante il caricamento vengono sostituiti con il valore tipico di LBL Monitor e/o del processo.. E’ possibile definire le variabili nella sezione procProperties.

LBL Catalog: utilizzo di procProperties

procProperties serve a definire dei valori simbolici che possono essere utilizzati all’interno dei file di configurazione. Questa tecnologia permette di descrivere nei parametri non il valore ma il suo simbolo che varia da una istanza ad una altra.

Prendiamo ad esempio il file di configurazione del processo LBL Monitor. Il valore più importante è sicuramente l’indirizzo in cui LBL Monitor esegue il suo listening (evidenziato in giallo) es.:

</copyright>

<monitor>

<params address="192.168.46.110" port="54443"

keyManagerFactory="SunX509"

managementPortRangeMin="5850"

managementPortRangeMax="5990"

sysCommandRemoteURL="https://localhost:5992/SysCommand"

statisticBrokerWebCacheURL="http://localhost:5993">

</params>

…

Questo valore è sicuramente diverso per ogni singolo LBL Monitor e quindi un eventuale aggiornamento del file di configurazione su un altro LBL Monitor causerebbe un problema sostanziale di funzionamento.

Nel procProperties tab (file) è quindi possibile definire dei nomi simbolici tipici dell’istanza LBL Monitor come ad esempio l’indirizzo di listening del monitor…

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

e, una volta eseguito l’upload, cambiare l’indirizzo nel file parametri del monitor sostituendolo con il nome simbolico. N.B. Si noterà che l’upload del file procProperties non ha richiesto l’aggiornamento degli altri nodi del cluster. Questo è importante perché i procProperties sono tipici del nodo LBL Monitor e/o del processo e NON devono essere propagati su altri nodi del cluster.

</copyright>

<monitor>

<params address="#LBL_GLOBAL_ADDRESS_MANAGEMENT#" port="54443"

keyManagerFactory="SunX509"

managementPortRangeMin="5850"

managementPortRangeMax="5990"

sysCommandRemoteURL="https://localhost:5992/SysCommand"

statisticBrokerWebCacheURL="http://localhost:5993">

</params>

…

I file template distribuiti con la rel 9 riportano già delle variabili preimpostate che servono a facilitare il lavoro di setup iniziale.

LBL Monitor, ad esempio, riporta le seguenti variabili preimpostate il cui utilizzo è già predisposto nelle configurazioni template:

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

<var name="LBL_GLOBAL_ADDRESS_BROKERWEBCACHE" value="localhost"/>

<var name="LBL_GLOBAL_URL_BROKERWEBCACHE" value="http://#LBL_GLOBAL_ADDRESS_BROKERWEBCACHE#:5993"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER" value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH" value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<!-- Please NOTE: G1 garbage collector only with jdk 1.7.0_xx. You can find xx in LBL's compatibility matrix -->

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER" value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH" value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_START_HEAP_LOADBALANCER" value="-Xms1g -Xmx1g"/>

</variables>

</copyright>

<monitor>

<params address="#LBL_GLOBAL_ADDRESS_MANAGEMENT#" port="54443"

keyManagerFactory="SunX509"

managementPortRangeMin="5850"

managementPortRangeMax="5990"

sysCommandRemoteURL="https://localhost:5992/SysCommand"

statisticBrokerWebCacheURL="#LBL_GLOBAL_URL_BROKERWEBCACHE#">

</params>

…

 

LBL Catalog: gerarchia, ereditarietà e scope di procProperties

I file procProperties definiscono dei nomi simbolici a cui viene attribuito un valore. Il nome simbolico può essere utilizzato all’interno dei file di configurazione e questo viene sostituito al momento del caricamento del file con i valori definiti dal nome simbolico.

I file procProperties sono di due tipi:

1) a livello di LBL Monitor

2) a livello di processo gestito da LBL Monitor

Da un punto di vista anche visivo li possiamo impostare attraverso LBL Management Console selezionando properties nei seguenti livelli dell’albero:

LBL Monitor scope

Process scope

Se si definisce una variabile a livello del nodo LBL Monitor questa sarà utilizzabile anche dai processi da lui gestiti. Le variabili definite a livello di processo saranno invece utilizzabili solo nel processo specifico. Non ci sono differenze a livello di nome simbolico, è comunque consigliato distinguere le variabili a livello LBL Monitor dalle variabili a livello di processo. Nei template forniti viene anteposto un LBL_GLOBAL_xxxxx alle variabili LBL®Monitor rispetto al solo LBL_xxxx utilizzato nelle variabili di processo.

E’ possibile sovrascrivere variabili già dichiarate semplicemente dichiarandole nuovamente. La sequenza di dichiarazione è il fattore che ne determina il valore finale.

Ad esempio se togliamo i commenti di definizione del G1 garbage collector le variabili assumerebbero l’ultimo valore dichiarato…

DA:

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

<var name="LBL_GLOBAL_ADDRESS_BROKERWEBCACHE" value="localhost"/>

<var name="LBL_GLOBAL_URL_BROKERWEBCACHE" value="http://#LBL_GLOBAL_ADDRESS_BROKERWEBCACHE#:5993"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER" value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH" value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<!-- Please NOTE: G1 garbage collector only with jdk 1.7.0_xx. You can find xx in LBL's compatibility matrix -->

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER" value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<!-- <var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH" value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_START_HEAP_LOADBALANCER" value="-Xms1g -Xmx1g"/>

</variables>

A:

<variables>

<var name="LBL_GLOBAL_ADDRESS_MANAGEMENT" value="192.168.46.110"/>

<var name="LBL_GLOBAL_ADDRESS_BROKERWEBCACHE" value="localhost"/>

<var name="LBL_GLOBAL_URL_BROKERWEBCACHE" value="http://#LBL_GLOBAL_ADDRESS_BROKERWEBCACHE#:5993"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER" value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH" value="-XX:+UseParallelGC -XX:+UseParallelOldGC"/>

<!-- Please NOTE: G1 garbage collector only with jdk 1.7.0_xx. You can find xx in LBL's compatibility matrix -->

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_LOADBALANCER" value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_GARBAGE_COLLECTOR_WEB_CACHE_DWH" value="-XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=45"/>

<var name="LBL_GLOBAL_START_HEAP_LOADBALANCER" value="-Xms1g -Xmx1g"/>

</variables>

In questo caso le variabili evidenziate assumeranno i valori G1 sovrascrivendo i valori ParallelGC…

I valori a livello LBL Monitor vengono ereditati dai singoli processi. E’ possibile quindi utilizzare o sovrascrivere a livello di processo i valori LBL Monitor. Eventuali sovrascritture dei valori LBL Monitor a livello di processo non modificano i valori per gli altri processi.

LBL Catalog: azioni distribuite

Una volta elencato nel catalogo nodi LBL SAAI e le associazioni dei processi cluster LBL Management Console reagisce ai comandi proponendo azioni distribuite nei nodi che compongono il cluster. Così se ad esempio si vuole eseguire un “reinit” a caldo di una configurazione LBL Management Console ci proporrà di eseguirla anche sui nodi componenti il cluster, questo indipendentemente se il cluster è spontaneo o dichiarato.

Dopo la selezione sarà richiesto se eseguire l’operazione anche negli altri nodi del cluster:

Alla conferma i servizi del cluster eseguiranno l’azione di reinit contemporaneamente. L’azione è visibile direttamente su LBL Management Console se si espandono i servizi del processo interessato. Si noterà sul servizio in cluster il simbolo del “reinit” attivarsi nella stessa maniera del nodo selezionato.

Per tutte le azioni previste LBL Management Console chiederà conferma all’operatore con la lista dei nodi interessati all’azione distribuita e darà la possibilità di selezionare su quali nodi effettuare l’azione.

Sei interessato alle nostre soluzioni?