Article de reference

Système de fichiers en cluster

Un système de fichiers clusterisé ( CFS ) est un système de fichiers partagé, monté simultanément sur plusieurs serveurs . Il existe plusieurs approches de clustering , la plupa...

Un système de fichiers clusterisé ( CFS ) est un système de fichiers partagé, monté simultanément sur plusieurs serveurs . Il existe plusieurs approches de clustering , la plupart n'utilisant pas de système de fichiers clusterisé (chaque nœud disposant d'un stockage directement connecté ). Les systèmes de fichiers clusterisés peuvent offrir des fonctionnalités telles que l'adressage indépendant de l'emplacement et la redondance, améliorant ainsi la fiabilité ou réduisant la complexité des autres composants du cluster. Les systèmes de fichiers parallèles sont un type de système de fichiers clusterisé qui répartit les données sur plusieurs nœuds de stockage, généralement pour des raisons de redondance ou de performance.

Système de fichiers à disque partagé

Un système de fichiers à disque partagé utilise un réseau de stockage (SAN) pour permettre à plusieurs ordinateurs d'accéder directement au disque au niveau bloc . Le contrôle d'accès et la conversion des opérations au niveau fichier utilisées par les applications vers les opérations au niveau bloc utilisées par le SAN doivent être effectués sur le nœud client. Le système de fichiers à disque partagé, type de système de fichiers clusterisé le plus courant, offre, grâce à l'ajout de mécanismes de contrôle de concurrence , une vue cohérente et sérialisable du système de fichiers, évitant ainsi la corruption et les pertes de données accidentelles , même lorsque plusieurs clients tentent d'accéder simultanément aux mêmes fichiers. Les systèmes de fichiers à disque partagé emploient généralement un mécanisme de protection pour prévenir la corruption des données en cas de défaillance d'un nœud. En effet, un périphérique non protégé peut entraîner une corruption des données s'il perd la communication avec ses nœuds frères et tente d'accéder aux mêmes informations que ces derniers.

Le réseau de stockage sous-jacent peut utiliser l'un des nombreux protocoles au niveau bloc, notamment SCSI , iSCSI , HyperSCSI , ATA over Ethernet (AoE), Fibre Channel , périphérique de bloc réseau et InfiniBand .

Il existe différentes approches architecturales pour un système de fichiers à disque partagé. Certaines répartissent les informations des fichiers sur tous les serveurs d'un cluster (système entièrement distribué).

Exemples

Systèmes de fichiers distribués

Les systèmes de fichiers distribués n'offrent pas un accès bloc à un même espace de stockage, mais utilisent un protocole réseau . On les appelle communément systèmes de fichiers réseau, même s'ils ne sont pas les seuls à utiliser le réseau pour l'échange de données. Les systèmes de fichiers distribués peuvent restreindre l'accès au système de fichiers en fonction des listes de contrôle d'accès ou des capacités des serveurs et des clients, selon la conception du protocole.

La différence entre un système de fichiers distribué et un système de stockage de données distribué réside dans le fait qu'un système de fichiers distribué permet d'accéder aux fichiers via les mêmes interfaces et la même sémantique que les fichiers locaux : montage/démontage, affichage des répertoires, lecture/écriture aux limites des octets, modèle de permissions natif du système. Les systèmes de stockage de données distribués, en revanche, nécessitent l'utilisation d'une API ou d'une bibliothèque différente et possèdent une sémantique différente (le plus souvent celle d'une base de données).

Objectifs de conception

Les systèmes de fichiers distribués visent la « transparence » à plusieurs égards. Autrement dit, ils sont conçus pour être « invisibles » aux programmes clients, qui perçoivent un système similaire à un système de fichiers local. En coulisses, le système de fichiers distribué gère la localisation des fichiers, le transport des données et peut également fournir d'autres fonctionnalités, décrites ci-dessous.

  • Transparence d'accès : les clients ignorent que les fichiers sont distribués et peuvent y accéder de la même manière qu'aux fichiers locaux.
  • Transparence de l'emplacement : un espace de noms cohérent existe pour les fichiers locaux et distants. Le nom d'un fichier n'indique pas son emplacement.
  • Transparence de la concurrence : tous les clients ont la même vue de l’état du système de fichiers. Cela signifie que si un processus modifie un fichier, tous les autres processus, sur le même système ou sur des systèmes distants accédant aux fichiers, verront les modifications de manière cohérente.
  • Transparence en cas de panne : le client et les programmes clients doivent fonctionner correctement après une panne du serveur.
  • Hétérogénéité : le service de fichiers doit être fourni sur différentes plateformes matérielles et systèmes d'exploitation.
  • Évolutivité : le système de fichiers doit bien fonctionner dans les petits environnements (1 machine, une douzaine de machines) et s'adapter également facilement aux plus grands (des centaines, voire des dizaines de milliers de systèmes).
  • Transparence de la réplication : les clients ne devraient pas avoir à être conscients de la réplication des fichiers effectuée sur plusieurs serveurs pour assurer l’évolutivité.
  • Transparence des migrations : les fichiers doivent pouvoir être déplacés entre différents serveurs sans que le client en soit informé.

Histoire

Le système de partage de temps incompatible (ITS) utilisait des périphériques virtuels pour un accès transparent aux systèmes de fichiers entre machines dans les années 1960. Davantage de serveurs de fichiers ont été développés dans les années 1970. En 1976, Digital Equipment Corporation a créé le File Access Listener (FAL), une implémentation du DECnet Phase II, qui est devenu le premier système de fichiers réseau largement utilisé. En 1984, Sun Microsystems a créé le système de fichiers appelé « Network File System » (NFS), qui est devenu le premier système de fichiers réseau basé sur le protocole Internet (IP ) largement utilisé . Parmi les autres systèmes de fichiers réseau notables , on peut citer Andrew File System (AFS), Apple Filing Protocol (AFP), NetWare Core Protocol (NCP) et Server Message Block (SMB), également connu sous le nom de Common Internet File System (CIFS).

En 1986, IBM annonça la prise en charge, côté client et serveur, de l'architecture de gestion de données distribuées (DDM) pour les systèmes System/36 et System/38 , ainsi que pour les ordinateurs centraux IBM exécutant CICS . Cette annonce fut suivie de la prise en charge pour les ordinateurs personnels IBM ( AS/400) , les ordinateurs centraux IBM sous les systèmes d'exploitation MVS et VSE , et FlexOS . La DDM devint également la base de l'architecture de bases de données relationnelles distribuées (DRDA).

Il existe de nombreux protocoles réseau peer-to-peer pour les systèmes de fichiers distribués open source pour le cloud ou les systèmes de fichiers clusterisés à source fermée, par exemple : 9P , AFS , Coda , CIFS/SMB , DCE/DFS , WekaFS, Lustre , PanFS, Google File System , Chord Project .

Exemples

Stockage en réseau

Pour en savoir plus

Systèmes de fichiers