CEPH - Création d'un cluster de A à Z

Petit mémo pour la création d'un cluster CEPH de 3 noeuds ou plus. Cet article est une synthèse de la documentation officielle CEPH disponnible ICI.

Prérequis

Vous devez disposez de 3 serveurs ou plus installés sous CentOS 7.
Le serveur ou sera installé CEPH-deploy doit pouvoir s'authentifié par clé SSH sur l'ensemble des noeuds du cluster CEPH.

Infrastructure cible

Les trois serveurs composant le cluster CEPH sont :

  • FE-CEPH00 (noeuds ou sera installé CEPH-deploy)
  • FE-CEPH01
  • FE-CEPH02

Chaque serveur dispose d'un second disque /dev/sdb qui sera utilisé par un OSD

Les réseaux utilisés sont :

  • Réseau public :10.150.150.0/24
  • Réseau cluster : 10.100.100.0/24

La version de CEPH installé est MIMIC

Préparation des serveurs

A réalisé sur l'ensemble des noeuds (ici FE-CEPH00, FE-CEPH01, FE-CEPH02)

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum -y --enablerepo=elrepo-kernel install kernel-mlyum install -y epel-release
yum install -y net-tools iftop
yum install -y ntp ntpdate ntp-doc
yum install -y python-pip
useradd -d /home/ceph -m ceph
echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
sudo chmod 0440 /etc/sudoers.d/ceph
systemctl disable firewalld
yum update

Editer le fichier /etc/default/grub et modifier la valeur GRUB_DEFAULT

GRUB_DEFAULT=0

Appliquer les changements en exécutant la commande suivante :

grub2-mkconfig -o /boot/grub2/grub.cfg

Editer le fichier /etc/selinux/config et modifier la valeur SELINUX

SELINUX=disabled

Redemarrer les serveurs pour appliquer le changement de kernel

reboot

Installation de CEPH-Deploy

A réaliser sur le serveur ou vous souhaitez installer CEPH-Deploy (ici FE-CEPH00)

cat << EOM > /etc/yum.repos.d/ceph-deploy.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
EOM

yum update
yum install ceph-deploy
cd /root/
mkdir ceph-cluster

Création du cluster CEPH

A réaliser uniquement sur le serveur ou est installé CEPH-Deploy (ici FE-CEPH00)

cd /root/ceph-cluster
ceph-deploy new FE-CEPH00 FE-CEPH01 FE-CEPH02

Editer le fichier de configuration généré pour spécifier les options souhaitées :

nano ceph.conf
[global]
fsid = a0314bf2-0ea6-49a7-ba9a-8fe045a5516c
mon_initial_members = FE-CEPH00, FE-CEPH01, FE-CEPH02
mon_host = 10.150.150.230,10.150.150.231,10.150.150.232
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

public network = 10.150.150.0/24
cluster network = 10.100.100.0/24

osd pool default size = 3
osd pool default min size = 2


[osd]
osd heartbeat grace = 20
osd heartbeat interval = 5

Installation des paquets sur l'ensemble des noeuds

ceph-deploy install FE-CEPH00 FE-CEPH01 FE-CEPH02

Installation du rôle monitor sur les noeuds spécifiés (ici FE-CEPH00, FE-CEPH01, FE-CEPH02)

ceph-deploy mon create-initial

Installation des clés CEPH sur les différents noeuds

ceph-deploy admin FE-CEPH00 FE-CEPH01 FE-CEPH02

Installation du rôle manager sur les noeuds souhaités

ceph-deploy mgr create FE-CEPH00 FE-CEPH01 FE-CEPH02

Création des OSD sur les différents noeuds

ceph-deploy osd create --data /dev/sdb FE-CEPH00
ceph-deploy osd create --data /dev/sdb FE-CEPH01
ceph-deploy osd create --data /dev/sdb FE-CEPH02

En cas d'erreur sur l'initialisation d'un OSD, vous pouvez utilisez les commandes suivantes pour reset un disque :

sgdisk -Z /dev/sdb
dd if=/dev/zero of=/dev/sdb bs=1024 count=2048000

Création d'un POOL CEPH

Création d 'un POOL nommé cephpool avec un pg-num et pgp-num de 200

ceph osd pool create cephpool 200 200 replicated
ceph osd pool application enable cephpool rbd

Vérification du bon fonctionnement du cluster CEPH

Le statut du cluster CEPH peut être vérifié en utilisant la commande suivante :

ceph -s

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *