11.0 Vue d'ensemble
-
Avec OpenStack devient la pile logicielle standard de cloud computing open source, Ceph est devenu le premier choix de stockage back-end OpenStack. CEPH est un pour ses performances exceptionnelles, la fiabilité et l'évolutivité unifiée, conçus en systèmes de fichiers distribués.
-
CEPH document officiel: http://docs.ceph.org.cn/
-
CEPH communauté open source chinoise: http://ceph.org.cn/
-
CEPH est un système de fichiers distribué open source. Parce qu'il prend en charge le stockage de blocs, le stockage d'objets, il est donc naturel d'utiliser ou le cadre nuage OpenStack CloudStack backend de stockage. Bien sûr, il peut servir de stockage, tels que le déploiement d'un cluster est stocké sous forme d'objets, de stockage SAN, stockage NAS.
1) Support de ceph
-
Object Store : à savoir radosgw, interface compatible S3. Téléchargez par le repos api, téléchargez le fichier.
-
Système de fichiers : Interface posix. clusters Ceph peuvent être considérés comme un système de fichiers partagé est monté localement.
-
Bloc de Stockage : à savoir, RBD. Il y a noyau rbd et librbd utilisé de deux façons. Les snapshots, clones. Correspondant à un disque dur local lié à l'utilisation et le but, et le même disque dur. Par exemple, dans le projet OpenStack, dispositif de stockage de bloc Ceph peut être arrimé stockage back - end de OpenStack
2) Ceph Quels sont les avantages par rapport à d' autres magasins distribués?
-
Stockage unifié : Bien rez - de - chaussée de CEPH est un système de fichiers distribué, mais en raison du soutien de la cible supérieure et de bloquer le développement d'interfaces. Ainsi , le logiciel de stockage open source, capable de dominer l'arène politique. En ce qui concerne les générations futures ne, je ne connais pas.
-
évolutivité : extension facile, grande capacité. Capable de gérer des milliers de serveurs, le niveau EB de la capacité.
-
Fiabilité : un soutien important cohérence des copies multiples, CE. Des copies peuvent s'effondrer hôte, rack, salle informatique, le stockage des centres de données. Par conséquent, sûr et fiable. nœuds de stockage peuvent être auto-gestion, l' auto-guérison. Pas de point de défaillance unique, tolérant aux pannes.
-
Haute performance : Depuis plusieurs copies, lorsque les opérations de lecture et d' écriture ainsi pu ne très parallélisées. En théorie, les plus noeuds, plus le IOPS et le débit de l'ensemble du cluster. Un autre point client ceph lu et des données d'écriture directement interagir avec le dispositif de stockage (OSD).
. 3) les composants Ceph Présentation
- OSDs céph : céph démon OSD fonctions (céph OSD) pour stocker des données, la copie de traitement de données, la récupération, le remblai, le rééquilibrage, et de fournir des informations de suivi pour les moniteurs Ceph en examinant autre rythme cardiaque démon OSD. Lorsque le cluster de stockage Ceph est réglé sur deux copies, au moins deux clusters démon OSD pour atteindre + état propre actif (il y a trois copies de défaut Ceph, mais vous pouvez régler le nombre de copies).
- Moniteurs : Surveiller le diagramme montre Ceph maintient différents états du cluster, y compris une vue de l' écran l'OSD figure normalisé groupe ensemble (PG) sur la figure, CRUSH et figure. Ceph conservé des informations historiques chaque changement d'état se produit sur les moniteurs, OSD et PG (appelée l'époque).
- MDS : serveur de métadonnées céph (MDS) pour les métadonnées stocke des systèmes de fichiers céph ( à savoir, un bloc de stockage d'objets céph céph et sans l'utilisation de MDS). serveur de métadonnées rend les utilisateurs du système de fichiers peut provoquer une POSIX charge sur le principe de l' exécution telles que ls, trouver d' autres commandes de base non cluster de stockage Ceph.
10.1, expérience de déploiement du cluster Ceph
1) désactiver SELinux, désactiver le pare-feu
#关闭SELinux setenforce 0 sed -i ' s / SELINUX = faire observer / SELINUX = désactivé / ' / etc / selinux / config systemctl arrêter firewalld.service systemctl disbale firewalld.service
2) l'hôte est prêt (pour modifier le fichier hosts)
le contrôleur 192.168 . 182,143 ADMIN, l'OSD, lun # en tant que nœud de gestion et de surveillance compute1 192.168 . 182,142 l'OSD, MDS compute2 192.168 . 182,128 l'OSD, MDS
# Contrôleur de gestion. Osd. Mon noeud
3) de plus en plus une expérience de trois serveurs dur, et monté pour créer le répertoire / var / local / {0,1,2} osd
# Controleur mkfs.xfs / dev / sdc mkdir -p / var / local / osd0 monter / dev / sdc / var / local / osd0 / # compute1 mkfs.xfs / dev / sdb mkdir -p / var / local / OSD1 montage / dev / sdb / var / local / OSD1 / # compute2 mkfs.xfs / dev / sdb mkdir -p / var / local / OSD2 monter / dev / sdb / var / local / OSD2 /
Si vous ne voyez pas les nouveaux périphériques de disque, puis redémarrez la machine virtuelle, ou exécutez la commande suivante pour rescannez le disque, attention à voir / sys / Il existe plusieurs classes de fichiers hôte / scsi_host / répertoire
echo ' - - - ' > / sys / class / scsi_host / host { 0 , 1 , 2 } / scan
4) connexion SSH sans mot de passe
# Utilisez ssh-keygen pour générer des clés ssh émises à chaque noeud dans le noeud de gestion
# Contrôleur
ssh keygen ssh -copy- id controleur de -copy- id compute1 ssh -copy-id compute2
5) outil d'installation du nœud de gestion CEPH-deploy
# Ajouter un fichier de configuration yum (besoins de chaque nœud pour augmenter la source yum)
cat << EOF> /etc/yum.repos.d/ ceph.repo [Ceph] nom = paquets Ceph pour $ basearch baseurl = http: // mirrors.163.com/ceph/rpm-jewel/el7/x86_64 activé = 1 gpgcheck = 1 Type = rpm- md gpgkey = http: // mirrors.163.com/ceph/keys/release.asc priorité = 1 [Ceph - noarch] nom = paquets noarch Ceph baseurl = http: // mirrors.163 .com / ceph / rpm-bijou / el7 / noarch enabled = 1 gpgcheck =1 Type = rpm- md gpgkey = http: // mirrors.163.com/ceph/keys/release.asc priorité = 1 [CEPH - la source] nom = paquets source Ceph baseurl = http: // mirrors.163.com/ CEPH / rpm bijou / el7 / SRPMS activé = 1 gpgcheck = 1 Type = rpm- md gpgkey = http: // mirrors.163.com/ceph/keys/release.asc priorité = 1 EOF
# Mise à jour logicielle et installer les outils de gestion source ceph-Déployez
miam nettoyer tous && miam makecache
miam -y install CEPH-deploy
6) Créer un service de surveillance
# Contrôleur
mkdir / etc / CEPH && cd / etc / CEPH
# Mon installé dans le nœud du contrôleur
CEPH-deploy nouveau contrôleur
# Générer un fichier de configuration dans le répertoire courant
[root @ controleur CEPH] # ls
ceph.conf ceph.log ceph.mon.keyring
# profils Ceph, un anneau de clé de moniteur et un fichier journal
7) modifier le nombre de copies
Le nombre de copies par défaut du profil n ° 2 passe de 3, de sorte que seulement deux osd peut atteindre l' état actif + propre, cette ligne a été ajouté à la section [Global] ( en option )
$ Vim ceph.conf [ global ] fsid = 92f5581d-79d2-4c9f-a523- 4965eedc846b mon_initial_members = contrôleur mon_host = 192.168.182.143 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx osd_pool_default_size = 2
# Dans tous les nœuds installés CEPH
CEPH-Déployez contrôleur installer compute1 compute2
# Installation moniteur CEPH
céph-déploiement MON crée contrôleur
fichier nœud de collecte porte-clé #
céph-contrôleur de déploiement gatherkeys
8) le déploiement de service osd
# noeuds Ajouter osd (noeud) effectue tous osd
# Nous avons créé le répertoire / var / local / {id} osd prêt à expérimenter
8.1) Création d'une activation osd
# Créer osd
# Contrôleur CEPH -Déployez osd préparer contrôleur: / var / local / osd0 compute1: / var / local / OSD1 compute2: / var / local / OSD2
# Activer osd
céph-déploiement OSD activer le contrôleur: / var / local / osd0 compute1: / var / local / OSD1 compute2: / var / local / OSD2
# Si une erreur
Solution: Ajouter des autorisations sur chaque nœud
chmod 777 -R / var / local / osd0 / chmod 777 -R / var / local / OSD1 / chmod 777 -R / var / local / OSD2 /
# Afficher l'état
CEPH-deploy contrôleur compute1 compute2 liste osd
9) configuration unifiée
# Ceph-deploy avec le profil de clé et admin copié à tous les nœuds, de sorte que chaque ligne de commande pour exécuter Ceph sans spécifier une adresse de moniteur et ceph.client.admin.keyring
CEPH-deploy contrôleur admin compute1 compute2
# Chaque autorisation de nœud à modifier ceph.client.admin.keyring
chmod + r /etc/ceph/ceph.client.admin.keyring
# Afficher l'état osd
或 CEPH -s santé CEPH
10) MdS déploiement de services
CEPH-mds Déployez créer compute2 compute1
# Afficher l'état
CEPH stat mds
# État de cluster
CEPH -s
11) Créer un système de fichiers Ceph
# Voir
CEPH fs ls
# Création d'un pool de stockage
CEPH piscine osd créer cephfs_data <pg_num> CEPH osd piscine créer cephfs_metadata <pg_num>
Où: <pg_num> = 128 ,
pour créer le pool de stockage
pour déterminer la valeur de pg_num est obligatoire, parce qu'ils ne peuvent pas automatiquement calculés. Voici quelques valeurs communes:
* moins de 5 OSD lorsque le pg_num peut être réglé sur 128
* le nombre de l'OSD 5-10 lorsque le pg_num peut être réglé à 512
* le nombre de l'OSD 10 à 50 lorsque la boîte pg_num à 4096
nombre * de l' OSD supérieur à 50 , vous devez comprendre les compromis, et la façon de calculer leur propre valeur pg_num
* outils peuvent aider pgcalc propres calculs valeur de pg_num
augmente à mesure que le nombre d'OSD, la valeur correcte devient pg_num plus importante car elle affecte de manière significative le comportement du groupe, ainsi que l' erreur de temps de persistance de données ( par exemple, la probabilité d'un événement catastrophique , entraînant la perte de données).
11.1, créer un système de fichiers
# Une fois que vous avez créé un pool de stockage, vous pouvez créer un système de fichiers en utilisant les fs nouvelle commande, où: <fs_name> = cephfs personnalisable
CEPH fs nouveau <fs_name> cephfs_metadata cephfs_data
Voir créé après cephfs #
CEPH fs ls
# Afficher l' état du Mds nœud, l'actif est actif, l'autre est dans un état de sauvegarde à chaud
CEPH stat mds
11.2, montage du système de fichiers Ceph ( de compute1 )
A: système de fichiers Ceph monter le pilote du noyau
Créer un point de montage #
mkdir / opt
- # Clé de stockage (si aucune copie CEPH CEPH-deploy dans le nœud de gestion de fichiers de configuration)
# cat
/etc/ceph/ceph
.client.admin.keyring
# 将key对应的值复制下来保存到文件:
/etc/ceph/admin
.secret中。
mount -t ceph 192,168 . 182,143 : 6789 : / / opt -o name = admin, secretfile = / etc / CEPH / admin.secret
# Unmounted
umount / opt
B: système de fichiers Ceph montage contrôle utilisateur
# Installez le CEPH-fusible
yum install -y CEPH-fusible
# Mont
céph-fusible -m 192,168 . 182,143 : 6789 / opt
# Unmounted
fusermount -u / opt
CEPH dans la communauté open source est très populaire, mais plus est appliquée sur le nuage de stockage back-end . Ainsi , la plupart d'utilisation Ceph dans un environnement de production , l'entreprise aura une équipe de développement CEPH secondaire, le fonctionnement et l' entretien de CEPH aussi plus difficile. Mais après une optimisation raisonnable, la performance et la stabilité CEPH sont la peine d'attendre.
12) sur l'autre
Nettoyage configuration CEPH sur la machine:
-
Arrêtez tous les processus: arrêt CEPH-all
-
Tout programme de désinstallation de CEPH: désinstaller CEPH-deploy [{CEPH-noeud}]
-
Supprimer le module d'installation associée ceph: purge céph-déploiement {céph-noeud} [{ceph-data}]
-
Retirer CEPH configuration associée: purgedata CEPH-deploy {CEPH-noeud} [{CEPH-data}]
-
删除 clés: forgetkeys CEPH-Déployez
-
Désinstaller la gestion CEPH-deploy: yum -y supprimer CEPH-deploy
~ ~ ~ ~ ~ ~ Terminé le déploiement du stockage distribué Ceph