General Parallel File System:
caratteristiche, prestazioni ed
esempi di utilizzo in
produzione
Alessandro Brunengo - Sezione INFN di Genova
Workshop CCR
Otranto - maggio 2006
Sommario



Caratteristiche del file system GPFS
Test di affidabilita’, prestazioni e scalabilita’
Esempio di infrastruttura in produzione
meccanismi di export del file system
 configurazione ad alta affidabilita’
 inter-cluster export

2
Caratteristiche

GPFS e’ un file system commerciale sviluppato da IBM
per AIX e portato su linux:




standard POSIX + quota + ACL
ridimensionamento dinamico dei volumi
prestazioni elevate: parallelizzazione degli accessi e
bilanciamento del carico
alta affidabilita’ per



conservazione dei dati tramite repliche di dati e metadati
accesso ai dati grazie a server secondari di volumi che possono
subentrare in failover
esportabilita’ dei volumi via NFS (V3/V4) e samba
3
Cluster

Nodo GPFS: singolo sistema operativo su cui gira il software
GPFS




Cluster GPFS: insieme di nodi che condividono le configurazioni
e l’accesso ai file system, che possono avere funzioni di



moduli del kernel
utility di management del file system
utility di management del cluster
manager/client
quorum/non quorum
Quorum type:


quorum nodes (quorum soddisfatto con la meta’ piu’ uno dei quorum node)
tie-breaker disks (quorum soddisfatto quando almeno un quorum node vede
la meta’ piu’ uno dei tiebreaker disk)
4
Cluster management

E’ definito un primary configuration server, ed un
secondary configuration server opzionale


in caso di inaccessibilita’ di configuration server saranno
precluse le modifiche di configurazione al cluster, e lo startup
di GPFS sui nodi
Tutti i nodi del cluster devono poter eseguire comandi
privilegiati su ciascun altro nodo, senza introdurre
password



e’ possibile utilizzare rsh o ssh
tecnologia che limita la sicurezza e complica il management
del cluster
si possono adottare work-around per limitare l’accesso
reciproco al solo file transfer dei file di configurazione
5
Network Shared Disk


Ogni partizione che dovra’ contenere dati viene configurata
come NSD (ha un nome ed un device file)
Le informazioni relative all’NSD vengono scritte anche sullo
stesso NSD


L’accesso al singolo NSD avviene:



il riconoscimento di un NSD non dipende dal device file name della
partizione fisica, ed e’ riconosciuto da tutti i nodi che hanno accesso
diretto al device
direttamente se il nodo vede il device fisico associato all’NDS
indirettamente tramite export GPFS di un NSD server
Ridondanza per l’accesso all’NSD

il singolo NSD puo’ essere esportato da un server secondario, che in caso
di necessita’ subentra al primario senza perdita di continuita’ di servizio
6
File System

Il file system GPFS e’ costituito da uno o piu’ NSD





POSIX: l’applicativo accede tramite standard file I/O, con
supporto di quota ed ACL (GPFS o compatibili con NFS V4)
a livello di file
rapido recovery: GPFS e’ un logging file system che registra
le operazioni sui metadati
parallelizzazione: le operazioni di I/O vengono realizzate in
striping sugli NSD disponibili, mettendo a disposizione la
banda aggregata e bilanciando il carico tra gli NSD server
dinamicita’: NSD possono essere aggiunti al - e rimossi dal file system on line
affidabilta’: possibilita’ di replicare dati e metadati su diverse
NSD senza punti critici in comune
7
Configuration Manager, File System
Manager e locking distribuito

Il configuration manager viene eletto tra i quorum node
attivi e si occupa di




Il file system manager ha le funzioni di:





controllare il quorum e la consistenza delle configurazioni
recovery dei dischi in seguito a node failure
definizione del file system manager (per ogni fs)
aggiunta/rimozione di dischi
recovery del file system
disk space allocation e quota
definire i token manager
Entrambe le funzionalita’ possono migrare senza
perdita di operativita’ in caso di failure di un manager
8
Locking distribuito

Consistenza di dati e metadati tramite locking
distribuito, mantenuto tramite meccanismi di token





l’accesso al file viene permesso tramite la concessione di un
token, il cui stato risiede sul nodo e sul token manager
un nodo chiede al token manager (attraverso il file system
manager) un token per accedere ad un file
il token manager concede il token o comunica al nodo la lista
dei nodi che hanno un token in conflitto
il nodo contatta i nodi che impediscono l’accesso per
chiedere il rilascio del token
Come per gli altri, anche le funzioni di token manager
possono migrare su altre macchine senza perdita di
funzionalita’
9
File System Export


GPFS nativo: l’accesso al file system per nodi non connessi alla
SAN avviene attraverso i singoli NSD server
Inter-cluster export




NFS export


