Archivos Mensuales: abril 2024

rbd mola… Hasta que un fichero se queda a medias

Para migrar entre clusters de Proxmox, hay una herramienta que se invoca con el prosaico comando qm remote-migrate. Lleva años siendo experimental, pero funciona bastante bien, aunque es un poco extraño usarla. Hay que crear un token para acceso a API en el destino y poner toda la huella del certificado en la línea de comandos, y que nos pille con la digestión hecha si hay algún problema colateral…

alfredo@origen:~$ qm remote-migrate 100100 100100 'apitoken=PVEAPIToken=usuario@pam!toquencillo=1234-5678-91bc-defg-hijklmnop,host=destino,fingerprint=12:34:56:etceteraetcetera:ff' --target-bridge vmbr0 --target-storage volumen
Establishing API connection with remote at 'destino'
2024-04-09 10:04:22 remote: started tunnel worker 'UPID:destino:123456:123456:123456:qmtunnel:100100:usuario@pam!toquencillo:'
tunnel: -> sending command "version" to remote
tunnel: <- got reply
2024-04-09 10:04:22 local WS tunnel version: 2
2024-04-09 10:04:22 remote WS tunnel version: 2
2024-04-09 10:04:22 minimum required WS tunnel version: 2
websocket tunnel started
2024-04-09 10:04:22 starting migration of VM 100100 to node 'destino' (destino)
2024-04-09 10:04:24 ERROR: Problem found while scanning volumes - rbd error: rbd: listing images failed: (2) No such file or directory
2024-04-09 10:04:24 aborting phase 1 - cleanup resources

Bueno, esto es descorazonador. ¿Cómo que no hay un fichero? ¿De qué fichero me habla?

Bueno, pues de uno que no tiene nada que ver.

alfredo@origen:~$ sudo rbd ls -l volumen
rbd: error opening vm-210-disk-0: (2) No such file or directory
NAME SIZE PARENT FMT PROT LOCK
base-2000-disk-0 24 GiB 2

[…]

Pues parece que hace muchas lunas, en ese volumen, hubo un disco virtual, perteneciente a una máquina largo tiempo olvidada. Y parece también que remote-migrate hace un ls, o algo, para empezar… Y parece que si eso le devuelve error, le parece molesto y decide no trabajar en ese momento.

Total. Una vez sabido, el remedio es prosaicamente:

alfredo@origen:~$ sudo rbd -p piscina rm vm-210-disk-0
Removing image: 100% complete…done.

Y listo, ya funciona todo. Solo me quedan 165 servidores virtuales por migrar. 164, si descontamos la de pruebas.