RFIO: présentation



RFIO (Remote File Input/Output) est un logiciel qui permet de faire des entrées/sorties sur des fichiers non locaux. RFIO est utilisé notamment pour l'accès à HPSS et aux fichiers Xtage. Il est souvent associé aux serveurs NFS pour avoir un mode copie performant. RFIO a été développé au CERN. C'est un logiciel client/serveur. La partie serveur (rfiod) tourne sur le serveur de fichiers distants. La partie client comprend des utilitaires et une API C. Il existe en outre une interface C++ rfstream et un logiciel de transfert pour sites distants: bbftp.

RFIO est une interface commune à différents sytèmes de stockage de masse. Actuellement, il supporte les fichiers normaux distants, HPSS et CASTOR. RFIO est interfacé avec des logiciels comme OBJECTIVITY, XROOTD.

La version actuelle, RFIO64, supporte les fichiers de plus de 2 GB. Pour une information plus complète sur RFIO64, voir: RFIO64 Utilisation. RFIO est issu de la version CERN de CASTOR 1.3.5.0 avec un niveau IN2P3 3_0_0. Vous pouvez suivre les évolutions de RFIO IN2P3, le numéro de version actuel dans: RFIO Modifications .

RFIO comprend des commandes qui peuvent être utilisées en interactif ou dans des langages de commandes (shell, PERL, …).

  • rfcat : copie de fichiers sur standard output ou depuis standard intput.
  • rfchmod : modifie les droits d'accès d'un fichier.
  • rfcp : copie d'un fichier dans un autre.
  • rfdir : liste d'un repertoire.
  • rfmkdir : creation d'un repertoire.
  • rfrename : renomme un fichier.
  • rfrm : destruction d'un fichier ou d'un repertoire.
  • rfstat : état d'un fichier.

Pour plus de détails, voir: RFIO commands man pages .

L'API C permet d'utiliser des API similaires aux API C classiques pour accéder aux fichiers distants en réduisant les efforts de portage. Ainsi à la fonction C int open(const char *, int, …) va correspondre une fonction RFIO int rfio_open(const char *, int, …) . De plus certaines fonctions C sont redéfinies en fonctions rfio. Ainsi la fonction open() est redéfinie comme rfio_open() . Ceci permet un portage plus aisé des applications. L'interface C comprend en plus des fonctions spécifiques HPSS et des fonctions propres à RFIO.

Voir: RFIO API C .

Le Centre de Calcul a developpé une interface RFIO pour C++: rfstream. rfstream permet d'accéder aux fichiers distants par les mécanismes standards d'accès aux fichiers C++ (RFIO devient transparent).

Voir: rfstream

RFIO comprend quelques fonctions calquées sur les fonctions d'entrées/sorties Fortran. Cependant ces fonctions ne supportent pas les évolutions de RFIO, en particuliers l'accès à HPSS.

Voir: RFIO API C .

L'accès aux fichiers distants hors centre ne peut pas se faire directement par RFIO à cause des problèmes de sécurité, d'authenfication et de performances. Il a été développé au Centre de Calcul de l'IN2P3 un outil adapté: bbftp.

Voir: BBFTP Home page

RFIO est en production sur les plateformes suivantes:

  • Linux RH 7.2 et RH 7.3
  • RHEL 3 and SL 3 on AMD64 and I386
  • SunOS 8 et 9
  • True64 5.1 (DEC OSF1)
  • AIX 5.1

Le CERN a fait le portage sur d'autres plateformes (IRIX, Windows). HP_UX 10 est également supporté.

Au Centre de Calul, tous les serveurs RFIO sont en RFIO64: HPSS, XTAGE et NFS.

Voici la liste de la documentation RFIO et produits associés:

  • rfio_presentation.txt
  • Dernière modification: 2017/11/21 12:07
  • par Pierre-Emmanuel BRINETTE