GNU/Linux >> Tutoriales Linux >  >> Linux

Administrador de volúmenes lógicos (LVM) versus partición estándar en Linux

La capacidad de almacenamiento del servidor se ha administrado a través de tamaños de unidades de disco y configuraciones de partición durante décadas. Claramente, esas estrategias funcionan bien y son confiables. Sin embargo, hay muchos beneficios al repensar la administración del almacenamiento en servidores locales. Este artículo compara la gestión y el particionamiento de almacenamiento estándar con Logical Volume Manager (LVM). También demuestra algunos comandos básicos para cada enfoque.

Gestión de almacenamiento tradicional

Utilizo la frase gestión de almacenamiento tradicional para describir el proceso de creación de particiones, formateo y montaje de la capacidad de almacenamiento de una unidad de disco duro básica. Yo comparo esta partición estándar con un método alternativo llamado Logical Volume Manager o LVM.

El espacio de almacenamiento generalmente se administra en función de la capacidad máxima de las unidades de disco duro individuales. El resultado es que cuando un administrador de sistemas piensa en el almacenamiento, lo hace en función de cada unidad. Por ejemplo, si un servidor tiene tres unidades de disco duro de 1 TB cada una, el administrador del sistema considera el almacenamiento literalmente, Tengo tres unidades de 1 TB para trabajar .

Repasemos rápidamente la gestión de almacenamiento tradicional. Este es un escenario de ejemplo:

1. Instale una nueva unidad de disco duro

Compre una unidad de disco duro de un terabyte (1 TB) y luego instálela físicamente en el servidor.

2. Particionar el disco

Usar fdisk o gparted para crear una o más particiones. Es importante tener en cuenta que las particiones no pueden consumir más del total de 1 TB de capacidad del disco.

Ejemplo fdisk comando:

# fdisk /dev/sdb

No cubriré la sintaxis para fdisk en este artículo, pero supongamos que creé una sola partición que consume todo el disco de 1 TB. La partición es /dev/sdb1 .

Muestre la capacidad usando /proc/partitions y lsblk contenido:

# cat /proc/partitions
# lsblk

3. Crear un sistema de archivos

Cree un sistema de archivos en la nueva partición utilizando mkfs dominio. Podrías usar ext4 o XFS predeterminado de RHEL sistema de archivos.

# mkfs.ext4 /dev/sdb1

Mientras XFS es el predeterminado de Red Hat, puede que no sea tan flexible cuando se combina con LVM como ext4 . XFS Los sistemas de archivos se pueden ampliar pero no reducir fácilmente. Ampliaré esa idea más hacia el final del artículo.

4. Crear un punto de montaje

El resto de este proceso es relativamente estándar. Primero, cree un directorio para que sirva como punto de montaje. A continuación, monte manualmente la partición en el punto de montaje.

# mkdir /newstorage
# mount /dev/sdb1 /newstorage

5. Confirme la capacidad de almacenamiento

Usa el du comando para confirmar que se puede acceder al espacio de almacenamiento y que tiene el tamaño esperado.

# du -h /newstorage

Nota :El -h opción muestra la salida de du en términos de capacidad que sean fáciles de entender para los humanos, como GB o TB.

6. Configure el espacio para montar en el arranque

Edite el /etc/fstab archivo para montar el sistema de archivos en el arranque. Si necesita un recordatorio en /etc/fstab , consulte el artículo de Tyler Carrigan Una introducción al archivo /etc/fstab de Linux aquí en Habilitar Sysadmin.

Administrador de volumen lógico (LVM)

La capacidad de almacenamiento tradicional se basa en la capacidad del disco individual. LVM utiliza un concepto diferente. El espacio de almacenamiento se administra combinando o agrupando la capacidad de las unidades disponibles. Con el almacenamiento tradicional, tres discos de 1 TB se manejan individualmente. Con LVM, esos mismos tres discos se consideran 3 TB de capacidad de almacenamiento agregado. Esto se logra designando los discos de almacenamiento como Volúmenes físicos (PV), o capacidad de almacenamiento utilizable por LVM. Luego, los PV se agregan a uno o más Grupos de volumen (VG). Los VG están tallados en uno o más volúmenes lógicos (LV), que luego se tratan como particiones tradicionales.