i volumi di un cluster possono essere esportati a client di altri cluster
si richiede uno scambio di chiavi GPFS (non e’ richiesto l’accesso
privilegiato reciproco)
e’ possibile limitare l’accesso per file system (non per nodi del cluster
remoto) e rimappare l’UID 0
il file system puo’ essere esportato via NFS V3 o NFS V4 (richiede
l’utilizzo di ACL opportuni)
Samba export
10
Layout test di affidabilita’
11
Failure del controller
12
Failure dello switch FC
13
Failure del disk server
14
Upgrade on line



La ridondanza e’ stata sfruttata per operare un upgrade di
versione di GPFS e di kernel senza perdita di funzionalita’
L’infrastruttura costituita da 3 NSD server (e quorum node), con
tutte le NSD esportate via primario e secondario, circa 40 client
GPFS “accetta” la dissincronizzazione delle versioni nello stesso
cluster


il GPFS team di IBM suggerisce caldamente di non protrarre questa
situazione a lungo
La migrazione effettuata con un nodo per volta (con rimozione
dal cluster e successivo reinserimento) non ha portato a perdita
di funzionalita’: ciascun nodo ha mantenuto sempre la visibilita’
dei file system - con la sola eccezione del proprio reboot
15
Test di prestazioni


Sono stati effettuati numerosi test di prestazioni
nell’ambito del gruppo storage di CCR
Sono state confrontate le prestazioni
rispetto ad altri file system (Ext3, Lustre) (solo su
kernel 2.4)
 in configurazioni differenti (parallelizzazione e
distribuzione del carico)

16
Client I/O (write)
MB/s
140.00
NFS (ext3)
NFS (GPFS, 1 srv, 1 NSD)
GPFS (1 srv, 1 NSD)
120.00
121.60
120.00
GPFS (2 srv, 2 NSD)
103.00
100.00
89.40
89.00
88.00
80.00
60.00
40.00
54.80
39.00
42.00
42.80
38.00
32.70
20.00
0.00
1 client
2 clients
4 clients
server e clients: dual Xeon 3 GHz SLC3 GPFS 2.3.0-3
Client I/O (read)
MB/s
250.00
NFS (ext3)
200.00
210.00
209.00
NFS (GPFS, 1 srv, 1 NSD)
GPFS (1 srv, 1 NSD)
GPFS (2 srv, 2 NSD)
150.00
114.00
113.00
116.50
114.60
108.00
100.00
67.00
60.20
50.00
50.00
46.00
46.00
0.00
1 client
2 clients
server e clients: dual Xeon 3 GHz SLC3 GPFS 2.3.0-3
4 clients
Early Parallel File System Test-bed
IBM xseries 346
dual Xeon, 2 GB RAM
4 TB, 2 LUN
17x250 GB
Raid-5 array
IBM
FastT 900
4 TB, 2 LUN (DS 4500)
17x250 GB
Raid-5 array
IBM
FastT 900
4 TB, 2 LUN (DS 4500)
17x250 GB
Raid-5 array
4 TB, 2 LUN
17x250 GB
Raid-5 array
IBM
FastT 900
4 TB, 2 LUN (DS 4500)
17x250 GB
Raid-5 array
3 disk storage
24 TB, 12 LUN
client node
dual Xeon, 2 GB RAM
IBM xseries 346
dual Xeon, 2 GB RAM
Brocade
Fiber
Channel
Switch
IBM xseries 346
dual Xeon, 2 GB RAM
IBM xseries 346
dual Xeon, 2 GB RAM
IBM xseries 346
dual Xeon, 2 GB RAM
IBM xseries 346
dual Xeon, 2 GB RAM
client node
dual Xeon, 2 GB RAM
client node
dual Xeon, 2 GB RAM
Gigabit
Ethernet
Switch
client node
dual Xeon, 2 GB RAM
client node
dual Xeon, 2 GB RAM
client node
dual Xeon, 2 GB RAM
500 client nodes
4 TB, 2 LUN
17x250 GB
Raid-5 array
client node
dual Xeon, 2 GB RAM
client node
dual Xeon, 2 GB RAM
client node
dual Xeon, 2 GB RAM
6 file system server
thanks to V.Vagnoni
19
4
3,5
GPFS 1 MB x 1000 write
3
GPFS 1 MB x 1000 read
2,5
GPFS 10 MB x 100 write
GPFS 10 MB x 100 read
2
GPFS 100 MB x 10 write
1,5
GPFS 100 MB x10 read
1
GPFS 1GB x 1 write
0,5
GPFS 1 GB x 1 read
80
10
0
12
0
60
40
20
9
7
5
3
0
1
Effective average throughput (Gb/s)
Native GPFS with different file sizes
# of simultaneous read/writes
thanks to V.Vagnoni
20
PHASE 2: Realistic analysis
(II)



8.1 TB of data processed in 7 hours, all 14000 jobs completed
successfully. 500 jobs running simultaneously.
> 3 Gbit/s raw sustained read throughput from the file servers with GPFS
(about 320MByte/s effective I/O throughput).
Write throughput of output data negligible (1 MB/job).
thanks to V.Vagnoni
21
Problemi

