Système de fichier LUSTRE¶
Le système de fichier utilisé sur Thor est LUSTRE. Il s'agit d'un système de fichier distribué, conçu pour pouvoir être utilisé sur des milliers de noeuds, traiter de très grandes quantités de données sans perte de vitesse.
Il comprends un ou plusieurs serveur de métadonnées (MDS
) contenant un ou plusieurs MDT
(metadata targets), plusieurs serveurs de données (OSS
) contenant plusieurs OST
(object storage targets) et des clients. Le groupe MDS/OSS
peut évidemment être répété plusieurs fois par grappe de noeuds. La capacité du système est la somme des capacité offertes par les OST
.
Lustre se base sur son protocole réseau LNET pour ses échanges et LNET supporte plusieurs protocoles dont InfiniBand utilisé sur Thor.
Thor offre une capacité de 56 To pour le répertoire /scratch
et de 21 To pour le répertoire /home
.
L'architecture du FS sur Thor est basé sur un 1 MDT
et 4 OST
pour la partition /scratch
, et 1 MDT
et 2 OST
pour la partition /home
.
Recommandation d'usage¶
- éviter d'effectuer
ls -l
sur un répertoire possédant de très nombreux fichiers, plutot utiliser un simplels
ou encorelfs ls
- éviter d'utiliser les méta caractères (wildcards), pour la manipulation de fichier (
ls *.f90, rm -fr ./rep/*
). Ces commandes si elles sont effectuées sur un très grand nombre de fichiers seront inefficaces et vont charger le file system pour l'ensemble des utilisateurs.
-> utiliser plutôt les commandes lustrelfs ls, lfs cp, lfs find
. Exemple pour effacer les fichiers contenus dans le répertoirerep/
:[homer@thor]$ lfs find rep/ -t f -print0 | xargs -0 rm
- éviter d'avoir trop de fichiers dans un simple répertoire
- la lecture/écriture sur les petits fichiers est moins efficace (< 1Mo) ; il est préférable d'écrire un seul gros fichier
- On peut créer des alias pour utiliser les commandes
lfs
:alias ls='lfs ls' alias cp='lfs cp'
- Exemple pour créer une archive :
[homer@thor]$ lfs find . -name "*vtu" -print0 | xargs -0 tar -cjf archive.tar.bz
espace disque et quota¶
L'espace disque est donné par la commande lfs df
:
[homer@thor scratch]$ lfs df -h /scratch/ UUID bytes Used Available Use% Mounted on scratch-MDT0000_UUID 441.5G 45.6G 366.5G 11% /scratch[MDT:0] scratch-OST0000_UUID 14.5T 6.6T 7.2T 48% /scratch[OST:0] scratch-OST0001_UUID 14.5T 6.7T 7.1T 49% /scratch[OST:1] scratch-OST0002_UUID 14.5T 6.8T 7.0T 49% /scratch[OST:2] scratch-OST0003_UUID 14.5T 6.7T 7.1T 49% /scratch[OST:3] filesystem summary: 58.2T 26.9T 28.4T 49% /scratch [homer@thor scratch]$ lfs df -h /home/ UUID bytes Used Available Use% Mounted on home-MDT0000_UUID 383.9G 14.1G 344.3G 4% /home[MDT:0] home-OST0000_UUID 10.9T 653.5G 9.7T 6% /home[OST:0] home-OST0001_UUID 10.9T 699.5G 9.7T 7% /home[OST:1] filesystem summary: 21.8T 1.3T 19.4T 6% /home
- La partition
/home
dispose de 500Go de quota en soft et 2To en hard ; la partition/scratch
ne possède pas de quota ; - Connaitre l'espace utilisé sur le systême de fichier LUSTRE et le quota associé au compte :
lfs quota /home ; lfs quota /scratch ; lfs help quota
[homer@thor]$ lfs quota -h /scratch Disk quotas for user homer (uid WWWW): Filesystem used quota limit grace files quota limit grace /scratch 138.3G 0k 0k - 6788 0 0 - Disk quotas for group springfield (gid ZZZZ): Filesystem used quota limit grace files quota limit grace /scratch 7.301T 0k 0k - 446904 0 0 - [homer@thor]$ lfs quota -h /home Disk quotas for user homer (uid WWWW): Filesystem used quota limit grace files quota limit grace /home 12.11G 500G 2T - 288527 0 0 - Disk quotas for group springfield (gid ZZZZ): Filesystem used quota limit grace files quota limit grace /home 2.294T 0k 0k - 1059718 0 0 -
paramétrage de répertoire¶
Pour optimiser les accès sur le File System, on peut modifier le découpage (stripe
) du système pour l'écriture des données. Pour un répertoire, on peut connaitre le stripe
:
[homer@thor scratch]$ lfs getstripe -d ./ stripe_count: 2 stripe_size: 1048576 stripe_offset: -1
Sur Thor, le nombre de stripe
est 2 sur le /scratch
et 1 sur le /home
. La taille de découpe est de 1Mb (1048576 kb)
pour chaque.