Inserisci Infobox

RedHat Cluster Suite

Clustering e Load Balancing con RHCS.

Introduzione a Red Hat Cluster suite
Autore: al - Ultimo Aggiornamento: 2008-08-23 18:21:04 - Data di creazione: 2008-08-23 18:19:47
Tipo Infobox: DESCRIPTION - Skill: 1- NOVICE

Red Hat Cluster Suite (RHCS) ?a soluzione che RedHat propone per cluster a 2 o pi?di di livello enterprise.

La Suite, introdotta con RHEL 2 e poi evoluta con le successive versioni, fornisce diversi componenti:
- Cluster Infrastructure (cman, ccsd, fenced) con cui viene formato il cluster, si gestisce la comunicazione fra i nodi e la determinazione di un quorum sufficente a formare il cluster , la sincronizzazione della configurazione (file /etc/cluster/cluster.conf), il fencing dei nodi erranti e il locking per l'accesso alle risorse condivise (tipicamente i file system).
- High-availability Service Management (rgmanager) con cui qualsiasi applicazione pu?sere utilizzata in cluster con un cold failover
- Tool di configurazione e gestione: system-config-cluster  (GUI) e  conga (applicazione web) pi?ri comandi shell (cman_tool, ccs_tool, fence_tool, clusvcadm)

Ai suddetti componenti di base si aggiungono:
- GFS (Global File System), file system distribuito, adatto a cluster i cui nodi devono accedere contemporaneamente ai dati
- CLVM (Clustered Logical Volume Manages), adattamento di LVM per uso su dischi condivisi fra i nodi di un cluster.
- GNBD (Global Network Block Device) soluzione di replica via rete di device a blocchi, analoga a DRBD.

All'interno della Cluster Suite RedHat fornisce anche una soluzione di Load Balancing in alta affidabilit?composta da Heartbeat, Linux Virtual Server (LVS) e Piranha.

Red Hat Cluster Suite: comandi shell
Autore: lab42 - Ultimo Aggiornamento: 2008-08-19 14:55:30 - Data di creazione: 2008-08-12 15:01:58
Tipo Infobox: DESCRIPTION - Skill: 4- ADVANCED

Un elenco di riferimento dei comandi utili per la gestione di un cluster Red Hat

Stato del cluster  
clustat - Visualizza stato risorse e nodi del cluster  
clustat -i 1 - Visualizza in modo continuativo, con un refresh di 1 secondo, lo stato del cluster  
cman_tool status - Visualizza lo stato di cman  
ccs_tool lsnode  - Info sui nodi del cluster
cman_tool nodes  - Info sui nodi del cluster

Gestione dei servizi cluster  
clusvcadm -e servizio -m nodo  
clusvcadm -e web -m node01 (attiva il servizio cluster web sul nodo 01)  
clusvcadm -e web (attiva il servizio cluster web sul nodo locale)  
clusvcadm -d web (disabilita il servizio cluster web - a volte in caso di servizio in stato failed, ?ecessario digitare questo comando pi?lte per mettere il servizio in stato disabled per poi poterlo riattivare)
clusvcadm -r web -m node01 (riloca il servizio cluster web sul nodo 02)  
clusvcadm -l  (fa un lock del resource manager, bloccando ogni attivit?ui servizi. Utile pruima di uno shutdown di tutti i nodi del cluster)

