Cinder: Gestión de Almacenamiento en OpenStack
Resumen de una línea
Componente OpenStack que gestiona volúmenes en bloques: almacenamiento persistente adjuntable a instancias, snapshots, backups, tipos de almacenamiento.
Definición
Cinder = Servicio de almacenamiento en bloques OpenStack. Proporciona volúmenes persistentes que pueden adjuntarse a instancias como discos adicionales.
Diferencia clave:
- Disco raíz (ephemeral): Destruido al eliminar instancia
- Volumen (Cinder): Persistente, separado de instancia
Conceptos Clave
Volumen vs Disco Raíz
Disco Raíz (Ephemeral):
- Incluido en flavor
- Limitado por tamaño flavor
- Se pierde al eliminar instancia
- Rápido (local)
Volumen (Cinder):
- Separado e independiente
- Tamaño configurable (1 GB - TB)
- Persiste al eliminar instancia
- Adjuntable a múltiples instancias
- Respaldado por almacenamiento SAN/NAS
Ciclo de Vida Volumen
Crear volumen
↓
Creating (creando)
↓
Available (disponible, sin adjuntar)
↓ (Adjuntar a instancia)
In-use (adjunto a instancia)
↓ (Desadjuntar)
Available (nuevamente disponible)
↓
Delete
Tipos de Almacenamiento
Storage Types (depende de implementación):
SSD:
- Alto rendimiento
- Latencia baja
- Costos altos
- Ideal: bases de datos
HDD (SATA):
- Bajo costo
- Mayor latencia
- Gran capacidad
- Ideal: almacenamiento general
NFS/Ceph:
- Red-based
- Escalable
- Compartible
- Backup fácilAdjunción de Volúmenes
Modelo:
Instancia (Nova)
↓
Interface de red (Neutron)
↓
Volumen (Cinder)
↓
Almacenamiento backend
Dentro SO:
# El volumen aparece como dispositivo
# En Linux típicamente /dev/vdb, /dev/vdc, etc
# Ver dispositivos
lsblk
# Crear partición (si es nuevo volumen)
fdisk /dev/vdb
# Crear filesystem
mkfs.ext4 /dev/vdb1
# Montar
mkdir /mnt/datos
mount /dev/vdb1 /mnt/datos
# Hacer permanente (añadir a /etc/fstab)
/dev/vdb1 /mnt/datos ext4 defaults 0 0Instancia vs Volumen
Instalación en volumen:
Ventajas:
- Sistema operativo en volumen persistente
- Rápido cambio de instancia
- Mejor para aplicaciones stateful
- Facilita migración
Desventajas:
- Más lento que disco raíz (red)
- Múltiples instancias pueden compartir volumen
- Requiere cuidado con consistency
Snapshots de Volumen
Captura punto-en-tiempo del volumen:
Snapshot = Copia del estado
Crear snapshot:
1. Volumen en producción puede seguir usándose
2. Captura incremental
3. Almacenado en backend
Usar snapshot:
1. Crear nuevo volumen a partir de snapshot
2. Clonación rápida
3. Recuperación ante corrupción
Beneficios:
- Backup incremental
- Clonación eficiente
- Bajo overhead
Gestión con OpenStack Client (OSC)
# Listar volúmenes
openstack volume list
# Crear volumen
openstack volume create --size 10 "mi-volumen"
# Crear volumen a partir de snapshot
openstack volume create --snapshot [snapshot-id] "volumen-clon"
# Adjuntar volumen a instancia
openstack server add volume [instancia] [volumen]
# Desadjuntar
openstack server remove volume [instancia] [volumen]
# Crear snapshot
openstack volume snapshot create --volume [volumen] "snapshot-1"
# Listar snapshots
openstack volume snapshot list
# Eliminar volumen
openstack volume delete [volumen]
# Mostrar detalles
openstack volume show [volumen]Operaciones en Volumen
Expansión:
Expandir volumen:
1. Parar instancia (algunos backends)
2. Extender volumen
3. Dentro SO: redimensionar filesystem
Migración:
Mover volumen entre backends:
1. Migración no-destructiva
2. Mantiene datos
3. Puede requerir pausa
Casos de Uso
🟢 Datos persistentes entre instancias
🟢 Bases de datos (MySQL, PostgreSQL, MongoDB)
🟢 Almacenamiento compartido NFS
🟢 Backups y snapshots
🟢 Sistemas de archivos grandes
🟢 Aplicaciones stateful
Workflow Típico
1. Crear volumen (Cinder)
2. Adjuntar a instancia (Nova)
3. Dentro de instancia:
- Particionar (fdisk)
- Crear filesystem (mkfs)
- Montar (mount)
- Usar como directorio
4. Crear snapshots periódicamente
5. Si necesitas clon: crear volumen desde snapshot
6. Desadjuntar cuando no uses
Relaciones
Conecta con
- Introducción a OpenStack — Almacenamiento persistent
- Nova: Gestión de Instancias en OpenStack — Adjunción de volúmenes
- Proxmox VE: Plataforma de Virtualización — Thin provisioning similar
Parte de
- OpenStack Stack
- Cloud Computing IaaS