Con el objetivo de aumentar el nivel de seguridad de los datos, los desarrolladores implementan nuevas tecnologías en sus sistemas operativos. En este artículo hablaremos sobre LVM y responderemos las preguntas de qué es y cuáles son sus principales ventajas.
Contenido
- ¿Qué es LVM y cómo funciona?
- Ventajas y desventajas de LVM
- ¿Cómo trabajar con LVM?
- ¿Cuáles son los tipos de volumen en LVM?
- ¿Cómo eliminar o cambiar el tamaño del volumen LVM?
- Instantáneas en LVM
- LVM + RAID y RAID + LVM
- ¿Qué hacer si se pierden los datos?
¿Qué es LVM y cómo funciona?
LVM (administrador de volúmenes lógicos) es la tecnología que le permite utilizar partes del espacio de su disco duro (o de varios discos) y combinarlo en un volumen lógico para su posterior trabajo. Gracias a esto, puede particionar de manera más flexible el espacio total de su disco, ya que no está limitado por un solo disco duro. LVM también funciona con unidades de SSD.
Echemos un vistazo más de cerca a cómo funciona LVM.
Imaginemos que tiene dos discos duros con un espacio de memoria de 100 GB cada uno (2 x 100 GB). Usando la partición regular, puede crear un volumen máximo de 100 GB para cada disco.
Si utiliza LVM para este propósito, puede crear, por ejemplo, un volumen con un espacio de 120 GB y el segundo con un espacio de 80 GB. Lo principal es que LVM crea un nivel abstracto que fusiona el espacio en disco para ambos discos duros y luego puede particionar el espacio total del disco como desee.
Esquemáticamente, se ve así:
Tal efecto se puede lograr utilizando el subsistema de mapeador de dispositivos.
Las particiones iniciales se dividen en bloques o dispositivos de bloques (volumen físico (pv)) y se combinan en un volumen virtual, o más precisamente, un grupo de volúmenes (vg). Luego, este volumen virtual se divide en volúmenes lógicos (lv). Para el sistema de archivos, un volumen lógico se representa como un dispositivo de bloque regular, aunque los volúmenes físicos individuales pueden estar ubicados en diferentes dispositivos físicos (e incluso el volumen físico en sí puede estar distribuido como un RAID).
Más información sobre RAID se puede encontrar en el artículo ?¿Qué es RAID y para qué se utiliza??
Ventajas y desventajas de LVM
Antes de utilizar LVM, consideremos las principales ventajas y desventajas de su uso. Lo principal es que para algunas personas LVM será la mejor solución, mientras que para otras será una completa decepción. Pero empecemos por las ventajas.
LVM se ejecuta a nivel del kernel. Garantiza la máxima transparencia de la configuración y uso del disco. Los programas podrán trabajar con particiones lógicas y virtuales de LVM de la misma manera que con las normales.
La principal ventaja es la posibilidad de crear, redimensionar y renombrar los volúmenes sin reiniciar el ordenador.
También puedes redimensionar tu volumen dinámicamente. Esto significa que puedes crear un volumen de tamaño pequeño primero y luego configurarlo para que se expanda cuando se llene.
Además, puedes combinar cualquier número de discos en un pool lógico y luego crear tantos volúmenes como necesites. Es rápido y fácil.
Además, LVM te permite crear instantáneas de volúmenes lógicos sin detener el sistema operativo y utilizar funciones avanzadas de cifrado.
Como puedes ver, LVM es adecuado para servidores domésticos que almacenan una gran cantidad de datos. LVM, junto con un sistema de archivos rápido, puede brindarte grandes oportunidades de trabajo.
Puedes encontrar más información sobre cómo elegir un sistema de archivos en el artículo ?¿Qué sistema de archivos es mejor usar??
Al mismo tiempo, la tecnología LVM tiene algunas desventajas que pueden ser una barrera para su uso.
La desventaja más importante es el hecho de que LVM agrega un nivel virtual más que puede afectar al rendimiento del sistema. No es esencial para el uso doméstico, pero es especialmente cierto para sistemas y servidores con una carga pesada. El problema es que incluso la más mínima disminución del rendimiento puede afectar mucho a la disponibilidad de los datos del cliente. Como ejemplo, podemos considerar el alojamiento de videos. Dado que estos pools tienen una gran cantidad de conexiones de clientes, la más mínima disminución del rendimiento puede hacer que el video no esté disponible.
Otro problema es que al crear instantáneas, el rendimiento también disminuye. Esto restringe su uso en sistemas de producción.
Y la última desventaja es el hecho de que los sistemas de archivos modernos (como Btrfs y ZFS) admiten muchas de las características de LVM (como el redimensionamiento en línea, la creación de instantáneas, etc.). En algunos casos, no tiene sentido utilizar LVM.
¿Cómo trabajar con LVM?
La opción de configurar LVM se proporciona durante la instalación de cualquier distribución de Linux moderna, pero ¿cómo trabajar con ella? A continuación, encontrará las instrucciones.
El LVM consta de tres niveles:
- volumen físico (uno o más);
- grupo de volúmenes físicos (Grupo de Volumen (también llamado PV));
- volumen lógico (que estará disponible para programas (también llamado LV));
3.1 ¿Cómo instalar LVM?
Lo primero que debes hacer antes de crear LVM es instalar el programa LVM2. Puedes hacerlo utilizando la terminal y ejecutando el siguiente comando:
$ sudo apt install lvm2
Después de instalar LVM 2, puedes empezar a trabajar con tus discos.
3.2 ¿Cómo inicializar los volúmenes físicos de LVM?
Ahora debemos inicializar los volúmenes físicos de LVM. En primer lugar, debemos decidir qué volúmenes utilizaremos. Imaginemos que serán dev/sda6 y dev/sda7. Para inicializarlos, ejecute el siguiente comando:
$ sudo pvcreate /dev/sda6 /dev/sda7
Para comprobar si los volúmenes físicos se inicializaron correctamente, utilice el siguiente comando:
$ sudo pvscan
El sistema mostrará todos los volúmenes lógicos del sistema.
También puede ver los atributos detallados utilizando el siguiente comando:
$ sudo pvdisplay
Si desea conocer el tamaño del bloque de memoria único de LVM, verifique el atributo Tamaño de PE. Por defecto, es de 4 MB, pero puede cambiarlo en cualquier momento.
3.3 ¿Cómo crear el grupo de volúmenes LVM?
El Grupo de Volúmenes (VG) es el conjunto total de memoria que consiste en algunos volúmenes físicos iniciados. Este conjunto puede convertirse en volúmenes lógicos, y no estará limitado por el tamaño de memoria del disco físico. Todos los discos dentro del grupo de volúmenes deben inicializarse.
Puede crear el Grupo de Volúmenes con el siguiente comando:
$ sudo vgcreate vol_grp1 /dev/sda6 /dev/sda7
Ahora, para verificar que todo está bien, use el siguiente comando:
$ sudo vgdisplay
Ahora estamos listos para crear volúmenes lógicos.
3.4 ¿Cómo crear volúmenes lógicos LVM?
Los volúmenes lógicos LVM se crean con el comando lvcreate. Como recordará, con la tecnología LVM no está limitado por el tamaño físico de ningún disco. Esto significa que ahora dividirá todo el almacenamiento de la memoria en un solo volumen lógico.
Como recordará, teníamos dos discos duros de 100 GB cada uno. Pero ahora, crearemos dos volúmenes lógicos: uno de 80 GB y otro de 120 GB. Use el siguiente comando para hacerlo:
$ sudo lvcreate -L 80G -n logical_vol1 vol_grp1
donde 80G es el tamaño de su volumen.
Por lo tanto, el comando para crear el volumen de 100 GB se verá así:
$ sudo lvcreate -L 100G -n logical_vol2 vol_grp1
También puede usar las siguientes letras para especificar el tamaño del volumen:
- B — bytes;
- K — kilobytes;
- M — megabytes;
- G — gigabytes;
- T — terabytes;
Para verificar la lista de volúmenes lógicos creados, use el comando:
$ sudo lvdisplay
Si todo se hizo correctamente, verá los volúmenes lógicos recién creados, incluida la información detallada sobre cada volumen.
3.5 ¿Cómo montar el volumen LVM?
En esta etapa, podemos montar nuestros nuevos volúmenes lógicos. Pero primero, tenemos que formatearlos. Esto se puede hacer como un volumen regular. Por lo tanto, podemos usar el comando estándar:
$ sudo mkfs.ext4 /dev/vol_grp1/logical_vol1
$ sudo mkfs.ext4 /dev/vol_grp1/logical_vol2
donde logical_vol1 y logical_vol2 son los nombres de nuestros volúmenes.
Para montar los volúmenes, use los comandos:
$ sudo mount /dev/vol_grp1/logical_vol1 /mnt/
$ sudo mount /dev/vol_grp1/logical_vol2 /mnt/
Ahora, puede trabajar con nuestros volúmenes lógicos como con una unidad regular.
Como puede ver, el trabajo con los volúmenes lógicos es similar al trabajo con unidades regulares. Puede formatear, renombrar y modificarlos sin ningún problema.
¿Cuáles son los tipos de volumen en LVM?
En LVM se pueden utilizar tres tipos de volumen: Volúmenes Lineales, Volúmenes con Franjas y Volúmenes Espejados.
Los Volúmenes Lineales son los que se utilizan por defecto en LVM. De hecho, son los volúmenes regulares sin funciones adicionales. No ofrecen mayor fiabilidad ni rendimiento. De hecho, son similares a RAID 0. Si desea conocer la diferencia entre LVM y RAID, lea el artículo Comparación y diferencia entre RAID, LVM y mdadm.
Los Volúmenes con Franjas son útiles cuando se desea aumentar la velocidad de lectura/escritura de su volumen LVM. Se pueden crear con el comando:
$ sudo lvcreate -L 1G -i 2 -n logical_vol2 vol_grp1
donde -i es el número de franjas (este número no puede ser mayor que el número de discos físicos) y -L es el tamaño de una franja (no puede ser mayor que el tamaño del disco).
Es una buena solución si no teme perder datos. Si un disco falla, se perderá toda la información. Los volúmenes LVM con franjas también se utilizan si se desea reducir la carga en los discos duros o SSD. Pero el problema es el mismo: si falla un disco, se perderán todos los datos.
El siguiente tipo de volumen LVM es el volumen espejado. Este volumen es el análogo de RAID 1 y crea una copia de los datos en cada disco de su grupo.
Este método permite guardar una copia de sus datos. Si un disco falla, todos sus volúmenes se convertirán en lineales y podrá leer la información. Al mismo tiempo, este tipo de volumen será mucho más lento, ya que el ordenador tendrá que escribir los datos varias veces.
Para crear un volumen LVM espejado, utilice el comando:
$ sudo lvcreate -L 200M -m1 -n lv_mirror vol_grp1
¿Cómo eliminar o cambiar el tamaño del volumen LVM?
En algunas situaciones, el espacio libre de tu volumen LVM se agota. No es un problema, ya que puedes agregar un nuevo disco duro a tu grupo LVM.
5.1 ¿Cómo redimensionar el volumen lógico?
Puedes redimensionar los volúmenes lógicos, sin importar el espacio libre en el disco físico. Si el grupo de almacenamiento tiene espacio libre, puedes utilizarlo para cualquier volumen lógico. Esto se puede hacer con el comando lvextend. Vamos a redimensionar nuestro volumen LVM de 80 GB a 100 GB. Para hacer esto, simplemente usa el siguiente comando:
$ sudo lvextend -L+100G /dev/vol_grp1/logical_vol1
donde -L+100G es el nuevo tamaño de tu volumen.
Para disminuir el volumen LVM, en lugar de +, utiliza –.
Entonces, el comando para disminuir el volumen LVM se verá así:
$ sudo lvextend -L-100G /dev/vol_grp1/logical_vol1
5.2 ¿Cómo eliminar el volumen LVM?
Si no necesita el volumen LVM, no hay problema en eliminarlo. Pero tenga cuidado antes de eliminarlo, ya que se perderán todos los datos. Para eliminar el volumen LVM, use el siguiente comando:
$ sudo lvremove /dev/vol_grp1/lv_mirror
Ahora, su volumen LVM se ha eliminado por completo.
Instantáneas en LVM
La tecnología LVM permite crear instantáneas. Esto es muy útil si necesitas hacer algunos cambios, pero no estás seguro del resultado final. Puedes crear la instantánea y, en caso de problemas, volver a ella. Al mismo tiempo, no necesitas detener tu máquina, lo que es especialmente importante para servidores en empresas en producción, donde muchos empleados pueden acceder a los datos.
Importante: la instantánea no es una copia de seguridad.
Cuando se crea la instantánea, todos los procesos de escritura se detienen durante unos milisegundos (todo depende de la cantidad de datos y del rendimiento del servidor). El usuario regular no lo notará.
Además, en caso de problemas, puedes volver rápidamente tu servidor a un estado de funcionamiento.
Además, las instantáneas no necesitan mucha memoria libre, por lo que son muy útiles.
Al mismo tiempo, no puedes almacenar tu instantánea durante mucho tiempo, ya que esto cargará tu disco duro y el sistema operativo. Por eso, para guardar a largo plazo, es más útil hacer una copia de seguridad regular.
Para crear una instantánea en LVM, utiliza el siguiente comando:
Lvcreate -L 1G -s -n snap_vg_data /dev/mapper/vg_data-lv_data
donde -L 1G es la cantidad de memoria reservada para la instantánea, y vg_data-lv_data es el nombre de tu instantánea.
Para verificar la información detallada de tu instantánea, utiliza el siguiente comando:
lvdisplay /dev/vg_data/snap_vg_data
Como puedes ver, es rápido y fácil crear instantáneas en LVM.
LVM + RAID y RAID + LVM
Muchos usuarios preguntan: ¿es posible crear un volumen LVM basado en matrices RAID y viceversa? ¿crear una matriz RAID basada en los volúmenes LVM?
La respuesta es «sí». Pero hay algunos detalles que debes conocer antes de comenzar dicho proceso.
Si deseas crear la matriz RAID basada en volúmenes LVM, debes saber cómo LVM distribuye los datos. El volumen LVM llenará el primer disco cuando el segundo disco no se esté utilizando (durante la distribución de datos lineal). Este proceso se muestra en la siguiente imagen:
Este caso es un gran problema para las unidades SSD, ya que aumenta significativamente el desgaste del disco lleno y la velocidad de rendimiento disminuirá considerablemente. Incluso si utilizas el método de paridad (dos grupos de discos con paridad), esto no cambiará la situación. El problema es que la paridad se utilizará dentro del grupo, pero no entre todos los discos. El llenado del segundo grupo comenzará solo cuando el primer grupo esté lleno.
Por eso, el volumen LVM basado en matrices RAID es más preferible. La utilidad mdadm distribuirá correctamente la carga entre los discos y podrás agregar discos a tu almacenamiento. El problema es que LVM es difícil de administrar. Debes conocer muchos comandos para trabajar con él correctamente.
Entonces, si no eres un experto en Linux, esta no es tu opción. En tal caso, es mejor utilizar una matriz RAID regular, ya que Windows y Mac OS no pueden trabajar con LVM.
¿Qué hacer si se pierden los datos?
El uso de tecnologías diseñadas para aumentar la seguridad de los datos o la flexibilidad de la asignación de espacio en disco no siempre termina bien. En algunos casos, puede crear más problemas que si se usaran discos regulares. Esto es especialmente cierto para usuarios inexpertos que quieren obtener algo más de su configuración de computadora, pero no saben cómo manejar correctamente la construcción del disco. Por eso es importante saber qué hacer si se pierden datos importantes.
En primer lugar, no hay que entrar en pánico y utilizar la herramienta profesional de recuperación de datos.
Por ahora, la solución más efectiva para recuperar datos importantes de una matriz RAID es RS RAID Retrieve.
El constructor RAID incorporado construirá su matriz RAID o volumen LVM, y podrá mover su información a un lugar seguro.
Veamos más de cerca cómo puede recuperar los datos:
Paso 1: Descargue e instale RS RAID Retrieve. Ejecute la aplicación después de instalarla. El «constructor RAID» incorporado se abrirá frente a usted. Haga clic en «Siguiente«
Paso 2: Elija el método de agregar una matriz RAID o volumen LVM para escanear. RS RAID Retrieve ofrece tres opciones para elegir:
- Modo automático – le permite simplemente especificar las unidades que conforman la matriz o el volumen LVM, y el programa determinará automáticamente su orden, tipo de matriz y otros parámetros;
- Búsqueda por fabricante – esta opción debe elegirse si conoce el fabricante de su controlador RAID. Esta opción también es automática y no requiere ningún conocimiento sobre la estructura de la matriz RAID. Tener la información del fabricante le permite reducir el tiempo para construir la matriz, y por lo tanto, es más rápido que la opción anterior;
- Creación manual – esta opción vale la pena usarla si sabe qué tipo de RAID está utilizando. En este caso, puede especificar todos los parámetros que conoce, y aquellos que no conoce, el programa los determinará automáticamente
Después de seleccionar la opción adecuada, haga clic en «Siguiente«.
Paso 3: Seleccione los discos que conforman la matriz RAID o volumen LVM y haga clic en «Siguiente«. Comenzará el proceso de detección de las configuraciones de la matriz. Cuando esté completo, haga clic en «Finalizar«.
Paso 4: Después de que el constructor construya el volumen LVM (o matriz RAID basada en los volúmenes LVM), aparecerá como una unidad regular. Haga doble clic en ella. El Asistente de recuperación de archivos se abrirá frente a usted. Haga clic en «Siguiente«
Paso 5: RS RAID Retrieve ofrecerá escanear su matriz o volumen LVM para recuperar archivos. Tendrá dos opciones: un escaneo rápido y un análisis completo de la matriz. Seleccione la opción deseada. Luego seleccione el tipo de sistema de archivos que se utilizó en la matriz. Si no conoce esta información, marque todas las opciones disponibles, como en la captura de pantalla. Vale la pena señalar que RS RAID Retrieve admite TODOS los sistemas de archivos modernos.
Paso 6: Comenzará el proceso de escaneo. Cuando termine, verá la estructura anterior de archivos y carpetas. Encuentre los archivos necesarios, haga clic derecho en ellos y seleccione «Recuperación«
Paso 7: Especifique la ubicación donde se guardarán los archivos recuperados. Esto puede ser un disco duro, un archivo ZIP o un servidor FTP. Haga clic en «Siguiente«
Después de hacer clic en el botón «Siguiente«, el programa comenzará el proceso de recuperación. Cuando termine, encontrará los archivos seleccionados en la ubicación especificada.
Después de que se hayan restaurado los archivos con éxito, vuelva a crear el volumen LVM y luego copie los archivos de vuelta.
Como puede ver, con RS RAID Retrieve es fácil extraer datos importantes del LVM roto. Además, no necesita ningún software o hardware adicional. Simplemente conecte las unidades a su PC y use las instrucciones anteriores. Rápido y fácil.