GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment monter CephFS sur CentOS 7

Ceph est une plate-forme de stockage open source, elle offre des performances, une fiabilité et une évolutivité élevées. Il s'agit d'un système de stockage distribué gratuit qui fournit une interface pour le stockage au niveau des objets, des blocs et des fichiers sans point de défaillance unique.

Ceci est la troisième partie de la série de didacticiels Ceph. Dans la première partie, je vous ai montré comment créer un « cluster Ceph » avec plusieurs nœuds sur CentOS7. La deuxième partie est un guide qui montre comment utiliser Ceph en tant que périphérique bloc sur CentOS 7. Dans cette troisième partie, je vais vous montrer comment monter Ceph en tant que système de fichiers sur CentOS 7 en tant que client.

Prérequis

  • Cluster Ceph :1 nœud Ceph-admin, 1 nœud Monitor (ceph-mon), 3 nœuds Ceph-osd (voir partie 1).
  • Client2 – Serveur CentOS 7 (voir partie 2).
  • Privilèges root

Étape 1 - Configurer le nœud Client2

Dans cette première étape, nous allons faire l'installation de base du client. C'est la même procédure que nous avons utilisée sur les autres nœuds du cluster. Nous allons créer un nouvel utilisateur nommé cephuser sur la boîte, synchronisez l'heure avec ntpdate, configurez sudo sans mot de passe pour cephuser etc. Alors commençons...

Connectez-vous au nœud client2 avec SSH en tant qu'utilisateur root :

ssh [email protected]

Nous nous sommes connectés au serveur avec un accès root, nous pouvons maintenant créer le nouveau cephuser.

useradd -m -d /home/cephuser cephuser
passwd cephuser
TYPE YOUR NEW PASSWORD

Une fois le nouvel utilisateur créé, activez sudo sans mot de passe pour l'utilisateur en créant un nouveau fichier de configuration dans le répertoire sudoers.

echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers
chmod 0440 /etc/sudoers.d/cephuser

Ensuite, installez NTP, l'outil de ligne de commande ntpdate et les outils open-vm. Ensuite, mettez à jour et synchronisez l'heure du système avec ntpdate.

yum install -y open-vm-tools
yum install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl enable ntpd.service
systemctl start ntpd.service

Désactivez SELinux et modifiez le fichier de l'hôte.

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
vim /etc/hosts

Collez la configuration des hôtes ci-dessous :

10.0.15.10        ceph-admin
10.0.15.11        mon1
10.0.15.21        osd1
10.0.15.22        osd2
10.0.15.23        osd3
10.0.15.15        client
10.0.15.16        client2

Enregistrez le fichier hosts et quittez l'éditeur. Essayez maintenant d'envoyer un ping au nœud ceph-admin pour tester la configuration de la connexion et du nom d'hôte.

ping -c 3 ceph-admin

Vous devriez voir l'adresse IP du nœud ceph-admin comme résultat.

Étape 2 - Installer Ceph Common Utilities sur le nœud Client2

Le package ceph-common peut être installé à partir du référentiel Ceph. Il contient les utilitaires Ceph pour monter et interagir avec le cluster de stockage Ceph.

Avant de pouvoir procéder à l'installation du package ceph-common, nous devons ajouter le référentiel epel et le référentiel Ceph.

sudo yum -y install epel-release
sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm

Mettez à jour le système et installez les utilitaires communs Ceph.

sudo yum -y update
sudo yum -y install ceph-common

Ensuite, nous devons ajouter la configuration sur le nœud ceph-admin.

Étape 3 - Configurer le nœud Ceph-admin

Dans cette étape, nous allons configurer le cluster afin que nous puissions nous connecter de l'administrateur au nœud client2 avec la clé ssh (sans le mot de passe).

Connectez-vous au nœud ceph-admin en tant que root, puis connectez-vous au cephuser avec su.

ssh [email protected]
su - cephuser

Modifiez le fichier de configuration ssh et définissez une nouvelle section de configuration client2.

vim ~/.ssh/config

A la fin du fichier, collez la configuration ci-dessous :

Host client2
    Hostname client2
    User cephuser

Ensuite, ajoutez la ligne de configuration de l'hôte pour le nœud client au fichier "/etc/hosts" sur le nœud ceph-admin.

sudo vim /etc/hosts

Collez la configuration de l'hôte ci-dessous à la fin du fichier.

10.0.15.16      client2

Enregistrez le fichier hosts et quittez l'éditeur.

Ajoutez maintenant la clé ssh du nœud ceph-admin au nœud client2.

ssh-keyscan client2 >> ~/.ssh/known_hosts
ssh-copy-id client2
TYPE THE client2 PASSWORD

La clé ceph-admin a été ajoutée. Nous pouvons maintenant accéder au nœud client2 sans le mot de passe du nœud ceph-admin.

ssh client2

Étape 4 - Créer le serveur de métadonnées Ceph

Si vous souhaitez exécuter et monter CephFS, vous avez besoin d'un serveur de métadonnées ceph (Ceph MDS). Ceph MDS s'exécute sur les nœuds OSD. Nous pouvons installer Ceph MDS sur le nœud OSD avec la commande ceph-deploy à partir du nœud ceph-admin.

Connectez-vous au nœud ceph-admin et devenez cephuser.

ssh [email protected]
su - cephuser

Accédez au répertoire du cluster et exécutez la commande ceph-deploy pour créer un nouveau serveur de métadonnées ceph (Ceph MDS). J'utiliserai le nœud 'osd1' comme serveur de métadonnées.

