¿Cuáles son los beneficios de Logical Volume Manager [cerrado]

11

¿Cuáles son las características y los beneficios potenciales de Logical Volume Manager más allá de lo que se detalla en su página de Wikipedia?

LanceBaynes
fuente
1
¿En contra de qué? Realmente, esta es una pregunta demasiado vaga ... no es de extrañar que me hayan votado mal.
Nandhini Anand
Por favor, explique sus opciones.
Ori
1
¡Guau! ¡Reescribir esa pregunta recibió una gran respuesta de Matt Simmons!
dunxd
1
Para completar, también vale la pena mirar los peligros y advertencias de LVM: serverfault.com/questions/279571/lvm-dangers-and-caveats
RichVel

Respuestas:

33

Tomado directamente de la entrada de mi blog: http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

En primer lugar, hablemos de la vida sin LVM. En los viejos tiempos, tenías un disco duro. Este disco duro podría tener particiones. Puede instalar sistemas de archivos en estas particiones y luego usar esos sistemas de archivos. Cuesta arriba en ambos sentidos. Se parecía mucho a esto:

Tienes el disco real, en este caso sda. En ese disco hay dos particiones, sda1 y sda2. También hay algo de espacio libre no utilizado. Cada una de las particiones tiene un sistema de archivos, que está montado. El tipo de sistema de archivos real es arbitrario. Podría llamarlo ext3, reiserfs o lo que sea. Lo importante a tener en cuenta es que existe una corrolación directa uno a uno entre las particiones de disco y los posibles sistemas de archivos.

Agreguemos una administración lógica de volumen que recrea exactamente la misma estructura:

Ahora, ve las mismas particiones, sin embargo, hay una capa encima de las particiones llamada "Grupo de volúmenes", literalmente un grupo de volúmenes, en este caso particiones de disco. Puede ser aceptable pensar en esto como una especie de disco virtual que puede particionar. Como estamos igualando exactamente nuestra configuración anterior, aún no puede ver las fortalezas del sistema. Puede notar que sobre el grupo de volúmenes, hemos creado volúmenes lógicos, que podrían considerarse particiones virtuales, y es sobre estos que construimos nuestros sistemas de archivos.

Veamos qué sucede cuando agregamos más de un volumen físico:

Aquí tenemos tres discos físicos, sda, sdb y sdc. Cada uno de los dos primeros discos tiene una partición que ocupa todo el espacio. El último, sdc, tiene una partición que ocupa la mitad del disco, con la mitad del espacio libre sin particiones restante.

Podemos ver el grupo de volúmenes arriba que incluye todos los volúmenes disponibles actualmente. Aquí yace uno de los mayores puntos de venta. Puede construir una partición lógica tan grande como la suma de sus discos. En muchos sentidos, esto es similar a cómo funciona el nivel RAID 0, excepto que no hay rayas en absoluto. Los datos se escriben en su mayor parte linealmente. Si necesita redundancia o el rendimiento aumenta que proporciona RAID, asegúrese de colocar sus volúmenes lógicos encima de las matrices RAID. Las porciones RAID funcionan exactamente como discos físicos aquí.

Ahora, tenemos este grupo de volúmenes que ocupa 2 y 1/2 discos. Se ha tallado en dos volúmenes lógicos, el primero de los cuales es más grande que cualquiera de los discos. A los volúmenes lógicos no les importa cuán grandes sean los discos físicos reales, ya que todo lo que ven es que están tallados en myVolumeGroup01. Esta capa de abstracción es importante, como veremos.

¿Qué sucede si decidimos que necesitamos el espacio no utilizado, porque hemos agregado más usuarios?

Normalmente tendríamos problemas si usamos el mapeo uno a uno, pero con volúmenes lógicos, esto es lo que podemos hacer:

Aquí tomamos el espacio previamente libre en / dev / sdc y creamos / dev / sdc2. Luego agregamos eso a la lista de volúmenes que comprenden myVolumeGroup01. Una vez hecho esto, pudimos expandir cualquiera de los volúmenes lógicos según sea necesario. Desde que agregamos usuarios, crecimos myLogicalVolume2. En ese punto, mientras el sistema de archivos / home lo admitiera, teníamos la libertad de crecer para llenar el espacio extra. Todo porque extrajimos nuestro almacenamiento de los discos físicos en los que vive.

