Stockage

Introduction à RAID, LVM, SAN, NAS

Licence Creative Commons

Plan général

  • Systèmes de fichiers et stockage local
    • Notion de Block Device sous Unix
    • RAID
    • LVM
  • Systèmes de stockage réseau
    • SAN
    • NAS

Notion de block device sous Linux (1)

  • Comment le noyau Linux voit-il les disques ?
    • Comme tout le reste ! À travers des fichiers.
  • Comment manipuler ces fichiers ?
    • À travers différentes interfaces du noyau ;
    • Les pilotes gèrent les block devices physiques : /dev/sda, /dev/sda1, /dev/sr0, /dev/hdb, /dev/cciss/c0d0p0, etc…
    • Des modules particuliers gèrent des block devices virtuels : /dev/md0, /dev/mapper/Gr0Vol0, /dev/cr0

Notion de block device sous Linux (2)

  • Pourquoi des block devices virtuels ?
    • Ajouter une couche de traitement de l'information au-dessus du blockdevice physique
    • Maintenir la compabilité avec des applications et les composants du système qui travaillent avec des block devices

RAID : Redundant Array of Independant Disks

  • Compenser les défaillances matérielles occasionnelles ou intempestives des disques durs
  • Permettre la haute disponibilité des données
  • Ne pas perdre de données !
  • Récupérer rapidement et sans interruption de service en cas de crash

Différents types de RAID (1) : RAID0

  • Pas vraiment un RAID
  • Utilisation maximale des disques
  • Répartit les opérations de lecture et d'écriture
  • Ne protège pas des défaillances

Différents types de RAID (2) : RAID1

  • Première solution de haute disponibilité
  • Mauvaise utilisation l'espace disque
  • Peu de dégradations des performances
  • Crash unique récupérable, crashs en cascade fatals

Différents types de RAID (3) : RAID5

  • Le plus populaire aujourd'hui
  • Maximise l'espace disque utile (n-1 disques disponibles)
  • Performances en écriture moyenne
  • Performances dégradées en cas de crash
  • Crash unique récupérable, crashs en cascade fatals

Autres types de RAID

  • Autres niveaux de RAID
    • Variantes des RAID 0, 1 et 5
    • RAID2, 3, 4
    • RAID6
  • RAID combinés
    • RAID1+0
    • RAID0+1
    • RAID5+0
    • etc…
  • RAID matériel/RAID logiciel

RAID : est-il toujours nécessaire de faire des sauvegardes ?

  • Les mécanismes redondants ne permettent pas de se prémunir d'une corruption de données
  • Ils ne permettent pas non plus de revenir en arrière
  • Quand un fichier est effacé sur un RAID, il est effacé !

LVM : Logical Volume Management

  • Buts
    • S'abstraire des disques physiques
    • Obtenir une gestion encore plus souple des partitions
    • Augmenter/réduire la taille des partitions à chaud
    • Augmenter la capacité disque à chaud d'une machine
  • Mécanismes
    • Physical Volume
    • Volume Group
    • Logicial Volume

Physical Volume/Volume Group/Logical Volume (1)

  • Un Physical Volume est une partition physique ou un disque complet
  • Un Volume Group est une agrégation de plusieurs Physical Volume
  • Un Logical Volume est une partition logique du système, appuyé sur un Volume Group

Physical Volume/Volume Group/Logical Volume (2)

Extents : la base du système LVM

  • Découpage du disque en briquette de 32Mo
  • Physical Extents sur les Physical Volumes
  • Regroupement de Physical Extents sur le Volume Groups
  • Présentation de ces PE pour les Logical Volumes
  • Formation de Logical Extents au niveau des Logical Volumes

Ajout de disque à chaud sur un système

Souplesse de gestion

Le morcellement du disque permet de gagner en souplesse :

  • Les volumes logiques peuvent dépasser en taille les disques physiques
  • Pour redimensionner un volume logique, on lui permet de voir plus ou moins d'extents