cd cluster/
ceph-deploy mds create osd1

Après avoir créé le serveur MDS sur le nœud osd1, nous devons nous connecter au nœud avec ssh.

ssh osd1

Ensuite, créez de nouveaux pools pour le serveur MDS, au moins nous avons besoin de 2 pools - cephfs_data et cephfs_metadata.

Créez de nouveaux pools sur le nœud 'osd1'.

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128

Les nouvelles piscines sont prêtes. Nous pouvons maintenant créer le nouveau système de fichiers en utilisant les pools nommés :cephfs_data et cephfs_metadata.

ceph fs new cephfs cephfs_metadata cephfs_data

cephfs =nom du système de fichiers.

Lorsque vous avez terminé cette étape sans erreur, vérifiez le serveur MDS avec la commande ci-dessous.

Consultez la liste des serveurs MDS :

ceph fs ls

Vous pouvez maintenant voir que le nom du système de fichiers est 'cephfs', le pool de métadonnées est 'cephfs_metadata' et le pool de données est 'cephfs_data'.

Afficher le statut MDS :

ceph mds stat

Assurez-vous que le MDS est en place et actif avant de continuer.

Étape 5 - Monter CephFS avec le pilote du noyau

Le serveur Ceph MDS a été créé sur le nœud 'osd1'. Nous pouvons maintenant utiliser CephFS. Dans cette étape, nous allons monter CephFS sur le nœud client2 en tant que système de fichiers avec la commande mount.

Avant de passer à l'étape suivante, nous devons installer ceph-fuse à partir du référentiel ceph sur le nœud client2.

sudo yum -y install ceph-fuse

Une fois l'installation terminée, copiez la clé de l'utilisateur. Dans notre configuration par défaut, l'authentification cephx est activée. L'utilisateur par défaut est 'admin'.

Copiez la clé du nœud de serveur MDS 'osd1' vers le nœud client2 avec la commande scp, puis modifiez l'autorisation de la clé.

ssh [email protected] 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key
chmod 600 ceph.key

Ensuite, créez un nouveau répertoire cephfs et montez le CephFS dans ce répertoire.

sudo mkdir -p /mnt/cephfs
sudo mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secretfile=ceph.key

Remarque :

Nom d'utilisateur par défaut =admin
secretfile =ceph.key du nœud MDS osd1

Vous verrez un nouveau système de fichiers de type 'ceph' monté dans la liste.

sudo df -hT

  

Pour démonter le système de fichiers, utilisez l'utilitaire de commande umount.

umount /mnt/cephfs

Étape 6 - Monter CephFS comme fusible

Après avoir monté avec succès CephFS en tant que système de fichiers, nous monterons CephFS en tant que Fuse (système de fichiers dans USErspace). Pour cette configuration, nous devons copier le fichier de configuration 'ceph.conf' et la clé du nœud de surveillance 'mon1'.

Créez un nouveau répertoire ceph sur le nœud client2 et copiez le fichier de configuration et la clé.

sudo mkdir -p /etc/ceph/
sudo scp [email protected]:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
sudo scp [email protected]:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

Modifiez les autorisations des fichiers.

sudo chmod 644 /etc/ceph/ceph.conf
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

Ensuite, créez un nouveau répertoire fuse et montez CephFS en tant que Fuse dans le répertoire '/mnt/fuse'.

sudo mkdir -p /mnt/fuse
sudo ceph-fuse -m mon1:6789 /mnt/fuse

Assurez-vous qu'il n'y a pas d'erreur et vérifiez que le CephFS est monté.

sudo df -hT

Pour démonter le fusible CephFS, utilisez la commande kill.

sudo ps -aux | grep ceph-fuse
kill -2 PID

Étape 7 - Monter CephFS à l'aide de fstab

Dans cette étape, nous monterons définitivement CephFS avec fstab. Nous allons modifier /etc/fstab et ajouter la configuration pour monter CephFS avec le pilote du noyau, en utilisant la commande mount.

Modifiez le fichier fstab.

sudo vim /etc/fstab

Collez la configuration ci-dessous à la fin du fichier :

mon1:6789:/     /mnt/cephfs     ceph        name=admin,secretkey=/home/cephuser/ceph.key,_netdev,noatime    0   0

Enregistrez le fichier et quittez vim.

Montez tous les disques à partir du fstab avec la commande mount -a, puis répertoriez tous les disques disponibles.

sudo mount -a
sudo df -hT

Enfin, redémarrez le système et vérifiez les disques disponibles pour vous assurer que la configuration est sécurisée pour le redémarrage.

reboot
sudo df -hT

Vous verrez que CephFS a été monté automatiquement avec fstab.


Cent OS
  1. Comment installer Node.js et NPM sur CentOS 7

  2. Comment installer node.js sur RHEL 8 / CentOS 8 Linux

  3. Comment monter/démonter une image ISO sur CentOS 8/Rhel 8 Linux

  4. Comment installer Node.js et NPM sur CentOS

  5. Comment installer SSHFS sur CentOS/RHEL/Ubuntu

Comment utiliser tmpfs sur RHEL/CentOS 7

Comment installer Chef Workstation/Server/Node sur CentOS 7

Comment installer Node.js sur CentOS 7 / RHEL 7

Comment installer Node.js sur CentOS 8

Comment installer Node.js sur CentOS 7

Comment installer Node.js sur CentOS Stream 9