Muy bien, eso cubre el por qué básico de Logical Volume Management Como estoy seguro de que está ansioso por aprender más sobre cómo preparar y construir sus propios sistemas, aquí hay algunos recursos excelentes para comenzar:

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html

Matt Simmons
fuente
2
+1 para una excelente descripción y visualización.
Daemon of Chaos
5

Puede usar LVM para hacer muchas cosas con discos. El principal beneficio es la capacidad de desarrollar sistemas de archivos sobre la marcha. Supongamos que está configurando un servidor de registro y sabe que en el futuro tendrá una tonelada de datos. Ext3 admite un máximo de 16 TB (más dependiendo de su kernel y versión de EL). Pero, ¿qué pasa si sabe en 2 años que necesitará 1 PB de almacenamiento? Bueno, esto crea algunos problemas. Primero, tu jefe te mirará con los ojos de ciervo en los faros cuando le digas el precio de ese hardware de almacenamiento. Esto lleva a otro problema: debe comenzar con una pequeña solución que pueda escalar hacia arriba. LVM te da esa opción. Comienzas con unos pocos discos. Luego agrega más, los convierte en un grupo lógico, los agrega al primer volumen lógico, aumenta el tamaño del volumen y finalmente aumenta el sistema de archivos. Voila, tu

Esto le ahorra tener que mover los datos del dispositivo, volver a formatear los LUN y luego volver a mover todo para realizar una actualización. Perdón por la brevedad, espero que tenga sentido.

Editar: También debo tener en cuenta que si se trata de 1 PB, no querrá usar Ext3 ... probablemente XFS.

Mateo
fuente
Realmente no compro LVM como un mecanismo para escalar de 16 TB a 1 PB: realmente necesita ZFS o similar que permite el "aprovisionamiento ligero", es decir, ahora crea un grupo de almacenamiento ZFS que totaliza aproximadamente 1 PB, pero solo está parcialmente respaldado por bloques de almacenamiento reales. A medida que crece, solo agrega almacenamiento dentro del mismo grupo. Con LVM, pasaría una enorme cantidad de tiempo cambiando el tamaño de los FS y haciendo fsck (s) cada vez que agrega almacenamiento.
RichVel
4

Hay una serie de beneficios indirectos de LVM. Lo principal que hace LVM es abstraer los discos físicos del sistema operativo . El principal beneficio de esto es simplemente flexibilidad . La mayoría de los beneficios de LVM solo se obtienen cuando tiene un sistema de archivos que admite el cambio de tamaño sobre la marcha. Lo básico que hace LVM se describe a continuación:

Las particiones del sistema existen una capa sobre el disco

Sin LVM, Linux usa las particiones ubicadas físicamente en el disco. Las particiones son nombres directos de dispositivos. La tabla de particiones reside en el MBR y normalmente (en el caso de particiones lógicas extendidas) en el registro de arranque extendido (que le permite crear una mayor cantidad de particiones). Las particiones definen un tamaño y tipoentre otros atributos (más específicamente, definen un cilindro inicial y final que esencialmente define el tamaño). Debido a que están tan estrechamente vinculados al disco, es importante configurar un esquema de partición "correcto" durante la instalación. Si de repente, una función de la máquina cambia o si eres un novato y no has entendido las implicaciones de la partición, o si estás subestimando el uso del disco en alguna parte, o los registros de una aplicación en particular, cambiar esa partición puede ser engorroso. Hay herramientas para hacerlo, pero generalmente necesita mover los datos fuera de la partición para cambiarla. Obviamente, si tiene cuatro particiones, cambiar el cilindro del extremo de la segunda partición afecta a los cilindros de inicio de la tercera y cuarta partición, por lo que se encuentra en una situación desordenada.

Los ingenuos pueden recomendar el uso de una sola partición grande, pero puede deshacerse cuando necesite introducir cuotas o aislar procesos deshonestos que llenan partes de su sistema (por ejemplo, / var / log, / tmp, etc.)

Los beneficios de esto son:

Agregar / quitar almacenamiento

