Tech Blog.

Thoughts, stories, ideas.

SUSE Enterprise Storage 2 – Ceph/Calamari en direct

2. November 2016

Ceph est sur toutes les lèvres et au plus tard depuis que Red Hat incorporé Inktank la solution de stockage définie par logiciel est également arrivée dans le segment des entreprises.

Ceph ne promet rien de plus que de bouleverser le marché du stockage, dominé par de grands noms tels que NetApp, EMC, et Co.

Avec SUSE Enterprise Storage, SUSE lance également une distribution Ceph avec une revendication d’entreprise – nous avons couvert en détail la version 2.0 et résumé brièvement les étapes d’installation les plus importantes dans cet article.
Regarde! L’installation suivante ne correspond pas à un scénario de “meilleure pratique” mais couvre les étapes de test de la solution dans un scénario de laboratoire.

Avant-propos

L’environnement dans lequel se déroule notre installation de test est constitué de trois serveurs physiques, appelés Node1, Node2 et Node3. Les trois dispositifs seront utilisés comme OSD et Node1 abritera également Monitor et Calamari. Pour un environnement productif, les différents rôles (OSD/MON) devraient être gérés séparément et un minimum de trois MON devrait être disponible.

SUSE Enterprise Storage est proposé sous la forme d’un module complémentaire pour SLES 12. Pour l’installer, cet add-on est ajouté à YAST2 lors de l’installation du système d’exploitation de base ou à un moment ultérieur. Après l’installation des paquets, l’installation peut commencer.

Exigences

La première étape consiste à s’assurer que les nœuds peuvent se résoudre mutuellement avec des noms DNS. Ceci a été assuré en configurant le fichier /etc/hosts en conséquence. Un utilisateur pour Ceph doit également être créé sur chaque système. Pour ce test, il s’agit de “céphalée”. De plus, le nœud Monitor Node(1) doit être autorisé à exécuter des commandes sans mot de passe et avec tous les droits sudo sans mot de passe sur les autres nœuds (2 + 3).

Configuration du Calamar

Ensuite, nous configurons le Calamar en tant que racine, le webgui pour l’administration et la surveillance du Ceph Cluster. Pour cela, un utilisateur d’administration (dans cet exemple “root”) et son mot de passe sont définis. Ensuite calamari-ctl configure postgresql et apache2 et lance ces services. Le Webgui est accessible directement sur le port 80 avec l’installation standard sous l’IP serveur.

calamari-ctl initialize

Remarque : Toutes les commandes ceph-deploy sont exécutées comme utilisateur ceph sur Node1 !
Maintenant, tous les nœuds sont connectés à notre serveur Calamar:

ceph-deploy calamari --master node1 connect node1 node2 node3

Calamari, das SUSE Enterprise Storage Dashboard

Configuration de base de Ceph

L’étape suivante consiste à configurer le cluster Ceph à l’aide de l’outil “ceph-deploy”, qui peut être installé sur la plupart des distributions via l’administration interne des paquets. Si le paquet n’est pas disponible, il est également possible d’obtenir “ceph-deploy” via Python pip ou directement depuis les sources avec git clone https://github.com/ceph/ceph-deploy.git.

C’est alors que le Ceph Cluster est créé :

ceph-deploy new node1

Ceph sera ensuite installé sur tous les nœuds :

ceph-deploy install node1 node2 node3

Enfin, le premier moniteur est créé :

ceph-deploy mon create-initial

Le Ceph Cluster est maintenant prêt à ajouter de la mémoire.

Configuration mémoire Ceph

Dans cet environnement de test, la partition /dev/sda3 est fournie sur chaque nœud comme emplacement de stockage des données Ceph. Cependant, il peut aussi s’agir de plaques entières (au pluriel) par système sans aucun problème.

Les cloisons sont d’abord préparées :

ceph-deploy osd prepare node1:/dev/sda3 node2:/dev/sda3 node3:/dev/sda3

Les OSDs peuvent alors être activés :

ceph-deploy osd activate node1:/dev/sda3 node2:/dev/sda3 node3:/dev/sda3

Et voilà, un cluster Ceph entièrement configuré avec interface web Calamar est configuré. :blush:
l'OSD Workbench de SUSE Enterprise Storage

Aide

Si l’installation du Ceph Cluster doit être redémarrée, l’installation existante peut être réinitialisée avec les commandes suivantes :

ceph-deploy purge node1 node2 node3
ceph-deploy purgedata node1 node2 node3
ceph-deploy forgetkeys

S’il y a des messages d’erreur chez OSD prepare, ceph-deploy disk zap peut vous aider. La commande écrase la table de partition du disque dur :

ceph-deploy disk zap nodeX:sda3

Pour faire de même pour le Calamar, la commande suivante doit être exécutée :

calamari-ctl clear --yes-i-am-sure

Le mot de passe de l’utilisateur Calamar peut être réinitialisé comme suit :

calamari-ctl change_password --password {password} {user-name}

Poursuivant

A partir de ce moment, plus rien ne s’oppose à la configuration du cluster pour d’autres services. Les services internes de Ceph le sont :

SUSE Enterprise Storage, par exemple, inclut désormais le plug-in iSCSI pour ce sujet, qui permet à de nombreux autres services de bénéficier d’une connexion Ceph !

La configuration sélectionnée ici est l’installation minimale. Pour une fiabilité et des performances accrues, les instructions de Ceph doivent être suivies.
Liens intéressants et utiles vers SUSE Enterprise Storage et Ceph :

  • https://www.suse.com/products/suse-enterprise-storage/
  • http://docs.ceph.com/docs/master/

Conclusion

L’installation d’un cluster Ceph avec SUSE Enterprise Storage est relativement simple. Le front-end web ainsi que l’interface iSCSI sont des ajouts intéressants à Ceph, dont nous traiterons plus en détail dans les prochains billets.

Comparée à une installation basée sur Debian, qui était correctement configurée à la main comme ” ceph-deploy “, la solution SUSE est plus conviviale.

Perspectives

Dans d’autres tests, nous avons traité de la performance ainsi que de la connexion iSCSI/libvirt de Ceph. Nous publierons plus de détails sur ce blog prochainement.