Fuente :Descripción general de la arquitectura LVM de Red Hat

1. Instale una nueva unidad de disco duro

Obviamente, es necesario que haya un disco de almacenamiento disponible. Tal como vimos anteriormente, debe instalar físicamente una unidad en el servidor.

2. Designar volúmenes físicos

Los volúmenes físicos (PV) son discos o particiones que están disponibles para LVM como capacidad de almacenamiento potencial. Tienen identificadores y metadatos que describen cada PV. Es interesante notar que, a diferencia de RAID, los PV no tienen que ser del mismo tamaño o estar en discos que tengan la misma velocidad. Puede mezclar y combinar tipos de unidades para crear PV. Para implementar LVM, primero designe una unidad como volumen físico.

Comando para crear un PV:

# pvcreate /dev/sdb1
# pvcreate /dev/sdc

Estos dos ejemplos de comandos son ligeramente diferentes. El primer comando designa la partición 1 en el disco de almacenamiento b como VP. El segundo comando establece la capacidad total del disco de almacenamiento c como PV.

Muestra la capacidad fotovoltaica e información adicional:

# pvdisplay

Este comando muestra todos los volúmenes físicos configurados en el servidor.

3. Administrar grupos de volumen

Una vez que uno o más de los discos están disponibles para LVM como volúmenes físicos, la capacidad de almacenamiento se combina en grupos de volúmenes (VG). Puede haber más de un VG en un servidor y los discos pueden ser miembros de más de un VG (pero los PV solo pueden ser miembros de un VG).

Usa el vgcreate comando para crear un nuevo grupo de volúmenes. El VG debe tener al menos un miembro. La sintaxis del comando es:

vgcreate name-of-new-VG PV-members

Use el siguiente comando para crear un grupo de volúmenes llamado vg00 con /dev/sdb1 y /dev/sdc como miembros:

# vgcreate vg00 /dev/sdb1 /dev/sdc

Mostrar información para un VG llamado vg00 :

# vgdisplay vg00

4. Administrar volúmenes lógicos

El VG se puede subdividir en uno o más volúmenes lógicos (LV). Estos volúmenes lógicos se utilizan luego como si fueran particiones tradicionales. El VG tiene una capacidad total, y luego una parte de esa capacidad se asigna a un volumen lógico.

El lvcreate comando talla la capacidad de almacenamiento de un VG. Hay algunas opciones a tener en cuenta.

La sintaxis para lvcreate El comando es el siguiente:

lvcreate -L size -n lvname vgname

Aquí está el comando para crear un 10 Volumen lógico GB llamado sales-lv tallado en el vg00 Grupo de volumen:

# lvcreate -L 10G -n sales-lv vg00

Como recordará, creamos el vg00 Grupo de volúmenes de dos volúmenes físicos, /dev/sdb1 y /dev/sdc . Entonces, en resumen, combinamos la capacidad de /dev/sdb1 y /dev/sdc en vg00 , luego talló un volumen lógico llamado sales-lv de ese espacio de almacenamiento agregado.

Puedes usar la lvdisplay comando para ver la configuración del Volumen Lógico.

# lvdisplay /dev/vg00/sales-lv

5. Aplicar un sistema de archivos y establecer un punto de montaje

Una vez que se crea el LV, se administra como cualquier otra partición. Necesita un sistema de archivos y un punto de montaje, tal como lo configuramos en la sección anterior de administración de particiones estándar.

  1. Ejecute mkfs.ex4 comando en el LV.
  2. Cree un punto de montaje utilizando mkdir.
  3. Monte manualmente el volumen usando el mount comando, o edite el /etc/fstab archivo para montar el volumen automáticamente cuando se inicia el sistema.
  4. Use el df -h comando para verificar que la capacidad de almacenamiento está disponible.

[ También te puede interesar: Introducción al Administrador de volúmenes lógicos ]

Capacidad de escalado

