systèmes de fichiers réseau & stockage objet · introduction philippe latu – gnu fdl v1.3...

25
Systèmes de fichiers réseau & stockage objet Systèmes de fichiers réseau & stockage objet Un système de fichier réseau fournit une abstraction au système d’exploitation tandis que le stockage objet fournit une abstraction à une application. Philippe Latu – GNU FDL v1.3 – inetdoc.net 1/25

Upload: others

Post on 04-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Systèmes de fichiers réseau & stockage objetSystèmes de fichiers réseau & stockage objet

Un système de fichier réseau fournit une abstraction au système d’exploitation tandis que le stockage objet fournit une abstraction à une application.

Philippe Latu – GNU FDL v1.3 – inetdoc.net 1/25

Page 2: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Philippe Latu – GNU FDL v1.3 – inetdoc.net 2/25

● Plan– Introduction– Topologie réseau type– Virtual File System → VFS dans l’espace noyau

– Système de fichiers dans l’espace utilisateur → FUSE

– Appels de procédures distants (RPC)

– Network File System → NFS– Server Message Block → SMB– Stockage Objet → Ceph

● Objectifs– Définitions, vocabulaire et usages

Systèmes de fichiers réseau & stockage objetSystèmes de fichiers réseau & stockage objet

Page 3: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

IntroductionIntroduction

Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25

● Avantages– Partage

● Fichiers disponibles à grande échelle → Nombre important de clients avec des systèmes divers

● Partage depuis un point unique– Diminution du nombre de copies– Moins d’incohérences

– Gestion des disques● Système NAS → pas de file d’attente unique par périphérique en mode bloc

● Extension facile des volumes (virtuels ou non) par ajout au serveur NFS → LVM

– Architecture● Gestion des verrous et des files d’attentes côté serveur → côté client avec les solutions SAN

● Snapshots → au niveau système de fichier (LVM)● Sauvegardes → au niveau serveur NFS uniquement

Page 4: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

IntroductionIntroduction

Philippe Latu – GNU FDL v1.3 – inetdoc.net 4/25

● Inconvénients– Limitation technique

● Lancement système impossible sur NAS● Coût CPU plus important côté hypeviseur → logiciel de communication avec le serveur NAS

– Performances● Latence possible → usages applications transactionnelles● Pas de multipath avec un système NAS

– Architecture● Manque de nouvelles fonctions liées à la virtualisation● Contraintes de sécurité → autorisations d’accès depuis les clients

● Accès sensibles aux ruptures de connexions réseau

Page 5: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Topologie typeTopologie type

Philippe Latu – GNU FDL v1.3 – inetdoc.net 5/25

Réseau IP «frontal» Hôte ↔ hôte Application ↔ système de fichiers Client ↔ Serveur NFS / SMB NAS

Réseau de stockage «dorsal» Hôte ↔ stockage Système de fichiers ↔ périphérique Application ↔ périphérique VFS noyau SAN

Page 6: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Système de fichiers virtuel (VFS)Système de fichiers virtuel (VFS)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 6/25

● Qu’est-ce qu’un système de fichiers virtuel (VFS) ?– Un service du noyau– Une interface entre les applications ou processus et les dispositifs de stockage

– Une bibliothèque standard● Quel est le but du VFS ?

– Un accès transparent au stockage vis-à-vis des utilisateurs et/ou des applications

– Une gestion uniforme du contrôle d’accès aux fichiers et répertoires

– Un système de nommage cohérent entre fichiers locaux et réseau

– Des performances d’accès uniformes → cache

Page 7: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Système de fichiers virtuel (VFS)Système de fichiers virtuel (VFS)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 7/25

UserApplication 1

GNU standard library Usersp

ace

Kernelsp

aceSystem call interface

VirtualFile System

inodecache

directorycache

buffer cache

individual file systemext4 / xfs / gfs2 / ocfs2

device drivers

UserApplication 2

UserApplication n

Page 8: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Système de fichiers dans l’espace utilisateurSystème de fichiers dans l’espace utilisateur

Philippe Latu – GNU FDL v1.3 – inetdoc.net 8/25

● Étape intermédiaire avant le stockage objet → bibliothèque FUSE– Portabilités entre noyaux – Interface de programmation

● Tous les langages● Toutes les applications

– Avantages ● Performances● Mise au point dans l’espace utilisateur

