Architecture du système Ceph et concepts de base

Architecture et concepts de base de
Ceph Ceph est un système de stockage unifié et distribué conçu pour d'excellentes performances, fiabilité et évolutivité.

"Unifié" signifie qu'un système de stockage Ceph peut fournir trois fonctions de stockage d'objets, de stockage de blocs et de stockage de système de fichiers en même temps, afin de simplifier le déploiement et l'exploitation et la maintenance dans le cadre de la satisfaction des différents besoins des applications.

"Distribué" signifie que le système Ceph est vraiment décentralisé et n'a pas de limite supérieure théorique d'évolutivité de l'échelle du système. En pratique, Ceph peut être déployé sur des milliers de serveurs.


Auteur: Liu jeune,

Ce travail est autorisé sous l'accord de licence Creative Commons Attribution - Utilisation non commerciale - Partage 3.0 Version non localisée de la même manière.

Le lien pour cet article est: http://blog.csdn.net/younger_china/article/details/76794987


Architecture
système L'architecture système de Ceph se compose de trois niveaux: la partie la plus basse et la partie centrale est le système de stockage d'objets RADOS; la deuxième couche est la couche de bibliothèque librados; la couche supérieure correspond aux différentes formes d'implémentation de l'interface de stockage de Ceph.

La couche inférieure est basée sur RADOS (magasin d'objets distribué fiable et autonome), qui comprend le processus de service en arrière-plan ceph-osd et le processus de surveillance ceph-mon.

La bibliothèque librados de la couche intermédiaire est utilisée pour accéder au système de stockage d'objets RADOS localement ou à distance via le réseau.

La couche supérieure fournit trois interfaces de stockage différentes pour les applications: interface de stockage de blocs, interface de stockage d'objets et interface de système de fichiers. Le serveur de métadonnées MDS du système de fichiers est utilisé pour fournir un accès aux métadonnées. Les données sont accessibles directement via la bibliothèque librados.

Il existe deux concepts d'objet dans le système ceph: l'un est le stockage d'objets dans le RGW, et l'autre est l'objet stocké dans le back-end de Ceph (ci-après dénommé objet Rados). Les deux doivent être distingués: le premier est orienté et orienté utilisateur L'objet auquel l'interface peut accéder, ce dernier est l'objet exploité par le serveur ceph;

Rados
RADOS est principalement composé de deux types de nœuds: l'un est un grand nombre d'OSD (Object Storage Device) responsable de l'exécution des fonctions de stockage et de maintenance des données, et l'autre est de plusieurs moniteurs chargés de terminer la détection et la maintenance de l'état du système.

moniteur

Monitor est un processus démon déployé indépendamment. En formant un cluster Monitor pour assurer leur haute disponibilité. Le cluster Monitor atteint la cohérence de ses propres données grâce à l'algorithme Paxos. Il fournit des informations de configuration globale telles que des informations sur les nœuds pour l'ensemble du système de stockage.
OSD


 OSD est un processus démon responsable du stockage physique. Sa fonction est de stocker des données, de gérer la réplication, la récupération, le remplissage et le rééquilibrage des données, et de fournir des informations de surveillance aux moniteurs Ceph en vérifiant le rythme cardiaque des autres démons OSD. Lorsque le cluster de stockage Ceph est configuré pour avoir 2 copies, au moins 2 démons OSD sont nécessaires pour que le cluster atteigne l'état actif + propre.

Concepts de base
Il existe plusieurs concepts de base dans le cluster Ceph: objet rados, OSD, PG, PGP, pool, fichier, rbd, objet rgw, etc. Ces concepts de base forment l'architecture logique de l'ensemble du cluster Ceph.

Objet Rados

L'objet est l'unité de base de stockage de données, généralement la taille par défaut de 4 Mo.
Un objet se compose de trois parties:
(1) ID d'objet (ID): identifie de manière unique un objet.
(2) Données d'objet: elles correspondent à un fichier dans le système de fichiers local et les données d'objet sont enregistrées dans le fichier.
(3) Métadonnées d'objet: sous forme de valeur-clé (paire clé-valeur), elles peuvent être enregistrées dans les attributs étendus correspondant au fichier.
OSD (périphérique de stockage d'objets)


OSD est un processus responsable du stockage physique. Généralement, il est configuré pour correspondre à un disque un par un, et un disque démarre un processus OSD. (Pour les fonctions détaillées, veuillez vous référer à l'introduction précédente)
Description de la relation:
(1) Plusieurs PG peuvent être distribués sur un OSD
(2) Le périphérique OSD est une
PG porteuse (groupe de placement) qui stocke des objets rados

PG est une couche de logique au-dessus de l'OSD, qui peut être considérée comme un concept logique. On peut comprendre du nom que PG est un groupe de stratégie de placement, qui est une collection d'objets. Tous les objets de la collection ont la même stratégie de placement: les copies des objets sont distribuées sur la même liste OSD.
Description de la relation:
(1) PG a maître et esclave. Pour plusieurs copies, les copies maître et esclave d'une PG sont distribuées sur différents OSD;
(2) Un objet ne peut appartenir qu'à une seule PG et une PG contient plusieurs objets
( 3) une PG OSD correspondant à une liste de tous les objets stockés dans la PG pour l'OSD correspondante sur la liste de l'objet est l' objet de ORAD ici, au lieu de l'objet utilisateur piscine


Pool est un pool de stockage abstrait, qui est une couche de logique au-dessus de PG.
Il spécifie le type de redondance des données et la stratégie de distribution de copie correspondante. Deux types de pools sont actuellement implémentés: le type répliqué et le type de code d'effacement.
Description de la relation:
(1) Un pool est composé de plusieurs PG et un PG ne peut appartenir qu'à un POOL
(2) Les PG du même pool ont le même type, par exemple, si le pool est un type de copie, toutes les PG du pool
PGP (Placement Group for Placemen) avec plusieurs copies

Il n'y a pas beaucoup de présentations sur PGP, "Learning Ceph":


PGP est un groupe de placement à des fins de placement, qui doit être égal au nombre total de groupes de placement (pg_num). Pour un pool Ceph, si vous augmentez le nombre de groupes de placement, c'est-à-dire pg_num, vous devez également augmenter pgp_num à la même valeur entière que pg_num afin que le cluster puisse commencer le rééquilibrage. Le mécanisme de rééquilibrage sous couverture peut être compris de la manière suivante. La valeur pg_num définit le nombre de groupes de placement, qui sont mappés sur les OSD. Lorsque pg_num est augmenté pour n'importe quel pool, chaque PG de ce pool se divise en deux, mais ils restent tous mappés sur leur OSD parent. Jusqu'à ce moment, Ceph ne démarre pas de rééquilibrage. Maintenant, lorsque vous augmentez la valeur pgp_num pour le même pool, les PG commencent à migrer du parent vers un autre OSD et le rééquilibrage du cluster commence. De cette façon,
La signification de base est:


1. PGP joue le rôle de réinitialisation de PG;
2. La valeur de PGP devrait être la même que PG. Bien que la valeur de PG augmente, la valeur de PGP devrait également être augmentée pour garder la valeur des deux identiques;
3. Lorsque la PG d'une POOL augmente, Ceph ne commencera pas le rééquilibrage. Ce n'est qu'après l'augmentation de la valeur de PGP que la PG commencera à migrer vers d'autres OSD et commencera à rééquilibrer le
fichier

Le fichier est un concept dans le système de fichiers; le
système de fichiers ceph est un système logique construit sur la base du pool de stockage de métadonnées et du pool de stockage de données. Les fichiers dans le système de fichiers sont mappés à des objets (objets rados) via libcephfs et RADOS, puis utilisé le calcul Crush pour localiser L'emplacement dans le périphérique de stockage.
RBD (Rados Block Device)

RBD est un périphérique bloc ceph; l'
image RBD est un système de stockage logique construit sur un pool de stockage . L' image RBD est mappée à un objet (objet rados) via librbd et RADOS, puis utilise le calcul Crush pour localiser l'emplacement dans le périphérique de stockage.
Objet Rgw

Objet Rgw, fait généralement référence à un document, une image ou un fichier vidéo, etc. Bien que les utilisateurs puissent télécharger directement un répertoire, ceph n'enregistre pas l'objet Rgw conformément à la hiérarchie des répertoires, tous les objets Rgw sont plats Les objets Rgw sont
mappés par librados et RADOS L'objet (objet rados), puis utilisez le calcul Crush pour localiser l'emplacement dans le périphérique de stockage.
Le concept de base est présenté ici ~~~

Auteur: Liu jeune,

Ce travail est autorisé sous l'accord de licence Creative Commons Attribution - Utilisation non commerciale - Partage 3.0 Version non localisée de la même manière.

Le lien pour cet article est: http://blog.csdn.net/younger_china/article/details/76794987


————————————————
Déclaration de droit d'auteur: Cet article est un article original du blogueur CSDN "YoungerChina", suite à l'accord de droit d'auteur CC 4.0 BY-SA, veuillez joindre le lien source d'origine et cette déclaration pour réimpression .
Lien d'origine: https://blog.csdn.net/younger_china/article/details/76794987

A publié 13 articles originaux · Likes6 · Plus de 10 000 visiteurs

Je suppose que tu aimes

Origine blog.csdn.net/majianting/article/details/103024816
conseillé
Classement