Agregar, de forma manual (desde el shell de comandos), un nuevo monitor al servicio Ceph de almacenamiento compartido en un clúster de virtualización Proxmox VE. Eliminar un monitor Ceph de forma manual.
- Agregar un monitor de Ceph de forma manual en clúster Proxmox VE.
- Eliminar un monitor de Ceph de forma manual.
Agregar un monitor de Ceph de forma manual en clúster Proxmox VE
Cuando disponemos de un nodo monitor del servicio de almacenamiento compartido hiperconvergente Ceph en nuestro clúster Proxmox VE en estado detenido (stopped), bien porque no funciona correctamente o bien porque queremos eliminarlo como monitor, si intentamos eliminarlo desde la consola web de Proxmox (seleccionándolo y pulsando en «Destroy») y nos da algún error:

Podemos realizar su eliminación de forma manual, como indicamos en esta sección de este tutorial, y podemos agregarlo (si es lo que necesitamos) nuevamente también de forma manual, como indicamos a continuación.
En primer lugar, obtendremos los datos de los monitores actuales en Ceph. Para ello, desde una consola de shell (abriéndola desde el botón «Shell» de la consola de gestión web de Proxmox VE o bien conectándonos a algún nodo del clúster Proxmox VE por SSH), introduciremos el comando:
1 |
ceph mon dump |
Nos mostrará la información básica del clúster Ceph actual. Por ejemplo:
1 2 3 4 5 6 7 8 9 |
epoch 6 fsid 878fda0c-1988-4695-9788-ba4e801ef432 last_changed 2025-05-06T19:56:15.750995+0200 created 2025-04-22T22:35:27.689085+0200 min_mon_release 18 (reef) election_strategy: 1 0: [v2:192.168.1.102:3300/0,v1:192.168.1.102:6789/0] mon.proxmox 1: [v2:192.168.1.59:3300/0,v1:192.168.1.59:6789/0] mon.proxmox2 dumped monmap epoch 6 |
Anotaremos el puerto establecido para los monitores actuales, en este caso el puerto 3300, que será el que indiquemos más adelante para agregar el nuevo monitor.

Desde el nodo que queremos añadir como monitor Ceph, podemos acceder a él desde otro nodo, introduciendo el comando:
ssh 192.168.1.109
Donde sustituiremos 192.168.1.109 por la IP de nuestro nodo a añadir como monitor de Ceph. Para este ejemplo el nodo que queremos añadir tiene estos datos:
- Nombre/ID: proxmox3.
- IP: 192.168.1.109.
A partir de ahora, usaremos estos datos para los comandos que ejecutaremos a continuación. Como es lógico, en vuestro entorno cambiaréis el nombre y la IP por el que corresponda.
Desde el shell del nodo a añadir como monitor, crearemos la carpeta donde se almacenarán los datos del nodo para el clúster Ceph, con el comando:
1 |
mkdir /var/lib/ceph/mon/ceph-proxmox3 |
Generaremos el fichero monkeyring (creará un fichero en /tmp, con el nombre pm3_key, se puede cambiar la carpeta y el nombre del fichero), con el comando:
1 |
ceph auth get mon. -o /tmp/pm3_key |
Crearemos el monmap del monitor (igual que el fichero anterior, en la carpeta /tmp, con el nombe pm3_map, que se puede modificar por otra carpeta y otro nombre):
1 |
ceph mon getmap -o /tmp/pm3_map |
Inicializaremos el monitor, con el comando (pasándole la ruta de los dos ficheros anteriores):
1 |
ceph-mon -i proxmox3 --mkfs --monmap /tmp/pm3_map --keyring /tmp/pm3_key |
Y, por último, estableceremos la IP del direccionamiento público del clúster Ceph para el nuevo monitor, así como el puerto (el obtenido anteriormente, en este caso el 3300):
1 |
ceph-mon -i proxmox3 --public-addr 192.168.1.109:3300 |

A partir de ahora tendremos disponible este nuevo nodo monitor de Ceph, que podemos consultar con el comando:
1 |
ceph -s |
Que nos devolverá:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
cluster: id: 878fda0c-1988-4695-9788-ba4e801ef432 health: HEALTH_OK services: mon: 3 daemons, quorum proxmox,proxmox2,proxmox3 (age 44m) mgr: proxmox(active, since 97m), standbys: proxmox2, proxmox3 osd: 12 osds: 12 up (since 84m), 12 in (since 2d) data: pools: 2 pools, 33 pgs objects: 81.93k objects, 317 GiB usage: 909 GiB used, 10 TiB / 11 TiB avail pgs: 33 active+clean io: client: 0 B/s rd, 12 KiB/s wr, 0 op/s rd, 1 op/s wr |

También con el comando:
1 |
ceph mon dump |
Que nos devolverá:
1 2 3 4 5 6 7 8 9 10 |
epoch 7 fsid 878fda0c-1988-4695-9788-ba4e801ef432 last_changed 2025-05-06T20:04:32.327090+0200 created 2025-04-22T22:35:27.689085+0200 min_mon_release 18 (reef) election_strategy: 1 0: [v2:192.168.1.102:3300/0,v1:192.168.1.102:6789/0] mon.proxmox 1: [v2:192.168.1.59:3300/0,v1:192.168.1.59:6789/0] mon.proxmox2 2: v2:192.168.1.109:3300/0 mon.proxmox3 dumped monmap epoch 7 |

Y, por supuesto, también podremos consultarlo desde la consola web de Proxmox VE:

Eliminar un monitor de Ceph de forma manual
Cuando no nos funciona la eliminación desde la consola web de Promox VE, podremos eliminar un monitor de forma manual, desde la línea de comandos, como indicamos a continuación.
Para eliminar un monitor Ceph de forma manual, desde una ventana de shell (pulsando en el botón «Shell» del nodo desde la web de gestión de Proxmox VE o bien accediendo por SSH al nodo que queremos eliminar de monitor de Ceph), ejecutaremos el siguiente comando (en este caso, el nodo a eliminar tiene de ID proxmox 3):
1 |
ceph mon remove proxmox3 |
En caso de no funcionar el comando anterior, como nos ha ocurrido en este ejemplo, que nos indica que el monitor no existe (ya ha sido eliminado):
mon.proxmox3 does not exist or has already been removed

Podemos intentarlo con:
1 |
ceph mon destroy proxmox3 --force |
Si el comando anterior tampoco elimina el monitor completamente podremos forzar su eliminación, siguiendo los siguientes pasos. En primer lugar, editaremos el fichero /etc/ceph/ceph.conf y nos aseguraremos de borrar cualquier referencia al monitor que queramos eliminar:
1 |
nano /etc/ceph/ceph.conf |
Eliminaremos la IP en «mon_host» y, también, todas las líneas siguientes:
[mon.proxmox3]
public_addr = 192.168.1.109
Guardaremos los cambios pulsando en Control + O y cerraremos la edición pulsando en Control + X.

Realizaremos el proceso anterior para todos los nodos del clúster.
Por otro lado, ejecutaremos (en el nodo con el monitor a eliminar) los siguientes comandos:
1 2 3 4 5 |
systemctl stop ceph-mon@proxmox3 systemctl disable ceph-mon@proxmox3 systemctl daemon-reload systemctl reset-failed pveceph mon destroy proxmox3 |
El monitor habrá desaparecido del clúster Ceph:

Si intentamos agregarlo nuevamente, pulsando en «Create»:

Eligiendo el nodo:

Y nos vuelve a mostrar un mensaje como este:
monitor address ‘192.168.1.109’ already in use (500).

Podremos agregarlo de forma manual como indicamos en esta sección de este tutorial.