diff --git a/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.en-gb.md b/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.en-gb.md index 87d83841b85..a00a2bb517b 100644 --- a/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.en-gb.md +++ b/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.en-gb.md @@ -6,110 +6,164 @@ updated: 2022-06-22 ## Objective -There are different ways to use your Ceph cluster. We'll describe how to map your cluster using **rbd client**. +This guide explains how to access your **OVHcloud Ceph cluster** from a machine configured as an **RBD client**. It describes how to prepare your environment, configure network access, and connect securely to your **Cloud Disk Array**. ## Requirements -You must first ensure that you have done those steps : +Before proceeding: -- [Create a pool](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_a_pool) -- [Create a user](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_a_user) -- [Add rights to a user on a pool](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_change_user_rights) -- [Add an IP ACL](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_an_ip_acl) to allow your server to contact the cluster +- A [Cloud Disk Array](/links/storage/cloud-disk-array) solution +- Your client machine’s public or private IP is allowed in the Access Control List (ACL){} of your Ceph cluster. See our guide [Cloud Disk Array - IP ACL creation](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_an_ip_acl) +- You have the following credentials (available in the OVHcloud Control Panel): + - Cluster monitor IPs + - Ceph username (`client.`) + - Secret key (keyring content) -## Ceph installation -For **deb based** distributions: +## Instructions + +### Installing Ceph on the Client Machine + +For **Debian/Ubuntu** distributions: ```bash -ubuntu@server:~$ sudo apt-get -y install ceph ceph-common -[...] -Setting up ceph-common (10.2.0-0ubuntu0.16.04.2) ... -Setting up ceph (10.2.0-0ubuntu0.16.04.2) ... +sudo apt-get update +sudo apt-get -y install ceph ceph-common ``` -For **rpm based** distributions: +For **RHEL/CentOS** distributions: ```bash -[centos@server ~]$ sudo yum install -y ceph-common -[...] -Installed: -ceph-common.x86_64 1:0.80.7-3.el7 +sudo yum install -y ceph-common ``` -## Ceph configuration -Create file `/etc/ceph/ceph.conf` +### Retrieve Connection Details + +Access the [OVHcloud Control Panel](/links/manager) and navigate to your **Cloud Disk Array service**. + +Overview: + +- Locate the monitor IPs for your Ceph cluster. + +Users: + +- Find the Ceph username and key required for authentication. + +> [!primary] +> +> **Note:** If no users exist yet, follow these guides: +> +> - [Cloud Disk Array - User creation](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_a_user) +> - [Change user rights](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_change_user_rights) +> + +### Configure the Client + +Create or edit the file `/etc/ceph/ceph.conf` with the following content: -```ini +```bash [global] -mon_host = ,, +mon_host = :6789, :6789, :6789 ``` -Create the file `/etc/ceph/ceph.client..keyring` +> [!primary] +> +> **Note:** The default Ceph monitor port is :6789 (Messenger v1). Some clusters may also expose :3300 for Messenger v2. +> + +Create a keyring file for your Ceph user at `/etc/ceph/ceph.client..keyring`: -```ini -[client.] -key = +```bash +[client.] +key = ``` -`` has to be replaced by monitors IP you can find on the [Cloud Disk Array manager](https://ca.ovh.com/manager/). Under 'Platforms and services' select your Ceph cluster. +Ensure the keyring file has restricted permissions for security: -`` has to be replaced by the users's key you can find on your Cloud Disk Array manager. +```bash +sudo chmod 600 /etc/ceph/ceph.client..keyring +``` -## Configuration check -You can check the configuration by listing the images inside your pool. +### Test the Connection and Configuration + +Verify that the client can successfully connect to the Ceph cluster: ```bash -ubuntu@server:~$ rbd -n client.myuser list mypool +ceph -s --id ``` -In this case, the result is empty because we have not have created an image yet. If you have an error, please double check your configuration. +If the configuration is correct, the command returns the current cluster status. -## Image creation -You can't directly mount a pool, you have to **mount an image** that exists on the pool. +To further validate the setup, list the images available in your pool: ```bash -ubuntu@server:~$ rbd -n client.myuser create mypool/myimage -s $((10*1024*1024)) --image-format 2 --image-feature layering -ubuntu@server:~$ rbd -n client.myuser list mypool -myimage +rbd -n client. list ``` -We make sure that the image was created correctly by listing the pool content. +An empty result indicates that no images have been created yet. If an error occurs, review the configuration files and credentials to ensure they are correct. + +### Create, Map, and Mount an RBD Volume -## Map the image +A Ceph pool cannot be mounted directly. You must first create an RBD image within the pool and then map it to a block device. + +Create an RBD image: ```bash -ubuntu@server:~$ sudo rbd -n client.myuser map mypool/myimage -/dev/rbd0 +rbd -n client. create / \ + -s \ + --image-format 2 \ + --image-feature layering ``` -My rbd image is not mapped to /dev/rbd0, it's a block storage. Therefore we have to **setup a filesystem**. +Verify image creation: -## Setup the filesystem +```bash +rbd -n client. list +``` + +Map the image to a Block Device + +```bash +sudo rbd -n client. map / +``` + +Verify the mapping + +```bash +rbd showmapped +``` + +Format the Block Device (XFS Example) ```bash -ubuntu@server:~$ sudo mkfs.xfs /dev/rbd0 -meta-data=/dev/rbd0 isize=512 agcount=33, agsize=83885056 blks - = sectsz=512 attr=2, projid32bit=1 - = crc=1 finobt=1, sparse=0 -data = bsize=4096 blocks=2684354560, imaxpct=5 - = sunit=1024 swidth=1024 blks -naming =version 2 bsize=4096 ascii-ci=0 ftype=1 -log =internal log bsize=4096 blocks=521728, version=2 - = sectsz=512 sunit=8 blks, lazy-count=1 -realtime =none extsz=4096 blocks=0, rtextents=0 +sudo mkfs.xfs /dev/rbd0 ``` -## Mount the filesystem +Mount the Filesystem ```bash -ubuntu@server:~$ sudo mkdir /mnt/rbd -ubuntu@server:~$ sudo mount /dev/rbd0 /mnt/rbd -ubuntu@server:~$ df -h /mnt/rbd -Filesystem Size Used Avail Use% Mounted on -/dev/rbd0 10T 34M 10T 1% /mnt/rbd +sudo mkdir -p /mnt/ +sudo mount /dev/rbd0 /mnt/ +df -h /mnt/ ``` -You can now use your Ceph cluster! +You can now start using your Ceph block storage. + +### Unmount and Unmap the RBD Volume + +Before detaching an RBD image, ensure the filesystem is properly unmounted: + +```bash +sudo umount /mnt/ +sudo rbd unmap /dev/rbd0 +``` + +The RBD image is now safely detached from the client. + +### Notes and Best Practices + +- Always use the monitor IP addresses provided in the OVHcloud Control Panel. +- Avoid storing sensitive information in plain-text configuration files. +- For Kubernetes environments, use the **CSI RBD driver** with the same configuration and credentials. ## Go further diff --git a/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.fr-fr.md b/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.fr-fr.md index 0045123647d..30f8bb86afc 100644 --- a/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.fr-fr.md +++ b/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_use_your_cluster_with_rbd/guide.fr-fr.md @@ -6,120 +6,164 @@ updated: 2022-06-22 ## Objectif -Il existe différentes façons d'utiliser votre grappe Ceph. Nous allons décrire comment cartographier votre cluster en utilisant **rbd client**. +Ce guide explique comment accéder à votre **cluster Ceph OVHcloud** depuis une machine configurée en tant que **client RBD**. Il décrit comment préparer votre environnement, configurer l'accès réseau et vous connecter en toute sécurité à votre **Cloud Disk Array**. ## Prérequis -Vous devez d'abord vous assurer que vous avez bien effectué ces démarches : +Avant de poursuivre : -- [Créer un pool](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_a_pool) -- [Créer-un-utilisateur](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_a_user) -- [Ajouter des droits à un utilisateur sur un pool](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_change_user_rights) -- [Ajouter un IP ACL](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_an_ip_acl) pour permettre à votre serveur de contacter le cluster +- Une solution [Cloud Disk Array](/links/storage/cloud-disk-array) +- L'adresse IP publique ou privée de votre machine cliente est autorisée dans la liste de contrôle d'accès (ACL) {} de votre cluster Ceph. Consultez notre guide [Cloud Disk Array - Comment créer une ACL IP](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_an_ip_acl) +- Vous disposez des informations d'identification suivantes (disponibles dans l'espace client OVHcloud) : + - Adresses IP du moniteur de cluster + - Nom d'utilisateur Ceph (`client.`) + - Clé secrète (contenu du trousseau de clés) ## En pratique -### Installation Ceph +### Installation de Ceph sur la machine cliente -Pour les distributions **Debian**: +Pour les distributions **Debian/Ubuntu** : ```bash -ubuntu@server:~$ sudo apt-get -y install ceph ceph-common -[...] -Setting up ceph-common (10.2.0-0ubuntu0.16.04.2) ... -Setting up ceph (10.2.0-0ubuntu0.16.04.2) ... +sudo apt-get update +sudo apt-get -y install ceph ceph-common ``` -Pour les distributions **rpm** : +Pour les distributions **RHEL/CentOS** : ```bash -[centos@server ~]$ sudo yum install -y ceph-common -[...] -Installed: -ceph-common.x86_64 1:0.80.7-3.el7 +sudo yum install -y ceph-common ``` -### Configuration Ceph +### Récupérer les détails de connexion -Créer un fichier: `/etc/ceph/ceph.conf` +Accédez au l'[espace client OVHcloud](/links/manager) et naviguez jusqu'à votre **service Cloud Disk Array**. -```ini +Présentation : + +- Localisez les adresses IP des moniteurs de votre cluster Ceph. + +Utilisateurs : + +- Trouvez le nom d'utilisateur et la clé Ceph requis pour l'authentification. + +> [!primary] +> +> **Remarque :** si aucun utilisateur n'existe encore, suivez ces guides : +> +> - [Cloud Disk Array - Comment créer des utilisateurs](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_create_a_user) +> - [Modifier les droits des utilisateurs](/pages/storage_and_backup/block_storage/cloud_disk_array/ceph_change_user_rights) +> + +### Configurer le client + +Créez ou modifiez le fichier `/etc/ceph/ceph.conf` avec le contenu suivant : + +```bash [global] -mon_host = ,, +mon_host = :6789, :6789, :6789 ``` -Créer le fichier `/etc/ceph/ceph.client..keyring` +> [!primary] +> +> **Remarque :** le port par défaut du moniteur Ceph est :6789 (Messenger v1). Certains clusters peuvent également exposer :3300 pour Messenger v2. +> -```ini -[client.] -key = +Créez un fichier de clés pour votre utilisateur Ceph à l'emplacement `/etc/ceph/ceph.client..keyring` : + +```bash +[client.] +key = +``` + +Assurez-vous que le fichier de clés dispose de permissions restreintes pour des raisons de sécurité : + +```bash +sudo chmod 600 /etc/ceph/ceph.client..keyring ``` -`` doit être remplacé par des moniteurs IP que vous pouvez trouver sur le gestionnaire du [Cloud Disk Array](/links/manager). Sous "Plateformes et services", sélectionnez votre groupe Ceph. +### Tester la connexion et la configuration -`` doit être remplacée par la clé d'utilisateur que vous pouvez trouver sur le gestionnaire de votre Cloud Disk Array. +Vérifiez que le client peut se connecter correctement au cluster Ceph : + +```bash +ceph -s --id +``` -### Contrôle de la configuration +Si la configuration est correcte, la commande renvoie l'état actuel du cluster. -Vous pouvez vérifier la configuration en listant les images à l'intérieur de votre pool. +Pour valider davantage la configuration, répertoriez les images disponibles dans votre pool : ```bash -ubuntu@server:~$ rbd -n client.myuser list mypool +rbd -n client. list ``` -Dans ce cas, le résultat est vide car nous n'avons pas encore créé d'image. Si vous avez une erreur, veuillez vérifier votre configuration. +Un résultat vide indique qu'aucune image n'a encore été créée. Si une erreur se produit, vérifiez les fichiers de configuration et les informations d'identification pour vous assurer qu'ils sont corrects. + +### Créer, mapper et attacher un volume RBD + +Un pool Ceph ne peut pas être monté directement. Vous devez d'abord créer une image RBD dans le pool, puis la mapper à un périphérique bloc. + +Créer une image RBD : -### Création d'images +```bash +rbd -n client. create / \ + -s \ + --image-format 2 \ + --image-feature layering +``` -Vous ne pouvez pas monter directement un pool, vous devez **monter une image** qui existe sur le pool. +Vérifier la création de l'image : ```bash -ubuntu@server:~$ rbd -n client.myuser create mypool/myimage -s $((10*1024*1024)) --image-format 2 --image-feature layering -ubuntu@server:~$ rbd -n client.myuser list mypool -myimage +rbd -n client. list ``` -Nous nous assurons que l'image a été créée correctement en répertoriant le contenu du pool. +Mappez l'image à un périphérique bloc. + +```bash +sudo rbd -n client. map / +``` -### Cartographier l'image +Vérifiez le mappage. ```bash -ubuntu@server:~$ sudo rbd -n client.myuser map mypool/myimage -/dev/rbd0 +rbd showmapped ``` -Mon image rbd n'est pas mappée à /dev/rbd0, c'est un stockage en bloc. C'est pourquoi nous devons **mettre en place un système de fichiers**. +Formatez le périphérique bloc (exemple XFS). + +```bash +sudo mkfs.xfs /dev/rbd0 +``` -### Configuration du système de fichiers +Attacher le système de fichiers ```bash -ubuntu@server:~$ sudo mkfs.xfs /dev/rbd0 -meta-data=/dev/rbd0 isize=512 agcount=33, agsize=83885056 blks - = sectsz=512 attr=2, projid32bit=1 - = crc=1 finobt=1, sparse=0 -data = bsize=4096 blocks=2684354560, imaxpct=5 - = sunit=1024 swidth=1024 blks -naming =version 2 bsize=4096 ascii-ci=0 ftype=1 -log =internal log bsize=4096 blocks=521728, version=2 - = sectsz=512 sunit=8 blks, lazy-count=1 -realtime =none extsz=4096 blocks=0, rtextents=0 +sudo mkdir -p /mnt/ +sudo mount /dev/rbd0 /mnt/ +df -h /mnt/ ``` -### Monter le système de fichiers +Vous pouvez désormais commencer à utiliser votre stockage en blocs Ceph. + +### Démontez et détacher le volume RBD + +Avant de détacher une image RBD, assurez-vous que le système de fichiers est correctement démonté : ```bash -ubuntu@server:~$ sudo mkdir /mnt/rbd -ubuntu@server:~$ sudo mount /dev/rbd0 /mnt/rbd -ubuntu@server:~$ df -h /mnt/rbd -Filesystem Size Used Avail Use% Mounted on -/dev/rbd0 10T 34M 10T 1% /mnt/rbd +sudo umount /mnt/ +sudo rbd unmap /dev/rbd0 ``` -Vous pouvez maintenant utiliser votre grappe Ceph ! +L'image RBD est désormais détachée en toute sécurité du client. -## Aller plus loin +### Remarques et bonnes pratiques -Échangez avec notre [communauté d'utilisateurs](/links/community). +- Utilisez toujours les adresses IP des moniteurs fournies dans l'espace client OVHcloud. +- Évitez de stocker des informations sensibles dans des fichiers de configuration en texte clair. +- Pour les environnements Kubernetes, utilisez le **pilote CSI RBD** avec la même configuration et les mêmes identifiants. ## Aller plus loin