– Inconvénient● Métadonnées système uniquement

Page 9: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Mécanisme d’accès réseauMécanisme d’accès réseau

Philippe Latu – GNU FDL v1.3 – inetdoc.net 9/25

● Appel de procédure distant– Remote Procedure Call (RPC)

● Extension des appels de procédure locaux● Exécution de code sur un hôte distant

– Séquence des opérations

Num Lock

Caps Lock

Sc rollLock

Num

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Scrol l

Lock

Sc rn

Print

Sy sRq

Pa use

Break

Home

End

Page

Down

Pa ge

UpInser t

Delet e

Enter

End

Hom ePgUp

PgDn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F10

F11F12

Esc1

23

45

67

89

0(

)

*&^

%$

#@

!` ~

- _= +

\|

Ctr l

Ctrl

Alt

A S D F G H J K L

Ca psLock

;: '"

Z X C V B N M

Shift

Shift

/?.>

,<Alt Gr

QW

ER

TY

UI

OP

[{ ]}

TabUser applicationXDR RPC client XDR RPC servercallrpc()

execute request service call(1)

(2)

request complete

(3)

(4)return replyuser applicationcontinues (5)

user applicationfreezes

(6) Service process

Page 10: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Mécanisme d’accès réseauMécanisme d’accès réseau

Philippe Latu – GNU FDL v1.3 – inetdoc.net 10/25

● Modélisation des flux RPC● Communications de bout en bout

Procedurecall

client stub

Num Lock

Ca ps Lock

Sc rollLock

Num

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Sc roll

Lock

Scrn

Print

SysRq

Pause

Break

Home

End

Pa ge

Down

Page

UpInsert

De lete

Enter

End

Hom ePgUp

PgDn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F1 0

F11F12

Esc 12

34

56

78

90

()

*&

^%

$#

@!

` ~

- _= +

\ |

Ctr l

Ct r l

Alt

A S D F G H J K L

CapsLock

;: '"Z X C V B N M

Shift

Shift

/?.>

,<Alt Gr

QW

ER

TY

UI

OP

[{ ]

}

Tabclient process

RPC runtimelibrary

Proceduremanagement

server stub

server process

RPC runtimelibrary

call

return

call

return

call return call return

apparent flow

Network messages

Page 11: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 11/25

● NFSv2 1983– Protocole de transport UDP uniquement sur réseaux locaux

– Performances médiocres en écriture● NFSv3 1995

– Exportation de systèmes de fichiers POSIX 64 bits– Protocoles de transport UDP et TCP toujours avec multiplexage de ports

– Performances améliorées en écriture● NFSv4 2003 → mise à jour 2015

– Réduction des temps de latence– Communications sur un port unique → tcp/2049 (filtrage plus facile)

– Appels de procédures groupés → compound RPC– Chiffrements des flux

User applicationVFS

NFS clientXDR RPC client

TCP/IPNetwork device

Network deviceTCP/IP

XDR RPC serverNFS server

Local filesystem

Page 12: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 12/25

interfacedriver

Virtual file system

Localfilesystem

Num Lock

Ca psLock

Sc rollLock

Num

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Sc roll

Lock

Scrn

Print

SysRq

Pause

Break

Home

End

Pa ge

Down

Page

UpInsert

De lete

Enter

End

Hom ePgUp

PgDn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F10

F11F12

Esc1

23

45

67

89

0(

)

*&^

%$

#@