En esta etapa, hemos visto la configuración de LVM, pero realmente aún no hemos podido ver los muchos beneficios. Uno de los beneficios de las configuraciones de LVM es la capacidad de escalar la capacidad de almacenamiento de manera fácil y rápida. Por lo general, por supuesto, los administradores de sistemas necesitan escalar (aumentar la capacidad). Vale la pena señalar que también puede reducir la capacidad de almacenamiento con LVM. Eso significa que si la capacidad de almacenamiento está sobreasignada (configuró mucho más almacenamiento del que necesitaba), puede reducirla. Cubriré ambos escenarios en esta sección.

Empecemos por aumentar la capacidad.

Aumentar la capacidad

Puede agregar capacidad de almacenamiento al volumen lógico. Esto es útil si los usuarios consumen más espacio de lo previsto. El proceso es bastante lógico:

  1. Agregue un disco y configúrelo como PV.
  2. Agrégalo a un VG.
  3. Agregue la capacidad al LV y luego extienda el sistema de archivos.

1. Instale un disco de almacenamiento y luego configúrelo como PV

Para aumentar la capacidad, instale un disco nuevo y configúrelo como PV, según los pasos anteriores. Si ya hay un disco con espacio libre disponible, también puede usarlo.

Aquí hay un recordatorio del comando para crear un PV:

# pvcreate /dev/sdb2

En este caso, designo la partición 2 en el disco /dev/sdb como el nuevo PV.

2. Añadir espacio al VG

Una vez que se designa la nueva capacidad para LVM, puede agregarla al VG, aumentando el tamaño del grupo.

Ejecute este comando para agregar un nuevo PV a un VG existente:

# vgextend vg00 /dev/sdb2

Ahora el grupo de almacenamiento es más grande. El siguiente paso es agregar la capacidad aumentada al volumen lógico específico. Puede asignar parte o la totalidad del espacio de almacenamiento de PV que acaba de agregar al grupo al LV existente.

3. Añadir espacio al LV

A continuación, agregue parte o la totalidad del nuevo espacio de almacenamiento VG al LV que necesita expandirse.

Ejecute el lvextend comando para extender el LV a un tamaño dado:

# lvextend -L3T /dev/vg00/sales-lv

Ejecute el lvextend comando para agregar 1 GB de espacio al tamaño existente:

# lvextend -L+1G /dev/vg00/sales-lv

4. Amplíe el sistema de archivos para que la capacidad de almacenamiento esté disponible

Finalmente, extienda el sistema de archivos. Ambos ext4 y XFS admite esta capacidad, por lo que cualquier sistema de archivos está bien.

Desmonte el sistema de archivos usando umount comando:

# umount /newstorage

Este es el comando básico para ext4 :

# resize2fs /dev/vg00/sales-lv 3T

Reducir capacidad

Reducir el espacio de almacenamiento es una tarea menos común, pero vale la pena señalarlo. El proceso ocurre en el orden opuesto a la expansión del almacenamiento.

Nota :XFS los sistemas de archivos no se reducen realmente. En su lugar, haga una copia de seguridad del contenido y luego restáurelo a un LV recién redimensionado. Puede usar el xfsdump utilidad para lograr esto. El ext4 El sistema de archivos se puede reducir. Ese es el sistema de archivos en el que me centro en esta sección. Como vimos anteriormente con la extensión del sistema de archivos, el volumen debe desmontarse. El comando exacto variará dependiendo de su nombre de LV.

# umount /dev/vg00/sales-lv

1. Reducir el sistema de archivos

A continuación, utilice el resize2fs comando para reducir el tamaño del sistema de archivos. Se recomienda ejecutar fsck en ext4 sistemas de archivos antes de reducirlos. También se recomienda que haga una copia de seguridad de los datos en el LV en caso de que ocurra algo inesperado.

Este es un ejemplo de cómo reducir un ext4 sistema de archivos:

# resize2fs /dev/vg00/sales-lv 3T

Nota :No puede reducir un sistema de archivos a un tamaño menor que la cantidad de datos almacenados en él.

2. Reducir el VI

Usa el lvreduce Comando para reducir el espacio de almacenamiento asignado al LV. Esto devuelve la capacidad de almacenamiento potencial al VG.

# lvreduce -L 2T vg00/sales-lv

Es fundamental darse cuenta de que el comando anterior establece el sales-lv en 2T . no eliminar dos terabytes del LV existente. Configura el LV en dos terabytes. Es posible decirle a lvreduce para restar una cantidad de espacio de la capacidad existente usando un comando muy similar:

