Búsqueda de sitios web

Configurar volúmenes de aprovisionamiento ligero en Logical Volume Management (LVM) - Parte IV


La gestión de volúmenes lógicos tiene excelentes funciones, como instantáneas y Thin Provisioning. Anteriormente, en (Parte III), vimos cómo tomar una instantánea del volumen lógico. Aquí, en este artículo, veremos cómo configurar volúmenes de aprovisionamiento ligero en LVM.

¿Qué es el aprovisionamiento ligero?

Thin Provisioning se utiliza en lvm para crear discos virtuales dentro de un grupo ligero. Supongamos que tengo una capacidad de almacenamiento de 15 GB en mi servidor. Ya tengo 2 clientes que tienen 5 GB de almacenamiento cada uno. Eres el tercer cliente, solicitaste 5 GB de almacenamiento. En aquel entonces solíamos proporcionar los 5 GB completos (volumen grueso), pero puedes usar 2 GB de ese almacenamiento de 5 GB y 3 GB serán gratuitos y podrás llenarlos más tarde.

Pero lo que hacemos en el aprovisionamiento ligero es definir un grupo fino dentro de uno de los grupos de volúmenes grandes y definir los volúmenes finos dentro de ese grupo fino. Por lo tanto, cualquier archivo que escriba se almacenará y su almacenamiento se mostrará como 5 GB. Pero los 5 GB completos no asignarán todo el disco. También se realizará el mismo proceso para otros clientes. Como dije, hay 2 clientes y tú eres mi tercer cliente.

Entonces, supongamos ¿cuántos GB totales he asignado para los clientes? Ya se completaron los 15 GB en total. Si alguien viene a mí y me pide 5 GB, ¿puedo dárselos? La respuesta es ““, aquí en aprovisionamiento ligero puedo dar 5 GB para el 4º cliente aunque haya asignado 15 GB.

Advertencia: A partir de 15GB, si estamos Aprovisionando más de 15GB se llama Sobreaprovisionamiento.

¿Cómo funciona? y ¿Cómo proporcionamos almacenamiento a nuevos Clientes?

Le he proporcionado 5 GB, pero sólo podrá utilizar 2 GB y los demás 3 GB serán gratuitos. En el aprovisionamiento grueso no podemos hacer esto, porque al principio asignará todo el espacio por sí solo.

En el aprovisionamiento ligero, si defino 5 GB para usted, no asignará todo el espacio en disco mientras defino un volumen, crecerá hasta 5 GB según su escritura de datos. ¡Espero que lo haya entendido! Al igual que usted, otros clientes tampoco usarán los volúmenes completos, por lo que habrá una posibilidad de agregar 5 GB a un nuevo cliente. Esto se denomina Aprovisionamiento.

Pero es obligatorio monitorear el crecimiento de todos y cada uno de los volúmenes, de lo contrario terminará en un desastre. Mientras se realiza el aprovisionamiento excesivo, si los 4 clientes escriben mal los datos en el disco, es posible que tenga un problema porque llenará sus 15 GB y se desbordará para que se caigan los volúmenes.

Requisitos

  1. Crear almacenamiento en disco con LVM en Linux – PARTE 1
  2. Cómo extender/reducir LVM en Linux – Parte II
  3. Cómo crear/restaurar una instantánea del volumen lógico en LVM – Parte III
Configuración de mi servidor
  1. Sistema operativo: CentOS 6.5 con instalación LVM
  2. IP del servidor: 192.168.0.200

Paso 1: configurar volúmenes y grupos reducidos

Hagámoslo de forma práctica, cómo configurar el grupo reducido y los volúmenes reducidos. Primero necesitamos un grupo de volumen de gran tamaño. Aquí estoy creando un grupo de volumen con 15 GB con fines de demostración. Ahora, enumere el grupo de volúmenes usando el siguiente comando.

vgcreate -s 32M vg_thin /dev/sdb1

A continuación, verifique el tamaño de la disponibilidad del volumen lógico antes de crear el grupo reducido y los volúmenes.

vgs
lvs

Podemos ver que solo hay volúmenes lógicos predeterminados para el sistema de archivos y el intercambio está presente en la salida lvs anterior.

Crear un grupo delgado

Para crear un grupo Thin de 15 GB en un grupo de volúmenes (vg_thin), utilice el siguiente comando.

lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin
  1. -L – Tamaño del grupo de volúmenes
  2. –thinpool – Para crear un Thinpool
  3. tp_tecmint_pool: nombre del grupo reducido
  4. vg_thin – Nombre del grupo de volúmenes donde necesitamos crear el grupo

Para obtener más detalles podemos usar el comando 'lvdisplay'.

lvdisplay vg_thin/tp_tecmint_pool

