raid zfs configurator Français

Site en Français

raid zfs configurator english

Site en Anglais

Erasure coding calculator

Attention : Cet outil est là pour vous aider, mais il peut ne pas représenter votre architecture complète ce qui peut apporter une certaine différence de résultat.

Erasure Coding Calculator

Calculate usable capacity and performance for K+M configurations

EC Settings (K+M)

Hardware

Performance

Capacity

Usable Capacity
-
Efficiency
-

Throughput

Read Speed
-
Write Speed
-

IOPS

Read IOPS
-
Write IOPS
-

Comment ça marche :

Modes de calcul :

📈 Mode théorique (vert)

  • Conditions parfaite – no overhead
  • Maximum performance scenarios
  • Réseaux Idéal and hardware performance
  • Meilleur cas storage efficiency

🛡️ Mode conservateur (rouge)

  • Conditions du monde réel with overhead factors
  • Attentes pratiques for production environments
  • Comptes pour:
    • 15% surcharge de capacité (métadonnées, formatage, pièces de rechange)
    • 25% réduction de vitesse (surcharge réseau/CPU, reconstruction)
    • 30% Réduction des IOPS (latence, mise en file d’attente, reconstruction)
    • 10% surcharge du réseau
    • Pénalités d’écriture supplémentaires (calcul de parité, cycles de lecture-modification-écriture)

Qu’est-ce que le Stripe Size?

Stripe Size (KB) est un paramètre crucial qui affecte à la fois les performances et la façon dont vos données sont réparties sur les disques.”>Stripe Size est la quantité de données (en Ko) écrites sur chaque disque individuel avant de passer au disque suivant dans l’ensemble de codage d’effacement.

📊 Comment ça marche ?

Exemple avec K=4, M=2, Stripe Size=4KB:

  • Votre fichier est divisé en 4KB chunks(bloc)
  • Chaque bloc va sur un disque différent dans l’ordre
  • Après 4 blocs de données (16 Ko au total), la parité est calculée
  • Le modèle se répète pour les 16 Ko de données suivants
File: [16KB block] → Split into 4KB chunks
Disk 1: [4KB] → Disk 2: [4KB] → Disk 3: [4KB] → Disk 4: [4KB]
Parity Disk 1: [P1] → Parity Disk 2: [P2]

Impact sur les performances:

Small Stripe Size (1-4KB):

  • Meilleur pour: Random I/O, databases, small files
  • Plus faible latence pour les petites opérations
  • More overhead pour les larges lectures sequentielles

Large Stripe Size (64-256KB):

  • Mieux pour: I/O Sequentiels, fichier video, backups
  • Débit plus élevé pour les transferts volumineux
  • Latence plus élevée pour les petites opérations aléatoires

🔢 Stripe Width Calculation:

Le calculateur montre “Erasure Code Stripe Width” = Stripe Size × Data Chunks

Exemple: 4KB stripe × 4 data chunks = 16KB stripe width

Cela signifie que chaque 16 Ko de vos données est distribué sur tous les disques de données avant le calcul de parité.

🎯 Choisir la bonne taille:

  • 4KB: Bonne valeur par défaut pour les charges de travail mixtes
  • 8-16KB: Base de données et usage général
  • 64-128KB: Streaming Video, systèmes de backup
  • 256KB+: Archives de fichiers volumineux, entrepôt de données

Le champ affecte directement la façon dont votre système de codage d’effacement équilibre entre latence (small stripes) et débit (large stripes)!

Caractéristiques :

🎛️ Sélecteur de mode

  • 2 boutons en haut du panneau de configuration
  • Indicateurs visuel – Vert pour théorique, rouge pour conservateur
  • Descriptions dynamiques expliquant chaque mode
  • commutation instantanée entre les méthodes de calcul

📊 Feedback Visuel

  • Mode badges sur chaque section de résultat indiquant le mode de calcul actuel
  • Boutons à code couleur avec icônes
  • Mises à jour en temps réel lors du changement de mode
  • Explications clair de ce que chaque mode représente

🔧 Calculs intelligents

  • Mode conservateur : Appliques des facteurs de charge réalistes:
    • Capacity: 85% efficacité (15% overhead)
    • Read Speed: 75% efficacité (25% overhead)
    • Write Speed: Pénalité supplémentaire de 15 % pour le calcul de la parité
    • Read IOPS: 70% efficacité (30% overhead)
    • Write IOPS: Pénalité supplémentaire de 40 % pour les cycles de lecture-modification-écriture

💡 Cas d’usage:

  • Theoretical: Planification, budgétisation, potentiel maximal
  • Conservative: Planification de la production, attentes réalistes, planification SLA

Vous pouvez voir le « meilleur scénario » et « ce à quoi s’attendre réellement en production » – en donnant à la fois des objectifs optimistes et des chiffres de planification réalistes !

Failure Domain

The Failure Domain est un concept crucial dans le codage d’effacement qui détermine la manière dont vos blocs de données sont distribués sur votre infrastructure de stockage pour garantir la tolérance aux pannes.

Voici ce que signifie chaque option :

