[Cooling Wine and Talking About Storage] Épisode 4: Aide de cinq cascades O9000 Sco

9 0 0 0

Dans l'épisode précédent, nous avons parlé d'O9000 qui cultivait un corps de cinq Hercules avec des avantages extraordinaires en termes de performances, de capacités et de coûts, et avait acquis la compétence unique DFS, qui lui avait valu le score le plus élevé (Le légendaire 5 millions d'OPS) au test SPEC.

Aujourd'hui, dévoilons l'O9000 et explorons ses cinq défis en matière de distribution de données et d'accélération de la performance!


EC Arhat Boxing Technique

Généralement, les données sont stockées dans les disques secteur après secteur. Dans l'épisode 3, vous saviez que chaque nœud d'O9000 possède un certain nombre d'emplacements de disque. Les questions sont les suivantes: comment les fichiers sont-ils stockés dans O9000 et les fichiers sont-ils stockés disque après disque et noeud après noeud?

Bien sûr que non! Les disques ne sont pas une chose assurée. ce n'est pas non plus un héritage. Peut-être que beaucoup d’entre vous ont déjà rencontré des problèmes de disque et doivent récupérer des données.

Google "panne de disque" et plus de 92 millions de résultats sortent.

57185046a438f.png

Combien de temps dure la vie d'un disque? Quel est le taux d'échec d'un disque? Une déclaration commune est que la durée de vie théorique d'un disque mécanique est probablement supérieure à 30 000 heures. En règle générale, si un disque (tel qu'un disque sur un serveur Web) continue de fonctionner sans interruption, sa durée de vie sera épuisée dans trois ans. S'il est utilisé à des fins normales, un disque peut fonctionner pendant six ou sept ans. Backblaze est une société qui a publié un rapport dans lequel une grande quantité de données a été utilisée pour calculer la durée de vie des disques. La société est un fournisseur de services de sauvegarde en ligne et est établie depuis plus de cinq ans. Il a plus de 25 000 disques en cours d’exécution, de sorte qu’il dispose de suffisamment de données pour calculer la durée de vie des disques. La figure suivante publiée par Backblaze indique le taux de défaillance du disque pour chaque trimestre.

57185046d504c.jpg

Les détails concernant le taux de défaillance des disques au cours des quatre premières années sont les suivants: au cours des 18 premiers mois, il a été maintenu à environ 5%, puis a chuté à 1,4% un an plus tard, pour finalement atteindre 10-15% la quatrième année. . Cela signifie que si les disques sont utilisés en permanence, ils risquent fortement de tomber en panne après la troisième année.

Par conséquent, vous ne pouvez pas mettre tous les œufs dans le même panier. Un disque a un prix mais pas les données. Pour augmenter la fiabilité, le moyen le plus simple consiste à conserver une copie de sauvegarde, telle que le mode à trois copies de Hadoop. Mais le problème qui en résulte est que la capacité réelle est réduite à seulement 33% (100 avant impôts, 30 après impôts, quelle tristesse!) 

La technique de boxe EC Arhat acquise par O9000 peut constituer un équilibre parfait entre la fiabilité des données et la capacité réelle disponible. EC est l'abréviation de Erasure Code. Une fois les données stockées dans la couche de stockage d'objets distribués, O9000 découpe les données en bandes. Ensuite, il utilise des tranches de données et des tranches redondantes pour former des bandes. (Notez que la lettre e est apposée sur la bande.) Le processus est illustré à la figure suivante.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-3

O9000 utilise un mécanisme de distribution de bande non complet pour réduire les frais généraux du système et éviter le gaspillage d'espace de stockage et des E / S en lecture / écriture.

Lors de la livraison des données, si le nombre de bandes de données est insuffisant, le disque sans bande n'a pas de données et son espace de stockage ne diminue pas.

Si la taille de la tranche de données finale est inférieure à la taille de la bande, l’espace occupé par la tranche de données est la valeur la plus approximative parmi 4 Ko, 8 Ko, 16 Ko, 32 Ko, 64 Ko, 128 Ko, 256 Ko ou 512 Ko (choisis dans l'ordre croissant) à la taille de la tranche de données finale.

Lorsqu'il n'y a qu'une seule bande de non-vérification, la taille de toutes les bandes de vérification doit être identique à celle de la bande de non-vérification.

Ici, nous utilisons un fichier de 64 Ko en mode 4 + 2 à titre d'exemple. Lorsque la taille de la bande du répertoire dans lequel se trouve le fichier est de 128 Ko et de 16 Ko, l'occupation de l'espace de stockage du fichier est indiquée dans les figures suivantes. Dans la figure suivante, l'espace de stockage en blanc indique que les données du fichier peuvent toujours être écrites dessus.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-4

L’avantage d’EC est qu’il vous permet de définir très facilement le niveau de protection par répertoire et d’ajuster la longueur de la tranche en fonction de la taille du fichier. Actuellement, les niveaux de protection tels que N + 1, N + 2, N + 3, N + 4, N + 2: 1 et N + 3: 1 sont pris en charge et la défaillance de 4 nœuds physiques simultanément peut être tolérée. .

Remarque: Un niveau de protection est exprimé au format N + M ou N + M: B, où N indique le nombre de données d'origine (ODC), M le nombre de données redondantes (RDC) et B le nœud de données redondantes (RDN).

Le N dans un niveau de protection dépend du nombre réel de nœuds. Vous pouvez utiliser le tableau suivant pour interroger rapidement le nombre réel de N.

Nombre de nœuds

N + 1

N + 2

N + 3

N + 4

N + 2: 1

N + 3: 1

2

2 + 2: 1

3

2 + 1

4 + 2 (: 1)

4 + 3 (: 1)

6 + 4 (: 1)

4 + 2: 1

4 + 3: 1

4

3 + 1

4 + 2 (: 1)

4 + 3 (: 1)

6 + 4 (: 1)

6 + 2: 1

8 + 3: 1

5

4 + 1

4 + 2 (: 1)

4 + 3 (: 1)

6 + 4 (: 1)

8 + 2: 1

12 + 3: 1

6

4 + 1

4 + 2

4 + 3 (: 1)

6 + 4 (: 1)

8 + 2: 1

12 + 3: 1

7

4 + 1

4 + 2

4 + 3

6 + 4 (: 1)

12 + 2: 1

16 + 3: 1

8

4 + 1

4 + 2

4 + 3

6 + 4 (: 1)

12 + 2: 1

16 + 3: 1

9

4 + 1

4 + 2

4 + 3

6 + 4 (: 1)

16 + 2: 1

16 + 3: 1

dix

6 + 1

6 + 2

6 + 3

6 + 4

16 + 2: 1

16 + 3: 1

11

6 + 1

6 + 2

6 + 3

6 + 4

16 + 2: 1

16 + 3: 1

12

8 + 1

8 + 2

8 + 3

8 + 4

16 + 2: 1

16 + 3: 1

13

8 + 1

8 + 2

8 + 3

8 + 4

16 + 2: 1

16 + 3: 1

14

8 + 1

8 + 2

8 + 3

8 + 4

16 + 2: 1

16 + 3: 1

15

8 + 1

8 + 2

8 + 3

8 + 4

16 + 2: 1

16 + 3: 1

16

12 + 1

12 + 2

12 + 3

12 + 4

16 + 2: 1

16 + 3: 1

17

12 + 1

12 + 2

12 + 3

12 + 4

16 + 2: 1

16 + 3: 1

18

12 + 1

12 + 2

12 + 3

12 + 4

16 + 2: 1

16 + 3: 1

19

12 + 1

12 + 2

12 + 3

12 + 4

16 + 2: 1

16 + 3: 1

≥ 20

16 + 1

16 + 2

16 + 3

16 + 4

16 + 2: 1

16 + 3: 1

Mouvement de partition

Afin de contrôler l'étendue du stockage de données (telle que la segmentation physique des emplacements de stockage de service et l'utilisation de noeuds par lots pour économiser de l'énergie), ainsi que pour contrôler les domaines d'erreur et réduire l'impact des erreurs, O9000 introduit les pools de noeuds, les groupes de appelés tiers) et des groupes de disques, comme indiqué dans la figure suivante.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-5

Un niveau comprend un ou plusieurs pools de nœuds. Un pool de nœuds se compose de plusieurs nœuds et constitue l'unité de base pour les niveaux. Le type de noeud dans un pool de noeuds doit être identique. Les cinq types de nœuds, tout comme les cinq éléments, métal, bois, eau, feu et terre, ne doivent pas être mélangés. 
En interne, les pools de nœuds sont divisés en plusieurs pools de disques. Les disques d'un pool de nœuds forment des pools de disques en fonction de leurs types pour stocker des métadonnées et des données normales. Les disques SSD des emplacements 2 à n ( n est le nombre de disques SSD configurés) forment un pool de disques permettant de stocker des métadonnées et de petits fichiers permettant de configurer et d'activer l'accélération SSD. Le stockage des métadonnées est priorisé. Les disques durs forment un autre pool de disques.

Chaque pool de disques crée les partitions correspondantes. Lorsque des données sont envoyées sur des disques, plusieurs bandes d'une bande sont stockées dans le même pool de disques. Cependant, un pool de disques peut stocker des bandes avec plusieurs niveaux de protection.

Comme le montre la figure suivante, O9000 DFS divise l’espace de stockage de tous les pools de disques en plusieurs partitions et connecte ces partitions dans un anneau. Chaque partition correspond à un groupe de disques mais chaque disque peut appartenir à plusieurs partitions.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-6

Chaque niveau de protection des données est composé de plusieurs partitions et peut donc être considéré comme un sous-anneau.

Au niveau de la couche de stockage d'objets distribués, O9000 DFS effectue un calcul de hachage sur l'ID d'objet d'un objet de stockage et génère une valeur de hachage qui sera ensuite mappée en tant qu'ID de partition dans un sous-anneau. De cette manière, le mappage entre un objet de données et un emplacement de stockage de données est terminé.

Pour résumer en quelques mots:

Les premiers niveaux, puis les pools sont formés.

Ensuite, les pools sont divisés en groupes de disques.

Les mappages virtuels sont établis entre les partitions au sein de groupes de disques

Enfin, les anneaux sont formés par des partitions et les données sont envoyées aux disques.

Traces parallèles

Des pas parallèles aident O9000 à atteindre de nouveaux sommets. Un facteur parallèle peut être défini pour permettre l’inscription simultanée de bandes sur plusieurs groupes de disques (partitions), améliorant ainsi les performances de lecture et d’écriture.

Prenons l'exemple de quatre groupes de disques d'une taille de bande de 128 Ko. Les fichiers sont stockés au format suivant et chaque ligne verticale est traitée par une partition (qui est également un groupe de disques), comme indiqué dans la figure suivante.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-7

O9000 DFS peut combiner des E / S d’écriture d’objets sur un disque en grandes E / S séquentielles afin d’améliorer les performances du système.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-8

Puissance de clivage des sous-arbres

O9000 DFS est conçu pour le stockage Big Data. La quantité massive de métadonnées accompagnée du Big Data exige également de la fiabilité et des performances élevées en lecture / écriture.

La figure suivante montre les objets de métadonnées. Parce que chaque objet occupe un petit espace, O9000 DFS stocke les miroirs d’objet dans plusieurs nœuds. Si le niveau de protection d'un répertoire est N + M, le nombre de miroirs de métadonnées du répertoire est M + 2. Par conséquent, la fiabilité des métadonnées est encore supérieure à celle des données.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-9

Pour garantir les performances en lecture / écriture des métadonnées, O9000 DFS ajoute un sous-système MetaData Service (MDS) (pouvant être compris comme cache en lecture / écriture de métadonnées FS) au-dessus de la couche de stockage distribuée pour gérer exclusivement les métadonnées FS.

Comme le montre la figure suivante, O9000 DFS divise les objets de métadonnées en plusieurs sous-arbres. Les MDS situées dans différents nœuds de stockage sont responsables du stockage et de la gestion des sous-arbres. L'accès aux métadonnées sur les nœuds est autorisé.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-10

O9000 DFS peut migrer automatiquement les métadonnées entre les MDS en fonction des modifications de la charge de travail et de la division dynamique des sous-arbres.

Cache incommensurable

En tirant parti de l’architecture distribuée et en intégrant les ressources de cache de chaque nœud, O9000 a acquis une compétence unique appelée Immeasurable Cache Palm.

[Refroidir le vin et parler de stockage] Épisode 4: Aide de cinq cascades O9000 Sco-1058233-11

Cache incommensurable Palm fournit trois niveaux d’accélération du cache:

Cache L1: prend les bandes de fichiers comme unité de cache et effectue une pré-extraction et une accélération intelligentes des bandes de points chauds en fonction du modèle d'accès aux fichiers.

Cache L2: constitué de disques SSD d'accélération au sein de nœuds et servant à la mise en cache de blocs de données de points d'accès sensibles et de métadonnées sur tous les disques d'un nœud.

Cache L3: également NVDIMM, sert de cache en écriture. Une fois les bandes de données envoyées à la NVDIMM de chaque noeud, le système peut immédiatement répondre aux clients que l'opération d'écriture a réussi.

Prochainement:

Après avoir appris les cinq cascades, O9000 souhaite les mélanger et les utiliser plus parfaitement dans le partage de fichiers et la lecture et l’écriture de données. Pour savoir ce qui se passe ensuite, consultez le prochain épisode.





  • x
  • Standard:

Commentaire

envoyer
Connectez-vous pour répondre. Se connecter | Enregistrer

Remarque Remarque : Afin de protéger vos droits et intérêts légitimes, ceux de la communauté et des tiers, ne divulguez aucun contenu qui pourrait présenter des risques juridiques pour toutes les parties. Le contenu interdit comprend, sans toutefois s'y limiter, le contenu politiquement sensible, le contenu lié à la pornographie, aux jeux d'argent, à l'abus et au trafic de drogues, le contenu qui peut divulguer ou enfreindre la propriété intellectuelle d'autrui, y compris les secrets professionnels, les marques commerciales, les droits d'auteur et les brevets, ainsi que la vie privée personnelle. Ne partagez pas votre nom d'utilisateur ou votre mot de passe avec d'autres personnes. Toutes les opérations effectuées à partir de votre compte seront considérées comme vos propres actions, et toutes les conséquences en découlant vous seront imputées. Pour plus de détails, voir « Politique de confidentialité ».
Si le bouton de la pièce-jointe n'est pas disponible, mettez à jour Adobe Flash Player à la dernière version.
Connectez-vous pour participer à la communication et au partage

Connectez-vous pour participer à la communication et au partage

S'identifier