Gestione quorum  
cman_tool expected -e 3 (imposta a 3 voti il quorum - utile per straordinaria amministrazione quando si vuole abbassare il quorum)  
cman_tool votes -v 2 (imposta a 2 il numero di voti per l'host corrente)  

Entrare e uscire dal cluster
  
cman_tool join - esegue il join del nodo locale al cluster  
cman_tool leave -  Il nodo locale lascia il cluster  

Update configurazione  
Utilizzare system-config-cluster o conga, altrimenti, se si fa a mano, aumentare il numero di versione della configurazione e poi:  
ccs_tool update /etc/cluster/cluster.conf  
cman_tool version -r 5 (aggiorna il cluster alla versione 5 della configurazione, necessario solo su RHCS 4)

Comandi shell per la gestione di GFS
Autore: lab42 - Ultimo Aggiornamento: 2008-08-29 16:31:20 - Data di creazione: 2008-08-29 15:09:02
Tipo Infobox: DESCRIPTION - Skill:

Una breve rassegna dei comandi principali legati all'utilizzo di GFS (Global File System)

Formattazione e uso di GFS    
In fase di formattazione di un file system GFS si devono indicare diverse informazioni:    
- il nome della lock table (opzione -t ) che deve contenere il nome del cluster che utilizza il file system (qui clus424) e il nome del file system (qui data02, e' arbitrario e server per distinguere diversi file system nello stesso cluster);    
- il tipo di lock (opzione -p, nel dubbio usare lock_dlm, in alternativa se si usa GFS su un solo nodo si pud' indicare -p lock_nolock . L'opzione -p lock_gulm e' ormai in disuso);    
- il numero di giornali previsti (opzione -j, ricordarsi che bisogna prevedere almeno un giornale per ogni nodo che dovra' ccedere al file system, per cui con un cluster a 4 nodi, si deve specificare almeno -j 4)    
- le loro dimensioni (-J, valore minimo 32 Mb, default 128 Mb)    
- la partizione o il logical volume da formattare (qui /dev/mapper/shared01-data02 )    
gfs_mkfs -p lock_dlm -t clus424:data02 -J 32 -j 2 /dev/mapper/shared01-data02    
    
Una volta formattato il file system puo' essere montato normalmente:    
mount -t gfs /dev/shared01/data02 /mnt    


Raccolta informazioni    
Per visualizzare informazioni dettagliate su un file::    
gfs_tool stat /mnt/testo.txt    

Per un elenco dei file system GFS correntemente montati:    
gfs_tool list    

Per visualizzare statistiche su un file system (negli esempi che seguono e' montato su /mnt ). Usare l'opzione -c per un output continuo:    
gfs_tool counters /mnt    
    
Per info sullo spazio usato da un file system montato:    
gfs_tool df /mnt    

Per visualizzare il superblock di un file system montato:    
gfs_tool getsb /mnt    

Per visualizzare i parametri di tuning correnti di un file system montato:    
gfs_tool gettune /mnt    


Aumentare e diminuire giornali e dimensioni file system    
Si si aggiungono nodi ad un cluster che gestisce un GFS, puo' essere necessario aggiungere il numero dei giornali presenti sul file system (si ricorda che serve almeno un giornale per nodo). Se non e' piu' disponibile spazio e' necessario prima allargare il file system e poi aggiungere i giornali che servono.  

Visualizzare info sui giornali :    
gfs_tool jindex /mnt    

Aggiungere 2 giornali, per prova (-T) :    
gfs_jadd -j 2 -T -J 32 /mnt    

Aggiungere 2 giornali:    
gfs_jadd -j 2 -J 32 /mnt    

Allargare un file system GFS ( va fatto dopo un comando tipo lvresize/lvextend e dopo l'eventuale aggiunta di nuovi giornali, se necessari) (aggiungere l'opzione -T per fare solo una prova preliminare) :    
gfs_grow -T -v /mnt    


Gestione dello spazio disco (Quota)  
GFS supporta le quota, secondo un meccanismo proprio, che prevede comandi specifici.    
Per impostare un limite a livello di utenti:
gfs_quota limit -u User -l Size -f MountPoint    
Per imposta un limite a livello di gruppi:
gfs_quota limit -g Group -l Size -f MountPoint    

Esempio (il size, impostato con -l,  e' in Mb, al posto del nome del gruppo e' stato usato il suo GID):  
gfs_quota limit -u pippo -l 100 -f /mnt    
gfs_quota limit -g 100 -l 50 -f /mnt  

Per visuallizare tutti i limiti impostati:    
gfs_quota list -f /mnt  

Per visualizzare i limiti di un utente:  
gfs_quota get -u pippo -f /mnt  

Per visualizzare il limite di un gruppo:  
gfs_quota get -g users -f /mnt  

Le informazioni sulle quote vengono memorizzate in un file sul GFS e non viene aggiornato continuamente ma per default ogni 60 secondi. Tale intervallo puo' essere variato (per per prova si imposta a 90 secondi) con :  
gfs_tool settune /mnt quota_quantum 90    

Per evitare possibili  problemi puo' essere utile sincronizzare le quote su di ogni nodo tramite il comando:  
gfs_quota sync -f /mnt    

Per impostare il warn quota:  
gfs_quota warn -u User -l Size -f MountPoint    
gfs_quota warn -g Group -l Size -f MountPoint  
  

Esempi (sempre in Mb):  
gfs_quota warn -u utente1 -l 90 -f /mnt    
gfs_quota warn -g 100 -l 40 -f /mnt
  

Di default GFS tiene traccia degli utenti e gruppi per i quali non sono stati impostati i valori di quota. Questo potrebbe rallentare le funzioni del cluster, per disabilitare tale controllo si puo' modificare il parametro quota_account:  
gfs_tool settune /mnt quota_account 0    
Questo comando deve essere ripeturo ad ogni mount del file system e su ogni nodo.

Privacy Policy