Agregar almacenamiento es generalmente trivial. Si está utilizando RAID de hardware o software y agrega más discos, a menudo tendrá que jugar con enlaces simbólicos para reconstruir la matriz RAID para que Linux haga que su nuevo almacenamiento esté disponible en las ubicaciones que desee.

Tome el ejemplo de un directorio grande / home que se está llenando. Eso existe en un volumen RAID 1 de dos discos existente. Desea agregar dos discos más. Los configura en una configuración RAID 1 de hardware. Sin LVM, tiene un par de opciones:

  1. Reconstruya la matriz de incursiones completa en una configuración 1 + 0 que requiere mover datos fuera de la máquina, reconstruirlos y volverlos a encender.
  2. Cree un nuevo grupo de volúmenes RAID 1 que esté separado. Linux ya tiene el primer volumen RAID montado en / home, por lo que debe montar el segundo volumen RAID en / home1 o similar. Ahora, para obtener las rutas adecuadas para los usuarios que sean consistentes con la primera, es posible que deba usar enlaces simbólicos para obtener el mismo efecto. Además, esta solución requiere un mantenimiento constante del volumen RAID original y una posible migración de datos de la partición original.

Con LVM, simplemente puede agregar el nuevo grupo de volúmenes RAID 1 al grupo adicional de almacenamiento, cambiar el tamaño del sistema de archivos (siempre que lo admita) y listo, / home ahora es repentinamente más grande. No necesita vincular nada ni realizar tareas de mantenimiento en los datos potencialmente móviles de / home a / home1 o viceversa. Enjuague, lave, repita para futuras actualizaciones de disco.

Mantenimiento en línea

La mayoría de las tareas de LVM, siempre que el hardware lo admita, se pueden realizar en línea, sin reiniciar la máquina. Si puede intercambiar discos en caliente en un sistema, puede agregar discos nuevos y, posteriormente, eliminar discos antiguos (quizás más pequeños) para aumentar los requisitos de almacenamiento del sistema.

Uno de los principales problemas con los volúmenes LVM es que a medida que se acercan a la capacidad, la fragmentación puede convertirse en un problema en mi experiencia. Volúmenes> 90%, y realmente> 95% pueden significar que puede terminar con una fragmentación incorrecta en el disco dependiendo del uso del disco y los tipos de archivo. Rara vez es algo de lo que preocuparse demasiado, ese es el caso con cualquier tipo de gestión de volumen / partición, pero la fragmentación en la capa de volumen en lugar de en la partición es la preocupación aquí.

Philip Reynolds
fuente
Buena respuesta sobre los beneficios, pero en su punto (2) creo que quiere decir "crear un nuevo volumen RAID 1 que ..." en lugar de crear un VG, ya que esto es en el caso no LVM y presumiblemente usando RAID de hardware como se mencionó .
RichVel
1

Debería haber proporcionado más información sobre la situación en la que va a aplicar esto, de esa manera podemos dar respuestas específicas en lugar de respuestas amplias posiblemente no relacionadas (no puedo comentar más, lo habría dicho en un comentario).

Ahora, sobre la pregunta en sí, tiene fácil creación, cambio de tamaño y eliminación de volúmenes (también conocido como particiones), y otra buena característica (dependiendo de su situación) es la capacidad de crear instantáneas de un volumen.

No disponible
fuente
1

Aunque ya está seleccionado la mejor respuesta, me gustaría aportar mi opinión sobre este tema. Desde mi experiencia, cuestionaría la utilidad de LVM si tiene una unidad física o incluso si tiene varias unidades (personalmente nunca uso LVM en la unidad del sistema). Sin embargo, donde LVM es realmente indispensable es encima del RAID de hardware. Esto permite separar claramente las funciones de RAID y LVM: usted usa RAID para administrar las características de confiabilidad y rendimiento de su almacenamiento y usa LVM para asignar volúmenes reales al sistema. A veces, esta funcionalidad se superpone, es decir, LVM puede proporcionar la funcionalidad de RAID-0 y RAID-1, pero no recomendaría usar ninguno de los dos con una compilación seria.

Básicamente, RAID y LVM pertenecen juntos, por lo general, usar uno sin el otro es subóptimo.

dtoubelis
fuente