Fonctions avancées

  • Gestion avancée de volumes
    • Striped volumes (RAID0)
    • Mirrored volumes (RAID1/5/6/…)
    • Spare volumes
    • Snapshots volumes
  • Opérations spécifiques
    • pvmove : forcer LVM à regrouper des données
    • vgsplit : sépération d'un VG en plusieurs VG
  • Limitations
    • Taille des systèmes de fichiers
    • Capacité de redimensionnement des systèmes de fichiers
  • Fonctionnement similaire sur les baies de disques

Une fonction avancée: snapshot

  • Repose sur le principe du CoW (Copy-on-Write)
  • Le snapshot ou volume-cliché N'est PAS une sauvegarde…
  • … mais peut servir de base à certaines stratégies de sauvegarde.
  • Le snapshot permet de faire de répliquer rapidement des données de production pour test
  • Le snapshot permet de revenir en arrière très facilement dans un environnement de test

Systèmes de stockage en réseau

  • Notion de DAS
    • Direct Attached Storage
    • Efficace, facile, performant mais…
    • …rigide, supportant difficilement la croissance
  • Systèmes de stockage en réseau
    • NAS (Network Attached Storage)
    • SAN (Storage Area Network)
    • Plus grande souplesse, meilleure montée en charge, séparation traitement/stockage

NAS : Network Attached Storage (1)

  • Machine autonome qui présente des volumes sous forme de partage : NFS, CIFS, FTP, SFTP, etc…
  • Marche en mode fichiers
  • La baie a « conscience » de ce qu'elle stocke

NAS : Network Attached Storage (2)

  • Avantages :
    • Grande souplesse de mise en œuvre
    • Très facile à manipuler
    • Réutilise au maximum les infrastructures réseaux existantes
  • Inconvénients :
    • Grandit assez mal
    • Pose des problèmes de cloisonnement réseau
    • Pas toujours facile de travailler en mode fichiers…

NAS : Network Attached Storage (3)

CIFS : Common Internet File System (ou SMB : Server Message Block)
  • Construit en RPC au dessus de TCP
  • Protocole historique de partages de fichiers sous Microsoft Windows
  • Émulé depuis très longtemps par Samba sous Unix
  • Fait un peu plus que du NAS (partage d'imprimantes, informations réseaux, etc…)
  • Authentification basée sur NTLM, Kerberos, LanMan, etc…
  • Historiquement non-chiffré (mais maintenant mal chiffré donc bon…)
  • Protocole très complexe, très lourd et peu performant

NAS : Network Attached Storage (4)

NFS : Network File System
  • Construit en UDP
  • Normé par l'IETF (RFC 1094, 1813, 3010, 5661, 7862)
  • Protocole histoirique de partages de fichiers Unix
  • Historiquement sans authentification : basé uniquement sur l'UID de l'utilisateur côté client et serveur !
  • Traitement spécial pour root (UID 0 sur toutes les machines !)
  • Implique des réseaux parfaitement maîtrisés…
  • … et une identité partagée entre les clients et les serveurs (via LDAP par exemple)
  • Extrêmement performant

NAS : Network Attached Storage (5)

Autorisation descendante

SAN : Storage Area Network (1)

  • Attachement du stockage en mode bloc
    • Fonctionnement proche du DAS
  • Forte redondance et résistance aux pannes
  • La baie n'a plus « conscience » de ce qu'elle stocke

SAN : Storage Area Network (2)

  • Avantages :
    • Redondance forte donc sécurité
    • Réseaux séparés (Fibre Channel) ou non (FCoE, iSCSI, AoE)
    • Performance accrue
    • Mise à l'échelle plus simple
  • Inconvénients :
    • Coût de mise en œuvre
    • Coût d'exploitation
    • Nombreuses problématiques de compatibilité

SAN : Storage Area Network (3)

iSCSI (1)
  • basé sur l'interface de disque historique Small Computer Systems Interface
  • transporté par IP (donc routable n'importe où)
  • chiffrable par IPSEC (donc transportable sur des réseaux non-sûrs)
  • Double-lien très complexe
  • Performance discutable…

SAN : Storage Area Network (4)

iSCSI (2)

SAN : Storage Area Network (5)

AoE (1)
  • basé sur l'interface de disque moderne AT Attachment (SATA)
  • transporté par Ethernet
  • Hautement parallélisable
  • Non-sécurisé et non-routable

SAN : Storage Area Network (6)

AoE (2)