Вы находитесь на странице: 1из 8

Crear, extender y reducir volúmenes lógicos en RHEL7

por Álvaro Campos Castro

Publicado en: abril 20, 2018

En este artículo expondremos como extender, crear y reducir volúmenes lógicos de una manera sencilla, mediante ejemplos y datos
de comprobación útiles al realizar este tipo de tareas.

Uno de los puntos más significativos que debemos tener presente al extender un volumen lógico es evitar a toda costa una
interrupción o una pérdida de datos en el sistema, expondremos como realizar este procedimiento de forma sencilla y segura para
evitar lo anteriormente mencionado. Recomendamos antes de cada implementación, realizar su laboratorio de pruebas en una
máquina virtual. Como dato trascendental, debemos tener en cuenta que actualmente no es posible reducir en absoluto el tamaño de
una partición o volumen lógico con el sistema de archivos xfs . Este sistema de archivos se puede extender, mas no reducir; caso
contrario con el sistema de archivos ext4 o ext3 .

Requisitos previos

Como requisito previo para la implementación, vamos a provisionar un nuevo disco al sistema, en nuestro caso sería el disco sdb .

[root@server1 ~]# fdisk -l

Disk /dev/sdb: 2219 MB, 2219943936 bytes, 4335828 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Pasos para extender un volumen lógico