Aquí no hemos creado volúmenes delgados virtuales en este grupo delgado. En la imagen podemos ver los datos del grupo asignado que muestran 0,00%.

Creando volúmenes delgados

Ahora podemos definir volúmenes delgados dentro del grupo delgado con la ayuda del comando 'lvcreate' con la opción -V (Virtual).

lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

He creado un volumen virtual Thin con el nombre de thin_vol_client1 dentro de tp_tecmint_pool en mi grupo de volúmenes vg_thin. Ahora, enumere los volúmenes lógicos usando el siguiente comando.

lvs 

Justo ahora, hemos creado el volumen delgado anterior, es por eso que no se muestran datos, es decir, 0.00%M.

Bien, déjame crear 2 volúmenes Thin más para otros 2 clientes. Aquí puede ver que ahora hay 3 volúmenes delgados creados en el grupo (tp_tecmint_pool). Entonces, a partir de este punto, supimos que había usado todo el grupo de 15 GB.

Creando un sistema de archivos

Ahora, cree puntos de montaje, monte estos tres volúmenes delgados y copie algunos archivos usando los siguientes comandos.

mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

Enumere los directorios creados.

ls -l /mnt/

Cree el sistema de archivos para estos volúmenes delgados creados usando el comando 'mkfs'.

mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

Monte los tres volúmenes de cliente en el punto de montaje creado usando el comando "montar".

mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/

Enumere los puntos de montaje usando el comando 'df'.

df -h

Aquí, podemos ver que los 3 volúmenes de clientes están montados y, por lo tanto, solo se utiliza el 3% de los datos en cada volumen de clientes. Entonces, agreguemos algunos archivos más a los 3 puntos de montaje de mi escritorio para llenar algo de espacio.

Ahora enumere el punto de montaje y vea el espacio utilizado en cada volumen delgado y enumere el grupo delgado para ver el tamaño utilizado en el grupo.

df -h
lvdisplay vg_thin/tp_tecmint_pool

El comando anterior muestra las tres pintas de montaje junto con sus tamaños en porcentaje.

13% of datas used out of 5GB for client1
29% of datas used out of 5GB for client2
49% of datas used out of 5GB for client3

Al mirar el grupo delgado, podemos ver que solo el 30 % de los datos están escritos en su totalidad. Este es el total de los tres volúmenes virtuales de clientes anteriores.

Sobreaprovisionamiento

Ahora el cuarto cliente vino a verme y me pidió 5 GB de espacio de almacenamiento. ¿Puedo dar? Porque ya le había dado 15GB Pool a 3 clientes. ¿Es posible regalar 5GB más a otro cliente? Sí es posible donar. Aquí es cuando usamos Sobreaprovisionamiento, lo que significa darle más espacio del que tengo.

Permítanme crear 5 GB para el cuarto cliente y verificar el tamaño.

lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
lvs

Solo tengo 15 GB de tamaño en el grupo, pero he creado 4 volúmenes dentro del grupo delgado de hasta 20 GB. Si los cuatro clientes comienzan a escribir datos en sus volúmenes para acelerar el ritmo, en ese momento nos enfrentaremos a una situación crítica; de lo contrario, no habrá ningún problema.

Ahora he creado un sistema de archivos en thin_vol_client4, luego lo monté en /mnt/client4 y copié algunos archivos en él.

lvs

Podemos ver en la imagen de arriba que el tamaño total utilizado en el cliente 4 recién creado es de hasta 89,34 % y el tamaño del grupo reducido es de 59,19 %. Si todos estos usuarios no escriben mal en el volumen, estará libre de desbordamiento, suéltelo. Para evitar el desbordamiento necesitamos ampliar el tamaño de la piscina delgada.

Importante: Los grupos finos son solo un volumen lógico, por lo que si necesitamos ampliar el tamaño del grupo fino podemos usar el mismo comando que hemos usado para volúmenes lógicos se extiende, pero no podemos reducir el tamaño del grupo fino.

lvextend

Aquí podemos ver cómo extender el grupo fino lógico (tp_tecmint_pool).

lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

A continuación, enumere el tamaño del grupo delgado.

lvs

Anteriormente, nuestro tamaño tp_tecmint_pool era de 15 GB y 4 volúmenes delgados, lo que superaba la provisión en 20 GB. Ahora se ha ampliado a 30 GB, por lo que nuestro sobreaprovisionamiento se ha normalizado y los volúmenes delgados están libres de desbordamientos y caídas. De esta manera podrás añadir volúmenes cada vez más finos a la piscina.

Aquí, hemos visto cómo crear un grupo delgado utilizando un grupo de volúmenes de gran tamaño y cómo crear volúmenes delgados dentro de un grupo delgado usando el sobreaprovisionamiento y extendiendo el grupo. En el próximo artículo veremos cómo configurar un lvm Striping.