!` ~

- _= +

\|

Ctrl

Ctr l

Alt

A S D F G H J K L

CapsLock

;: '"Z X C V B N M

Shift

Sh ift

/?.>

,<Alt Gr

QW

ER

TY

UI

OP

[{ ]

}

Tab

kernel

devicedriver

Transparent access

RPC

Process

NFSclientTCP/IP

kernel

NFS serverprocess

Virtual file system

Localfilesystem

devicedriver

interfacedriver

NFSserverTCP/IP

Page 13: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 13/25

NFSv4 RFC3530

RPC RFC5531

Application

TCP port 2049

Kerberos v5 RFC4120

Definitions + goals

Procedure list

RPC_GSS RFC5403

SKPM LIPKEY RFC2847

cryptograhy + keys

SessionXDR RFC4506

Transport

● Pile des protocoles NFSv4.x

Page 14: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)● Fonctions principales

– Système de fichiers distribué → accès aux fichiers distant identiques aux accès locaux

– Modèle client/serveur● Serveur → répertoires locaux accessibles aux clients● Clients → montage des répertoires distants

– Hiérarchique par nature → chaînes de répertoires et fichiers● Usages

– Partage de répertoires : utilisateurs, données et applications qui sont exécutées localement

– Bases de données et VM datastores– VMware supporte NFSv4.1 en mode client pour le stockage de fichiers VMDKs

– Amazon supporte NFSv4.0 à travers AWS Elastic File System (EFS)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 14/25

Page 15: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)● Évolutions du protocole

– Parallel NFS (pNFS)● Aggrégation de serveurs NFS autonomes● Relation entre client et serveur de type point-à-point

Philippe Latu – GNU FDL v1.3 – inetdoc.net 15/25

ClientClient NumLock

Ca psLock

Sc rollLock

Nu m

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Scrol l

Lock

Sc rn

Print

Sy sRq

Pa use

Break

Ho me

End

Page

Down

Pa ge

UpInsert

De lete

Enter

End

Hom ePgUp

Pg Dn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F10

F11F12

Esc1

23

45

67

89

0(

)

*&^

%$

#@

!` ~

- _= +

\|

Ct r l

Ctr l

Alt

A S D F G H J K L

CapsLock

;: '"Z X C V B N M

Shift

Shift

/?

.>,<

Al t Gr

QW

ER

TY

UI

OP

[{ ]

}

Tab

Server1Server1Server2Server2

Server3Server3

ClientClient Num Lock

Ca psLock

Sc rol lLock

Num

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Sc roll

Lock

Scrn

Print

SysRq

Pause

Bre ak

Home

End

Pa ge

Down

Pa ge

UpInsert

De lete

Enter

End

Hom ePgUp

PgDn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F10

F11F12

Es c1

23

45

67

89

0(

)

*&^

%$

#@

!` ~

- _= +

\|

Ctr l

Ctr l

Al t

A S D F G H J K L

CapsLock

;: '"Z X C V B N M

Shift

Shift

/?.>

,<Alt Gr

QW

ER

TY

UI

OP

[{ ]

}

Tab

ClientClient Num Lock

Ca psLock

ScrollLock

Num

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Sc rol l

Lock

Scrn

Print

SysRq

Paus e

Bre ak

Home

End

Pa ge

Down

Page

UpInser t

De let e

Enter

End

Hom ePgUp

PgDn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F10

F11F12

Esc 12

34

56

78

90

()

*&^

%$

#@

!` ~

- _= +

\ |

Ctr l

Ctr l

Alt

A S D F G H J K L

Ca psLock

;: '"Z X C V B N M

Shift

Shift

/?.>

,<Alt Gr

QW

ER

TY

UI

OP

[{ ]

}

Tab

pNFSpNFSprotocolprotocol

StorageStorageaccessaccess

Page 16: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)● Évolutions du protocole

– Parallel NFS (pNFS)● Client → lecture ou écriture d’un fichier● Serveur → autorisation d’accès au fichier● Pagination (stripe map) du fichier fournie au client● Client → lecture ou écriture directe sur tous les serveurs

– Plus de goulot d’étranglement● Plus de relation point-à-point avec le serveur● Amélioration des accès aux fichiers de grande taille

– Gestion améliorée● Répartition de charge entre clients et serveurs● Espace de nommage unique préservé

Philippe Latu – GNU FDL v1.3 – inetdoc.net 16/25

Page 17: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Network File System (NFS)Network File System (NFS)● Arborescences

Philippe Latu – GNU FDL v1.3 – inetdoc.net 17/25

/usr

/boot

/

/home

/user_me

/var

/usr

/boot

/

/home

/local

/var

/usr

/boot

/

/home

/local

/var

/user_me

exportationexportation

montagemontage

Serveur1Serveur1 Serveur2Serveur2

ClientClient NumLock

Ca psLock

Sc rollLock

Num

Lock

7

4

1

/

8

5

2

*

9

6

3

0

-

+

Sc roll

Lock

Sc rn

Pri nt

Sy sRq

Pause

Break

Home

End

Page

Down

Page

UpInsert

De let e

Enter

End

Hom ePgUp

PgDn

Del

.

Ins

F1F2

F3F4

F5F6

F7F8

F9F10

F11F12

Esc1

23

45

67

89

