Dispositivo de bloques

Cambiar tamaño

Una de las tareas que podemos hacer es cambiarle el tamaño al dispositivo de bloques, solicitándole a Ceph que le asigne más espacio.

Primero, verificamos el tamaño actual:

# rbd info --image client1-rbd1
rbd image 'client1-rbd1':
     size 256 MB in 64 objects
     order 22 (4096 kB objects)
     block_name_prefix: rb.0.1459.74b0dc51
     format: 1

Para esta tarea conviene desmontar el dispositivo:

# umount /dev/rbd1

Cambiamos el tamaño con resize:

# rbd resize --image client1-rbd1 --size 512
Resizing image: 100% complete...done.

Verificamos el tamaño nuevo:

# rbd info --image client1-rbd1
rbd image 'client1-rbd1':
     size 512 MB in 128 objects
     order 22 (4096 kB objects)
     block_name_prefix: rb.0.1459.74b0dc51
     format: 1

Una vez aumentado el tamaño del disco, debemos ajustar el sistema de archivos (formato), como dimos formato con ext2 debemos correr los siguientes comandos (si el formato es con otra estructura, por ejemplo, ext4, xfs, etc. los comandos pueden ser otros):

# e2fsck -f /dev/rbd1
e2fsck 1.42.9 (4-Feb-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/rbd1: 12/32768 files (0.0% non-contiguous), 2162/131072 blocks
# resize2fs /dev/rbd1
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/rbd1 to 182272 (4k) blocks.
The filesystem on /dev/rbd1 is now 182272 blocks long.

Una vez actualizado el sistema de archivos, ya podemos volver a montar el dispositivo:

# mount /dev/rbd1 /mnt/ceph-vol1

Y verificar el espacio actual:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd1       496M  4.7M  466M   1% /mnt/ceph-vol1

Si cuando creamos y montamos el disco, le colocamos archivos dentro, podemos verificar que nuestros datos no han sufrido daños, mientras que el espacio libre ha aumentado.