Paso 1
Verificamos el sistema de archivos, volumen de grupo y volumen lógico con los cuales vamos a trabajar, para este ejemplo seria el
volumen de grupo rhel_server1 , volumen lógico root y el sistema de archivos xfs
[root@server1 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root rhel_server1 -wi-ao---- 6.20g

swap rhel_server1 -wi-ao---- 820.00m

[root@server1 ~]# df -hT

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/rhel_server1-root xfs 6.2G 3.2G 3.1G 51% /

devtmpfs devtmpfs 482M 0 482M 0% /dev

tmpfs tmpfs 497M 144K 497M 1% /dev/shm

tmpfs tmpfs 497M 7.0M 490M 2% /run

tmpfs tmpfs 497M 0 497M 0% /sys/fs/cgroup

/dev/sda1 xfs 1014M 172M 843M 17% /boot

tmpfs tmpfs 100M 16K 100M 1% /run/user/0

Paso 2
Comprobar cuál es el espacio disponible en el volumen de grupo.

[root@server1 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

rhel_server1 1 2 0 wz--n- 7.00g 0

Como podemos observar el volumen de grupo rhel_server1 , no posee espacio disponible ( VFree 0 ).

Paso 3
Para extender o provisionar de espacio a un volumen de grupo se utilizar el comando vgextend , indicando cual volumen de grupo
vamos a extender y con que recursos. En nuestro caso vamos a utilizar el disco sdb , también es válido utilizar una o varias particiones
de disco.

[root@server1 ~]# vgextend rhel_server1 /dev/sdb

Physical volume "/dev/sdb" successfully created.

Volume group "rhel_server1" successfully extended

Seguidamente comprobamos los cambios y cómo podemos observar, el valor para VFree ahora es de 2.07g .

[root@server1 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

rhel_server1 2 2 0 wz--n- 9.06g 2.07g

Paso 4
Para extender un volumen lógico se utiliza el comando lvextend , con una serie de opciones que vamos a explicar a continuación:

-L (LogicalVolumeSize): Nos permite establecer el tamaño en unidades tales como M para megabytes, G para gigabytes, T para

terabytes, P para petabytes y E para exabytes. Con el signo + el valor se agrega al tamaño real y sin él se toma el valor como
absoluto.
-r (Resize): Esta opción es muy importantes y es la que indica que se va a redimensionar el sistema de archivos al mismo

tiempo, sin esta opción tendríamos que aplicar un paso extra con el comando resize2fs si estamos utilizando el sistema de
archivos ext4 o ext3 y xfs_growfs si utilizamos xfs .
-t (Test Mode): Como buena práctica utilizamos esta opción de comprobación al final del comando, esto nos permite verificar

errores sin aplicar ningún cambio.

Aplicamos el comando con la opción de test mode -t :

[root@server1 ~]# lvextend /dev/rhel_server1/root -L +200M -r -t

TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.

Size of logical volume rhel_server1/root changed from 6.20 GiB (1586 extents) to 6.39 GiB (1636 extents).

Logical volume rhel_server1/root successfully resized.

Como podemos observar al realizar nuestra comprobación, no tenemos errores por lo que podemos proceder con el siguiente paso.

“ Si se desea extender el volumen lógico con todo el porcentaje disponible del volumen de grupo, se debe utilizar la opción -l

(LogicalExtentsNumber), esta misma permite trabajar con %FREE , como se muestra a continuación:

lvextend /dev/rhel_server1/root -l +100%FREE -r -t

Paso 5
Procedemos a ejecutar el comando sin la opción -t , aplicando los cambios de manera definitiva.

[root@server1 ~]# lvextend /dev/rhel_server1/root -L +200M -r

Size of logical volume rhel_server1/root changed from 6.20 GiB (1586 extents) to 6.39 GiB (1636 extents).

Logical volume rhel_server1/root successfully resized.

meta-data=/dev/mapper/rhel_server1-root isize=512 agcount=4, agsize=406016 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0 spinodes=0

data = bsize=4096 blocks=1624064, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=1

log =internal bsize=4096 blocks=2560, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

data blocks changed from 1624064 to 1675264

Paso 6
Finalmente corroboramos los cambios.

[root@server1 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root rhel_server1 -wi-ao---- 6.40g

swap rhel_server1 -wi-ao---- 820.00m

[root@server1 ~]# df -hT

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/rhel_server1-root xfs 6.4G 3.2G 3.3G 49% /

devtmpfs devtmpfs 482M 0 482M 0% /dev

tmpfs tmpfs 497M 144K 497M 1% /dev/shm

tmpfs tmpfs 497M 7.0M 490M 2% /run

tmpfs tmpfs 497M 0 497M 0% /sys/fs/cgroup

/dev/sda1 xfs 1014M 172M 843M 17% /boot

tmpfs tmpfs 100M 16K 100M 1% /run/user/0


“ Esta configuración también se puede aplicar para sistemas de archivos ext3 y ext4 , tomando en cuenta que se deben seguir

los pasos tal cual como se indican en la guía.

Pasos para crear un nuevo volumen lógico

Paso 1
Verificamos el espacio disponible en el volumen de grupo, en nuestro caso tenemos 1.86Gb libres para crear un nuevo volumen

lógico.

[root@server1 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

rhel_server1 2 2 0 wz--n- 9.06g 1.87g

Paso 2
Para crear un volumen lógico se utiliza el comando lvcreate , con una serie de opciones que vamos a explicar a continuación:

-n : Esta opción se utiliza para asignar el nombre del nuevo volumen lógico, ( -n nombre).

Volumen de grupo : Debemos indicar en cual volumen de grupo vamos a crear el volumen lógico.

-L (LogicalVolumeSize): Nos permite establecer el tamaño que vamos a asignar al volumen lógico en unidades tales como M

para megabytes, G para gigabytes, T para terabytes, P para petabytes y E para exabytes.

Aplicamos el comando para crear nuestro nuevo volumen.

[root@server1 ~]# lvcreate -n lvm_data rhel_server1 -L 1G

Logical volume "lvm_data" created.

Paso 3
Debemos establecer el sistema de archivos que vamos a utilizar para el nuevo volumen lógico, en nuestro caso utilizaremos ext4 .
[root@server1 ~]# mkfs.ext4 /dev/rhel_server1/lvm_data

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

65536 inodes, 262144 blocks

13107 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=268435456

8 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376

Allocating group tables: done

Writing inode tables: done

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

Paso 4
Descubrimos el UUID del nuevo volumen lógico y seguidamente lo montamos permanentemente en el directorio deseado, en nuestro
caso /mnt/data .

[root@server1 ~]# blkid | grep lvm_data

/dev/mapper/rhel_server1-lvm_data: UUID="421bcc4d-e379-4c90-b4ae-746f074c5247" TYPE="ext4"

[root@server1 ~]# echo "UUID="421bcc4d-e379-4c90-b4ae-746f074c5247" /mnt/data ext4 defaults 0 0" >> /etc/fstab

[root@server1 ~]# mkdir /mnt/data

[root@server1 ~]# mount -a

Paso 5
Finalmente verificamos que se montó correctamente.

[root@server1 ~]# df -hT /mnt/data

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/rhel_server1-lvm_data ext4 976M 2.6M 907M 1% /mnt/data

Acotaciones en caso de que se desee crear un nuevo volumen de grupo.


En caso de que se desee crear un nuevo volumen de grupo se utiliza el comando vgcreate , utilizando un disco completo o una serie

de particiones. Ejemplos:

vgcreate nuevo_grupo /dev/sdc

vgcreate nuevo_grupo /dev/sdc1 /dev/sdc2 /dev/sdc3

Es importante mencionar que podemos crear un volumen de grupo sin tener que crear el volumen físico pvs , al crear el volumen de

grupo, se crea directamente el volumen físico.


“ Por cuestión de aprendizaje, si se quisiera crear el volumen físico pvs , se puede realizar como paso extra, utilizando el

comando pvcreate . Ejemplos:

pvcreate /dev/sdc

pvcreate /dev/sdc1 /dev/sdc2 /dev/sdc3

Pasos para reducir un volumen lógico

Antes de iniciar con este tema, debo mencionar que la reducción de volúmenes lógicos y sistema de archivos críticos es poco común
por dos temas en específico los cuales son:

El costo para el aprovisionamiento de almacenamiento en un sistema es relativamente bajo, por lo cual vamos a preferir agregar
más recurso.
Según la mayoría de las documentaciones, para reducir un sistema de archivos crítico debemos desmontarlo, lo cual hace que
esta tarea sea complicada.

Por lo anteriormente mencionado y como ejemplo, vamos a realizar este procedimiento utilizando el volumen lógico creado
anteriormente lvm_data , el cual como sabemos no es crítico y fue implementado con un sistema de archivos ext4 el cual permite ser

reducido.

Paso 1
Para reducir un volumen lógico se utiliza el comando lvreduce , con una serie de opciones que vamos a explicar a continuación:

-L (LogicalVolumeSize): Nos permite establecer el tamaño en unidades tales como M para megabytes, G para gigabytes, T para

terabytes, P para petabytes y E para exabytes. Con el signo - el valor se reduce al tamaño real y sin él se toma el valor como

absoluto.
-r (Resize): Esta opción es muy importantes y es la que indica que se va a redimensionar el sistema de archivos al mismo

tiempo, sin esta opción tendríamos que aplicar un paso extra con el comando resize2fs si estamos utilizando el sistema de

archivos ext4 o ext3 y xfs_growfs si utilizamos xfs .


-t (Test Mode): Como buena práctica utilizamos esta opción de comprobación al final del comando, esto nos permite verificar

errores sin aplicar ningún cambio.

Aplicamos el comando con la opción de test mode -t :

lvreduce /dev/rhel_server1/lvm_data -L 512M -r -t

TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.

Do you want to unmount "/mnt/data"? [Y|n] y

Size of logical volume rhel_server1/lvm_data changed from 1.00 GiB (256 extents) to 500.00 MiB (125 extents).

Logical volume rhel_server1/lvm_data successfully resized.

Como podemos observar al realizar nuestra comprobación, no tenemos errores y podemos proceder con el siguiente paso.

Paso2
Procedemos a ejecutar el comando sin la opción -t , aplicando los cambios de manera definitiva.
[root@server1 ~]# lvreduce /dev/rhel_server1/lvm_data -L 512M -r

Do you want to unmount "/mnt/data"? [Y|n] y

fsck from util-linux 2.23.2

/dev/mapper/rhel_server1-lvm_data: 11/65536 files (0.0% non-contiguous), 12955/262144 blocks

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/mapper/rhel_server1-lvm_data to 131072 (4k) blocks.

The filesystem on /dev/mapper/rhel_server1-lvm_data is now 131072 blocks long.

Size of logical volume rhel_server1/lvm_data changed from 1.00 GiB (256 extents) to 512.00 MiB (128 extents).

Logical volume rhel_server1/lvm_data successfully resized.

Paso 3
Finalmente corroboramos que los cambios se aplicaron correctamente, teniendo como resultado la reducción del volumen lógico de
1GB a un tamaño fijo de 512MB , esto también se verá reflejado en el sistema de archivos.

[root@server1 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

lvm_data rhel_server1 -wi-ao---- 512.00m

root rhel_server1 -wi-ao---- 6.39g

swap rhel_server1 -wi-ao---- 820.00m

[root@server1 ~]# df -hT /mnt/data/

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/rhel_server1-lvm_data ext4 472M 1.6M 435M 1% /mnt/data

A u to r d e l A r t í c u l o

Álvaro Campos Castro


S y s t e m A d m i n i s t ra to r.
Ingeniero en Sistemas de Información. UNA.
Red Hat Certified System Administrator (RHCSA®)
Red Hat Certified Engineer (RHCE®)

Anterior Siguiente
0 Comentarios Flecha Roja Technologies Blog 
1 Acceder

Ordenar por los mejores


 Recomendar 2 ⤤ Compartir

Sé el primero en comentar...

INICIAR SESIÓN CON


O REGISTRARSE CON DISQUS ?

Nombre

Sé el primero en comentar.

TAMBIÉN EN FLECHA ROJA TECHNOLOGIES BLOG

Guía de uso para IdP Comprobantes Electrónicos Aspectos Interesantes de JSF 2.3
66 comentarios • hace 8 meses 2 comentarios • hace 9 meses
morojan — Buenas noches, si requiero enviar el password con sadalzuud — gracias, me sirvió este artículo
PLAIN HTTP, como se le da el formato plano, el password del
ejemplo es W$/JX/AS@K);1]I;u|+6 y plano es …

Malas Prácticas en Java EE. Parte II Integración para Factura Electrónica


1 comentario • hace 2 años 231 comentarios • hace 9 meses
Diego Gamboa — Excelente articulo, muchas gracias! flecharojatech — De acuerdo a la normativa vigente en Costa Rica;
tu cálculo es erróneo y cito un documento de Hacienda "El monto
del impuesto se determina aplicando el 13% sobre el …

✉ Suscríbete d Añade Disqus a tu sitio webAñade Disqus Añadir 🔒 Política de privacidad de DisqusPolítica de privacidadPrivacidad

ACERCA DE C O S TA R I C A G U AT E M A L A NICARAGUA

Flecha Roja Technologies es una  Dirección: Oficentro Curridabat #1,  Dirección: Edificio Reforma  Dirección: Ofiplaza El Retiro, Suite

empresa de TI con sus oficinas Local #26, Pinares Curridabat, San José Montufar, torre A, Oficina 407. Avenida 411 Rotonda el Periodista 150 metros al

principales en San José, Costa Rica. Costa Rica. Reforma 12-10, Zona 10, Guatemala. Sur, Managua Nicaragua.

Desde nuestros inicios en 2001, Flecha  Correo: info@flecharoja.com  Correo: info@flecharoja.com  Correo: info@flecharoja.com

Roja Technologies ha construido un  Teléfono: +506 2271-4910  Teléfono: +502 2360-2368  Teléfono: +505 2299-3238

sólido historial, caracterizándose por  Fax +506 2271-3620

entregar soluciones de calidad a una

amplia variedad de clientes.

 

Flecha Roja Technologies, All Right Reserved

Вам также может понравиться