0(

)

*&

^%

$#

@!

` ~

- _= +

\|

Ctr l

Ctr l

Alt

A S D F G H J K L

Ca psLock

;: '

"Z X C V B N M

Shift

Shift

/?.>

,<Alt Gr

QW

ER

TY

UI

OP

[{ ]

}

Tab

Page 18: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Server Message Block (SMB)Server Message Block (SMB)● Fonctions principales

– Mode de partage standard des systèmes Microsoft– SMB 3.0 → Windows Server 2012 → optimisé pour applications serveur– Améliorations SMB 3.0

● Performances → clusters● Tolérance aux pannes● Sécurité → algorithmes AES

● Usages– Intégration Hyper-V et produits Windows Server– Bases de données SQL Server

● SMB Direct– Remote Direct Memory Access (RDMA)– Canaux d’accès «directs» de la mémoire d’un hôte à l’autre à travers le réseau → Hyper-V

● SMB Multichannel– Distribution des flux entre interfaces multiples

Philippe Latu – GNU FDL v1.3 – inetdoc.net 18/25

Page 19: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Server Message Block (SMB)Server Message Block (SMB)

Philippe Latu – GNU FDL v1.3 – inetdoc.net 19/25

● Pile des protocoles SMB – CIFS

CIFS

Nameservice

Application

TCP port139

Sessionservice

Session

Transport

Avant Windows 2000

Browser

Datagramservice

UDP port138

UDP port137

TCP port445

Rawaccess

SMB

Après Windows 2000

Page 20: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Object storageObject storage

Philippe Latu – GNU FDL v1.3 – inetdoc.net 20/25

● Stockage en mode objet– Trouver/Chercher des données à partir d’expressions rationnelles

– Cloud storage → transformation en base de données

– Plus de Cloud se développe → plus on peut trouver d’informations

– Plus les Métadonnées sont importantes → plus on peut formuler de requêtes complexes (Big Data)

● Exemple → recherche de données similaires à l’aide de la classification des métadonnées

Page 21: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Object storageObject storage

Philippe Latu – GNU FDL v1.3 – inetdoc.net 21/25

● Stocker et récupérer un objet– Un serveur stocke un objet sur un seul nœud → algorithmes de sélection basés sur la topologie

– Politique de stockage → algorithmes basés sur l’occupation des nœuds, les performances et les métadonnées système

– Schémas de nommage cohérent → accès global

– Réplication → entre nœuds et/ou sites en fonction des lectures

Page 22: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Architecture CEPHArchitecture CEPH

Philippe Latu – GNU FDL v1.3 – inetdoc.net 22/25

Object storage device (OSD)

CRUSH map

Placement GroupPlacement Group

Rados Block Device (RBD)

Reliable Automatic Distributed Object Storage (RADOS)

Placement Group Placement Group

Ceph FS

componentsservices

Object storage device (OSD)

Pool

Page 23: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

Architecture CEPHArchitecture CEPH

Philippe Latu – GNU FDL v1.3 – inetdoc.net 23/25

● Object Storage Devices (OSDs)– Analogie avec les volumes de sockage– OSDs multiples → RAID inutile

● Pools – Regroupement de Placement Groups– Stratégie de performance → tiering

● CRUSH maps– Distribution des objets vers les OSDs– Une correspondance par Pool

● RADOS– Transformation → données/objets → stockage partagé performant

● RDB– Périphérique de type bloc → découpage en stripes

Page 24: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

SynthèseSynthèse● NAS

– Fichiers → vue du système d’exploitation

– Partage réseau avec un bon rapport performance / coût

● Stockage objet– Objets → vue des applications– Métadonnées → recherches et requêtes complexes

– Algorithmes / stratégies de distribution du stockage à grande échelle → Cloud

Philippe Latu – GNU FDL v1.3 – inetdoc.net 24/25

Page 25: Systèmes de fichiers réseau & stockage objet · Introduction Philippe Latu – GNU FDL v1.3 – inetdoc.net 3/25 Avantages – Partage Fichiers disponibles à grande échelle →

RessourcesRessources● Stockage réseau

– Ciscolive.com BRKINI-1011● Introduction à CEPH

http://docs.ceph.com/docs/jewel/start/intro/

● Samba experience– https://sambaxp.org/

Philippe Latu – GNU FDL v1.3 – inetdoc.net 25/25