CentOS7 installer OpenStack-11. Le déploiement d'une architecture de stockage distribuée Ceph

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

  1. Object Store : à savoir radosgw, interface compatible S3. Téléchargez par le repos api, téléchargez le fichier.

  2. Système de fichiers : Interface posix. clusters Ceph peuvent être considérés comme un système de fichiers partagé est monté localement.

  3. 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?

  1. 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.

  2. évolutivité : extension facile, grande capacité. Capable de gérer des milliers de serveurs, le niveau EB de la capacité.

  3. 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.

  4. 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中。
# Mont
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

 

Je suppose que tu aimes

Origine www.cnblogs.com/liugp/p/12513702.html
conseillé
Classement