Problemi funzionali



GPFS evidenzia un problema di memory map e problemi
legati ad NFS sui kernel 2.4: devono essere installate patch
opportune. I kernel 2.6 sono a posto.
GPFS release > 2.3.0-3 su kernel 2.4 manifesta un problema
nell’export via NFS: l’NFS server non puo’ essere up-to-date,
o deve avere il kernel 2.6.
Prestazioni non brillanti per NSD server con kernel 2.6; altri
problemi di funzionalita’ evidenziati in occasione del recovery
dopo un disk failure.

poca esperienza: analisi da approfondire
22
Problemi-2

Problemi di sicurezza

GPFS richiede la condivisione di accesso privilegiato senza
password tra i nodi di un cluster; sono stati utilizzati due
work-around:



utilizzo di un wrapper sopra ssh per limitare l’accesso dei nodi del
cluster ai soli file di configurazione di GPFS
raggruppamento delle macchine di esperimento in un cluster
separato, ed utilizzo dell’inter-cluster export di GPFS
Problemi di management

La condivisione delle chiavi ssh richiede un meccanismo di
distribuzione delle chiavi ssh attraverso una gestione
centralizzata dei file authorized_keys e known_hosts

** attenzione alle reinstallazioni **
23
Note sulla installazione

Distribuito tramite pacchetti rpm, ma:



richiede l’installazione di release <= 2.3.0-3 prima di fare
upgrade alla release corrente
richiede la compilazione dei moduli GPL dopo editing di un
file di configurazione
Automazioni sviluppate in casa:


“quattorizzazione”: realizzato un rpm per i moduli GPL
precompilati, ed un rpm per aggirare la necessita’ di fare
upgrade
realizzazione di un source rpm per la generazione rapida del
pacchetto rpm dei moduli GPL
24
GPFS @ INFN
Tape Library

INFN-CT






GPFS in produzione sui volumi di
esperimento e volumi GRID
disco FC con 20 TB, due NSD server
3 box con controller 3ware da 1.2 TB/cad
120 GPFS client (WN)
GPFS release 2.3.0-10 su kernel 2.4
Infortrend FC-FC
Infortrend FC-SATA
SAN Switch
Storage Servers
GPFS/NFS/Castor
INFN-TS





GPFS sui volumi della farm centrale e
GRID
disco FC con 22 TB, tre NSD server
connessi alla SAN
30 GPFS client
GPFS release 2.3.0-10 su kernel 2.4
Export dei volumi via NFS
Mail Cluster
AFS Server
Switch Ethernet
Switch Ethernet
Switch Ethernet
FARM
25
GPFS@INFN - 2

INFN-GE






Volumi di farm, esperimento, servizi centrali (home dir, web),
GRID, backup
Disco FC 20 TB + 2 box controller 3ware (6 TB)
Tre cluster (centrale, di esperimento, backup), 5 +2 NSD
server
40 GPFS client sul cluster centrale
Export dei volumi via inter-cluster GPFS, NFS e samba
GPFS release 2.3.0-11 su kernel 2.4 e kernel 2.6 (32 e 64 bit)
sul cluster centrale
26
GPFS @ INFN Genova - schema
27
Accessibilita’ e risorse

GPFS e’ un prodotto commerciale di IBM




last release: 3.1 (aprile 2006)
distribuito per AIX e linux RH/SUSE
Fornito gratuitamente (assieme ad altro: DB2, Tivoli, Rational, CSM,
…) attraverso il programma “IBM University”
(http://www.ibm.com/university)
Distribuzione via rete
http://techsupport.services.ibm.com/server/gpfs/download/home.html
a partire dalla release 2.3.0-7, installabili solo come upgrade


per l’installazione e’ necessario iscriversi al programma University e
richiedere ad IBM i CD della release base 2.3.0-1
Risorse



IBM fornisce contratti di supporto sotto condizioni stringenti: in corso il
tentativo di definire un contratto di manutenzione per (le) installazioni
INFN
Disponibili ampia documentazione e FAQ in rete
Esiste una mailing list abbastanza attiva del San Diego Super Computing
(https://lists.sdsc.edu/mailman/listinfo.cgi/gpfs-general)
28
Conclusioni

GPFS si presenta come una soluzione interessante





Buone prestazioni, che migliorano grazie alla parallelizzazione
che puo’ fornire con semplicita’ anche il bilanciamento di
carico
Ottime caratteristiche di affidabilita’, che si sfruttano al
meglio in una infrastruttura SAN
POSIX I/O: puo’ essere utilizzato dalle applicazioni senza
adattamenti
scalabile: supportato da IBM fino a 1024 nodi, ma esistono
gia’ in produzione installazioni di oltre 2000 nodi
Funzionalita’ come la duplicazione di dati e metadati,
supporto per ACL e quota ne fanno una soluzione
interessante anche per file system general purpose (home dir)
29
Scarica

General Parallel File System: caratteristiche, test di prestazioni