Systèmes de fichiers distribués étude de cas : NFS Network File

Transcription

Systèmes de fichiers distribués étude de cas : NFS Network File
Systèmes de fichiers distribués
étude de cas : NFS
Network File System
Benmoussa Yahia
Université M’hamed Bougara de Boumerdès
[email protected]
Systèmes de fichiers distribués
„
Base des applications distribués
2
Objectifs des systèmes de fichiers distribués
– Transparence d’accès : L’utilisateur ne se soucie pas du
format de représentation des données et comment il
accède au fichiers
– Transparence de localisation : L'utilisateur ne connaît pas
où sont localisés les fichiers
– Transparence de migration: Les fichiers peuvent être
déplacées sans modification de leur nom.
– Transparence de réplication : L'utilisateur ne connaît pas
le nombre de copies existantes.
– Transparence de concurrence : Plusieurs utilisateurs
peuvent partager en même temps le même fichiers
– Transparence aux pannes :
3
Modèle d’accès aux fichiers distribués
„
Upload/Download
– Ex : ftp
– Inconvénients :
• Nécessité de transférer le fichier en entier
• Non approprié dans le cas des accès concurrents
„
Accès Distant
4
Sémantique de partage des fichiers
distribués
„
Sémantique Unix (Plusieurs processus partage un
fichier local)
– Toute écriture dans le fichier est immédiatement
écrite.
– Toute opération sur le fichier est visible à tous
les processus
5
Sémantique de partage des fichiers
distribués
6
Sémantique de partage des fichiers
distribués
„
Sémantique de session (plusieurs processus
distribués partage un fichier distant)
– Pour augmenter les performance, utilisation de
caches
– Le changement ne sont visibles au autre
processus qu’après fermeture du fichiers
7
Sémantique de partage des fichiers
distribués
8
Sémantique de partage des fichiers
distribués
„
Solutions :
– Fichiers en lecture seule
– Transactions atomiques
9
Systèmes de fichiers
statless vs statfull
„
Statlfull: avec état
– Le serveur garde en mémoire des information
sur le client. Ces information sont utilisées lors
de la prochaine requête
„
Statless: sans état
– Le serveur ne garde pas en mémoire des
information sur le client et la requête
10
Systèmes de fichiers
statless vs statfull
statless
statfull
Pas d’opération open/close
Message plus court
Ne nécessite pas d’espace coté
serveur pour la sauvegarde de
l’état du fichier
Meilleure performance
(Anticiper la lecture des
données)
Pas de limite du nombre de
fichiers ouverts
Accès séquentiel plus trivial
Pas de problème lorsque le
client ou le serveur tombe en
panne
Possibilité de verrouillage du
fichier
11
NFS
„
Network File System : Sun Micro Systems (1985)
– Chaque ordinateur peut être client ou serveur
– Supporte des systèmes hétérogène
– System de fichier statless
– Haute performance par utilisation de cache
12
NFS
„
„
„
„
„
Transparence
Transparence
Transparence
Transparence
Transparence
d’accès
OK
de localisation
OK
de migration NOK
de réplication
NOK
aux pannes OK
13
Protocoles NFS
„
RPC/XDR
14
NFS
FS local
API
API
VFS
VFS
Client NFS
Serveur NFS
Proxy
Client RPC
Proxy
Serveur RPC
FS local
Réseau
15
Protocoles NFS
„
mount
– static
• Sur le serveur : éditer /etc/exports
• Sur client : mount serveur:/remotedir /localdir
– automount
• Montage de répertoire distant à la demande
• Associer plusieurs serveurs à un répertoire local
16
Protocoles NFS
17
Protocoles NFS
„
automount : example
– automount /home/its6 srcmap
– srcmap contient
doc
-ro
serveur1:/usr/share/doc
prog
-ro
serveur2:/tmp/prog
-ro
serveur3:/var/prog
18
Protocoles NFS
„
Protocoles Manipulation de fichier et répertoires
– null : pas d’opération. Pour vérifier la connectivité
– lookup : rechercher un fichier
– create créer un fichier
– Remove supprimer un fichier
– rename renommer un fichier
– read lire à partir d’un fichier
– write écriture dans un fichier
– link créer un lien
– symlink créer un lien symbolique
– readlink lire le contenu d’un lien
– mkdir créer un réprtoire
– rmdir supprimer un répertoire
– readdir lire le contenu d’un répertoire
– getattr obtenir les attribut d’un fichier
– times, temps d’accès d’un fichier
– setattr obtenir les attribut d’un fichier
– statfs obtenir des information sur un fichier
19
Références
„
„
„
„
http://sardes.inrialpes.fr/~krakowia/
http://www.cs.rutgers.edu/~pxk/index.html
RFC 1831. RPC: Remote Procedure Call Protocol
Specification Version 2
RFC 1832. XDR: External Data Representation
Standard
20