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 simple ls ou encore lfs 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 lustre lfs ls, lfs cp, lfs find
    . Exemple pour effacer les fichiers contenus dans le répertoire rep/ :
    [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.