# lvreduce -L -2T vg00/sales-lv

En este caso, agregué un - (guión) antes del 2T tamaño, lo que indica que quiero que se reste esa cantidad de espacio del sales-lv existente capacidad. La diferencia entre los dos comandos es pequeña pero importante.

Ahora tiene la capacidad devuelta al VG para su uso en otro LV. Puede usar los comandos de extensión discutidos anteriormente para reasignar esta capacidad. El VG también se puede encoger.

Flexibilidad

La capacidad también se puede reasignar fácilmente con LVM. Puede reducir la capacidad en un VG y agregarlo a otro. Esto se logra reduciendo el sistema de archivos y luego eliminando el LV del VG. Digamos que tienes un servidor con 10 TB de capacidad. Usando los procesos anteriores, ha creado dos LV de 5 TB cada uno. Después de algunas semanas, descubre que debería haber creado LV de 7 TB y 3 TB en su lugar. Puede eliminar 2 TB de capacidad de uno de los grupos de volumen y luego agregar esa capacidad al otro VG. Esto es mucha más flexibilidad que las ofertas de partición tradicionales.

LVM también admite configuraciones RAID, duplicación y otras configuraciones avanzadas que lo convierten en una solución aún más atractiva. El artículo de Tyler Carrigan, Creación de volúmenes lógicos en Linux con LVM, tiene buena información sobre la división y la duplicación de volúmenes lógicos.

[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ] 

Resumir

Logical Volume Manager es una excelente manera de agregar flexibilidad a sus necesidades de almacenamiento y, en realidad, no es mucho más complicado que la administración tradicional de unidades. Hay una excelente documentación en el sitio de Red Hat y los cursos de capacitación oficiales también la cubren de manera muy efectiva.

Una de las cosas que aprecio de LVM es la estructura de comandos lógicos. La mayoría de los comandos de gestión están relacionados y, por lo tanto, son relativamente fáciles de recordar. El punto de la siguiente tabla es no para resumir los comandos, sino para que se dé cuenta de que todos los comandos son muy similares y, por lo tanto, fáciles de usar:

opciones de lvcreate
Opción Descripción
-n Nombre de LV - ej. ventas-lv
-L Tamaño en G o T - ej. 10G
-q Silencioso, suprime la salida de comandos
-v Modo detallado que proporciona detalles adicionales

La próxima vez que instale un servidor de archivos local, considere usar LVM en lugar de las técnicas tradicionales de administración de almacenamiento. Puede que se lo agradezca meses o años después, ya que necesita ajustar la capacidad de almacenamiento del servidor.


Linux
  1. Cómo crear un sistema de archivos en una partición o volumen lógico de Linux

  2. Cómo configurar LVM en Linux / CentOS / Redhat

  3. Uso de Ansible para automatizar configuraciones de Logical Volume Manager

  4. Cómo reducir un volumen LVM en Ubuntu

  5. Intel Matrix Storage Manager frente a RAID de software de Linux

Cómo administrar el almacenamiento en Linux con LVM

Cómo crear un grupo de volúmenes en Linux con LVM

Cómo cambiar el tamaño de un volumen lógico con 5 simples comandos LVM

Copia de seguridad y restauración de instantáneas LVM en Linux

Gestión de volúmenes lógicos explicada en Linux

¿Cuáles son los beneficios del Administrador de volúmenes lógicos?

    Se utilizan comandos similares para administrar los componentes de LVM
    Comando Descripción
    pvcreate Crear volumen físico
    pantalla pv Mostrar información de volumen físico
    pv Mostrar información de volumen físico
    pvremove Eliminar volumen físico
    vgcreate Crear grupo de volúmenes
    pantalla vg Mostrar información del grupo de volúmenes
    vs Mostrar información del grupo de volúmenes
    vgremove Eliminar grupo de volúmenes
    vgextender/vgreduce Ampliar o reducir grupo de volumen
    lvcreate Crear volumen lógico
    pantalla lv Mostrar información de volumen lógico
    lvs Mostrar información de volumen lógico
    lvremove Eliminar volumen lógico
    lvextend/lvextend Ampliar o reducir el volumen lógico