--- title: "Cómo instalar un cluster Ceph con cephadm en Ubuntu 24.04" description: "Despliega un cluster Ceph de tres nodos con cephadm en Ubuntu 24.04, crea los OSD y ofrece almacenamiento de bloques RBD y un sistema de archivos CephFS." category: "Almacenamiento y Copia de Seguridad Avanzada" language: es source: https://cubepath.com/es/docs/almacenamiento-y-copia-de-seguridad-avanzada/instalacion-del-cluster-de-almacenamiento-ceph updated: 2026-09-25 --- # Cómo instalar un cluster Ceph con cephadm en Ubuntu 24.04 Ceph es un sistema de almacenamiento distribuido que reparte y replica los datos entre varios servidores, de modo que el cluster sigue funcionando aunque falle un disco o un nodo completo. Un mismo cluster ofrece almacenamiento de bloques (RBD), un sistema de archivos compartido (CephFS) y almacenamiento de objetos compatible con S3 (RGW). En este tutorial desplegarás un cluster de tres nodos en Ubuntu 24.04 con `cephadm`, la herramienta oficial de despliegue, crearás los OSD y probarás un volumen RBD y un montaje de CephFS. ## Requisitos previos - Tres servidores con Ubuntu 24.04 LTS (por ejemplo, servidores dedicados o VPS de CubePath) en la misma red privada. En esta guía se llaman `ceph1`, `ceph2` y `ceph3`, con las IP `10.0.0.11`, `10.0.0.12` y `10.0.0.13`. - En cada servidor, al menos 4 GB de RAM (Ceph recomienda unos 4 GB por OSD en producción) y un disco adicional vacío, sin particiones ni sistema de archivos, que se convertirá en OSD. En los ejemplos es `/dev/vdb`. - Acceso root por SSH desde `ceph1` hacia `ceph2` y `ceph3` (cephadm administra los nodos como root) y un usuario con `sudo` en `ceph1`. - Relojes sincronizados. Ubuntu 24.04 usa `systemd-timesyncd` por defecto; en esta guía se instala `chrony`. > Advertencia: cephadm borra y reutiliza los discos que detecta como disponibles. Asegúrate de que los discos adicionales no contienen datos que necesites. ## Paso 1: Preparar los tres nodos Ejecuta este paso en **los tres servidores**. Primero, añade los nombres de los nodos a `/etc/hosts` para que se resuelvan entre sí: ```bash sudo nano /etc/hosts ``` ```text 10.0.0.11 ceph1 10.0.0.12 ceph2 10.0.0.13 ceph3 ``` Cada nodo debe tener como nombre de host el nombre corto que usarás en Ceph. Por ejemplo, en el primer servidor: ```bash sudo hostnamectl set-hostname ceph1 ``` Instala el motor de contenedores (cephadm ejecuta cada servicio de Ceph en un contenedor), LVM, que usan los OSD, y chrony para la hora: ```bash sudo apt update sudo apt install podman lvm2 chrony ``` Comprueba que el disco adicional aparece sin particiones: ```bash lsblk ``` ```output NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 253:0 0 40G 0 disk ├─vda1 253:1 0 39G 0 part / ... vdb 253:16 0 100G 0 disk ``` Si el cluster usa UFW, permite todo el tráfico entre los nodos por la red privada. Ceph utiliza los puertos 3300 y 6789 para los monitores y el rango 6800-7300 para los OSD, además del 8443 del panel: ```bash sudo ufw allow from 10.0.0.0/24 ``` ## Paso 2: Instalar cephadm e inicializar el cluster Ejecuta los pasos 2 a 5 solo en `ceph1`. Ubuntu 24.04 incluye `cephadm` y las herramientas cliente de Ceph Squid (19.2) en sus repositorios: ```bash sudo apt install cephadm ceph-common ``` Inicializa el cluster indicando la IP del primer monitor. `bootstrap` crea el primer monitor y el primer manager, genera la configuración en `/etc/ceph` y activa el panel web: ```bash sudo cephadm bootstrap --mon-ip 10.0.0.11 ``` Al terminar, la salida muestra la URL y las credenciales iniciales del panel. Guárdalas: ```output Ceph Dashboard is now available at: URL: https://ceph1:8443/ User: admin Password: 8xk2m9qz1w ... Bootstrap complete. ``` Comprueba el estado del cluster: ```bash sudo ceph -s ``` ```output cluster: id: 5c7d1a2e-... health: HEALTH_WARN OSD count 0 < osd_pool_default_size 3 services: mon: 1 daemons, quorum ceph1 (age 2m) mgr: ceph1.abcdef(active, since 1m) osd: 0 osds: 0 up, 0 in ``` El aviso de salud es normal: todavía no hay OSD. ## Paso 3: Añadir los otros dos nodos cephadm se conecta a los demás nodos por SSH con su propia clave. Copia la clave pública del cluster al usuario root de `ceph2` y `ceph3`: ```bash sudo ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph2 sudo ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph3 ``` Añade los nodos al cluster. La etiqueta `_admin` hace que cephadm copie también la configuración y el keyring de administración, para poder usar el comando `ceph` desde cualquiera de ellos: ```bash sudo ceph orch host add ceph2 10.0.0.12 --labels _admin sudo ceph orch host add ceph3 10.0.0.13 --labels _admin ``` Comprueba la lista de nodos: ```bash sudo ceph orch host ls ``` ```output HOST ADDR LABELS STATUS ceph1 10.0.0.11 _admin ceph2 10.0.0.12 _admin ceph3 10.0.0.13 _admin 3 hosts in cluster ``` Fija un monitor y un manager en cada nodo. Con tres monitores el cluster mantiene el quórum aunque caiga uno: ```bash sudo ceph orch apply mon --placement="ceph1,ceph2,ceph3" sudo ceph orch apply mgr --placement="ceph1,ceph2,ceph3" ``` Tras uno o dos minutos, `sudo ceph -s` debe mostrar `mon: 3 daemons, quorum ceph1,ceph2,ceph3`. ## Paso 4: Crear los OSD Cada OSD es un proceso que gestiona un disco. Lista los discos que cephadm considera utilizables: ```bash sudo ceph orch device ls ``` ```output HOST PATH TYPE DEVICE ID SIZE AVAILABLE REFRESHED REJECT REASONS ceph1 /dev/vdb hdd 100G Yes 1m ago ceph2 /dev/vdb hdd 100G Yes 1m ago ceph3 /dev/vdb hdd 100G Yes 1m ago ``` Crea un OSD en cada disco disponible. Esta orden también convertirá en OSD los discos vacíos que añadas más adelante: ```bash sudo ceph orch apply osd --all-available-devices ``` Si prefieres elegir los discos uno a uno, usa `sudo ceph orch daemon add osd ceph1:/dev/vdb` para cada nodo en lugar de la orden anterior. Espera unos minutos y comprueba el árbol de OSD: ```bash sudo ceph osd tree ``` ```output ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.29306 root default -3 0.09769 host ceph1 0 hdd 0.09769 osd.0 up 1.00000 1.00000 -5 0.09769 host ceph2 1 hdd 0.09769 osd.1 up 1.00000 1.00000 -7 0.09769 host ceph3 2 hdd 0.09769 osd.2 up 1.00000 1.00000 ``` Con los tres OSD en estado `up`, el cluster debe pasar a `HEALTH_OK`: ```bash sudo ceph health ``` ```output HEALTH_OK ``` Por defecto, cada pool guarda tres copias de los datos, una en cada nodo, así que puedes perder un nodo completo sin perder datos. ## Paso 5: Crear un volumen de bloques RBD RBD ofrece discos virtuales que se usan como un disco local. Crea un pool para ellos e inicialízalo: ```bash sudo ceph osd pool create rbd sudo rbd pool init rbd ``` Crea una imagen de 10 GB, mapéala como dispositivo de bloques en `ceph1`, formatéala y móntala: ```bash sudo rbd create --size 10G rbd/disco1 sudo rbd map rbd/disco1 ``` ```output /dev/rbd0 ``` ```bash sudo mkfs.ext4 /dev/rbd0 sudo mkdir -p /mnt/rbd sudo mount /dev/rbd0 /mnt/rbd df -h /mnt/rbd ``` ```output Filesystem Size Used Avail Use% Mounted on /dev/rbd0 9.8G 24K 9.3G 1% /mnt/rbd ``` Cuando termines la prueba, desmonta y libera el dispositivo: ```bash sudo umount /mnt/rbd sudo rbd unmap /dev/rbd0 ``` > Nota: una imagen RBD con ext4 solo debe montarse en un servidor a la vez. Para compartir archivos entre varios servidores usa CephFS. ## Paso 6: Crear y montar un sistema de archivos CephFS `ceph fs volume create` crea los pools de datos y metadatos y despliega los servidores de metadatos (MDS) necesarios: ```bash sudo ceph fs volume create cephfs ``` Comprueba que el sistema de archivos tiene un MDS activo: ```bash sudo ceph fs status cephfs ``` ```output cephfs - 0 clients ====== RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS 0 active cephfs.ceph2.xyzabc Reqs: 0 /s 10 13 12 0 ... ``` No uses la cuenta `admin` para montar. Crea un usuario de Ceph con acceso de lectura y escritura solo a este sistema de archivos y guarda su keyring: ```bash sudo ceph fs authorize cephfs client.fsuser / rw | sudo tee /etc/ceph/ceph.client.fsuser.keyring sudo chmod 600 /etc/ceph/ceph.client.fsuser.keyring ``` Monta CephFS con el cliente del kernel. El comando `mount.ceph` (paquete `ceph-common`) lee la dirección de los monitores de `/etc/ceph/ceph.conf` y la clave del keyring: ```bash sudo mkdir -p /mnt/cephfs sudo mount -t ceph fsuser@.cephfs=/ /mnt/cephfs df -h /mnt/cephfs ``` ```output Filesystem Size Used Avail Use% Mounted on fsuser@5c7d1a2e-....cephfs=/ 94G 0 94G 0% /mnt/cephfs ``` Para montarlo en otro servidor, instala allí `ceph-common`, copia `/etc/ceph/ceph.conf` y el keyring de `client.fsuser` a su `/etc/ceph/` y repite el comando. Para montarlo en el arranque, añade esta línea a `/etc/fstab`: ```text fsuser@.cephfs=/ /mnt/cephfs ceph _netdev,noatime 0 0 ``` ## Paso 7: Acceder al panel de Ceph El panel web permite ver la salud del cluster, los OSD y los pools. Consulta en qué nodo está el manager activo: ```bash sudo ceph mgr services ``` ```output { "dashboard": "https://10.0.0.11:8443/" } ``` Como el puerto 8443 solo está abierto a la red privada, accede mediante un túnel SSH desde tu equipo: ```bash ssh -L 8443:10.0.0.11:8443 your_user@your_server_ip ``` Abre `https://localhost:8443` e inicia sesión con el usuario `admin` y la contraseña mostrada en el paso 2. El panel te pedirá cambiarla en el primer acceso. El certificado es autofirmado, así que el navegador mostrará un aviso. ## Solución de problemas - **`ceph orch device ls` muestra `AVAILABLE No`**: el disco tiene particiones, una firma de sistema de archivos o volúmenes LVM. Si puedes borrarlo, ejecuta `sudo ceph orch device zap ceph1 /dev/vdb --force` y vuelve a listar. - **`HEALTH_WARN clock skew detected`**: los relojes de los nodos difieren. Comprueba `chronyc tracking` en cada nodo y que `chrony` está activo. - **`ceph orch host add` falla con un error de SSH**: root del nodo destino no acepta la clave. Comprueba que `/root/.ssh/authorized_keys` contiene la clave de `/etc/ceph/ceph.pub` y que `PermitRootLogin` en `/etc/ssh/sshd_config` no está en `no` (`prohibit-password` es suficiente). Después ejecuta `sudo ceph cephadm check-host ceph2`. - **Para ver los registros de un servicio concreto**, usa `sudo cephadm logs --name osd.0` en el nodo que lo ejecuta. ## Conclusión Tienes un cluster Ceph de tres nodos con tres monitores, tres OSD y replicación triple, que ofrece discos RBD y un sistema de archivos CephFS compartido. Como siguientes pasos puedes desplegar un Object Gateway con `ceph orch apply rgw` para tener almacenamiento S3, usar RBD como almacenamiento de Proxmox o Kubernetes (Ceph CSI), y separar el tráfico de replicación en una red de cluster dedicada.