OSD (Object Storage Daemon)

  • Niveau le plus bas – Lecteurs de disque individuels
  • Les morceaux sont répartis sur différents disques
  • Peut tolérer les pannes de disque, mais si un serveur tombe en panne, vous risquez de perdre plusieurs morceaux
  • Utiliser quand: Vous avez de nombreux disques et souhaitez une densité de stockage maximale

Host

  • Niveau du serveur – Serveurs/nœuds individuels
  • Les morceaux sont répartis sur différents serveurs
  • Peut tolérer des pannes de serveur entières
  • Choix le plus courant pour les déploiements typiques
  • Use when: Vous souhaitez survivre aux pannes de serveur (recommandé)

Rack

  • Rack level – Physical server racks
  • Les Chunks sont répartis sur différents racks
  • Peut tolérer des pannes de rack entières (problèmes d’alimentation, de réseau, de refroidissement)
  • A utiliser quand: Vous disposez de plusieurs racks et souhaitez une tolérance aux pannes au niveau du rack

Datacenter

  • Niveau le plus élevé – Différents centres de données/sites
  • Les Chunks sont répartis sur différents emplacements géographiques
  • Peut tolérer des pannes complètes du centre de données
  • A utiliser quand: vous avez plusieurs centres de données et avez besoin d’une redondance géographique

Exemple pratique:

Si vous perdez K=4, M=2 avec Host failure domain:

  • Votre donnée est divisé en 4 data chunks + 2 parity chunks = 6 total chunks
  • Chaque chunk va vers un serveur différent
  • Vous pouvez perdre jusqu’à 2 serveurs entiers et récupérer vos données
  • Si vous choisissez plutôt « OSD », la perte d’un serveur avec plusieurs disques pourrait potentiellement entraîner la perte de plusieurs chunks

💡 Recommendations: Utilisez “Host” pour la plupart des déploiements car il offre une bonne protection contre les pannes de serveur tout en étant pratique à mettre en œuvre.

Qu’est-ce que l’erasure coding (EC) ?

Le codage d’effacement est une méthode de protection des données qui consiste à fragmenter les données, à les étendre et à les encoder avec des données redondantes, puis à les stocker sur différents emplacements ou disques. Contrairement au RAID, l’EC est très flexible et est utilisé dans les solutions de stockage objet modernes (comme MinIO, Ceph ou AWS S3).

Comprendre les paramètres K+M :

  • K (Blocs de données) : Nombre de fragments de données d’origine.
  • M (Blocs de parité) : Nombre de fragments supplémentaires ajoutés pour la redondance.
  • Tolérance aux pannes : Un système peut perdre jusqu’à M fragments sans perte de données. Par exemple, une configuration 4+2 peut supporter deux pannes simultanées.

Pourquoi choisir l’Erasure Coding plutôt que le RAID ? (H3)

Alors que le RAID est la norme pour les serveurs uniques et les NAS domestiques, l’Erasure Coding s’est imposé comme la technologie de choix pour le stockage objet (S3) et les architectures distribuées (Ceph, MinIO). La raison est simple : la flexibilité. Avec l’Erasure Coding, vous n’êtes pas limité par le nombre de disques physiques dans un seul tiroir. Vous pouvez définir des schémas comme le 16+3, permettant de perdre trois nœuds entiers de stockage sans aucune interruption de service.

Calcul de l’Overhead et Efficacité (H3)

Le calcul de l’efficacité est crucial pour optimiser vos coûts de stockage Cloud. Pour un schéma $K+M$, l’efficacité se calcule par la formule $K / (K+M)$. Par exemple, une configuration 12+4 offre une efficacité de $12 / 16 = 75\%$, tout en offrant une sécurité bien supérieure à n’importe quel système RAID traditionnel. Utilisez notre calculateur pour simuler vos besoins et comparer le coût au To utilisable.

Erasure Coding ou RAID : lequel est le meilleur ?

Erasure Coding est plus efficace pour les systèmes distribués à grande échelle et offre une meilleure protection contre les pannes multiples. Le RAID est généralement plus rapide pour les baies de stockage locales de petite taille.

Quel est le surcoût de stockage de l'erasure coding ?

La surcharge est calculée comme suit : (M/K). Par exemple, dans une configuration 4+2, la surcharge est de 50 %, ce qui donne une capacité utilisable de 66 %.

CaractéristiqueRAID Traditionnel (5, 6, 10)Erasure Coding (K+M)
Échelle (Scalability)Limitée à un boîtier ou un nœud.Idéal pour le Cloud et le stockage distribué.
Efficacité StockageFixe (ex: 66,7% en RAID 6 avec 6 disques).Granulaire et flexible (ex: 80% en 8+2).
Tolérance aux pannesMax 2 disques (RAID 6).Théoriquement illimitée (dépend de M).
Performance (IOPS)Excellente pour les accès locaux.Plus lente (latence due au CPU/Réseau).
Temps de reconstructionLong (stress intense sur les disques).Rapide (parallélisation sur plusieurs nœuds).
erasure coding calculator