18Aug

Cómo administrar y usar LVM( gestión de volúmenes lógicos) en Ubuntu

En nuestro artículo anterior, le dijimos qué es LVM y para qué le gustaría usarlo, y hoy le mostraremos algunas de las herramientas de administración clave de LVM para que tenga confianza al configurar o expandir su instalación..

Como se dijo anteriormente, LVM es una capa de abstracción entre su sistema operativo y los discos duros físicos. Lo que eso significa es que sus discos duros físicos y sus particiones ya no están vinculados a los discos duros y las particiones en las que residen. Más bien, los discos duros y las particiones que ve su sistema operativo pueden ser cualquier cantidad de discos duros separados agrupados o en un RAID de software.

Para administrar LVM hay herramientas de GUI disponibles, pero para comprender realmente qué está pasando con su configuración de LVM, probablemente sea mejor saber cuáles son las herramientas de línea de comandos. Esto será especialmente útil si está administrando LVM en un servidor o distribución que no ofrece herramientas GUI.

La mayoría de los comandos en LVM son muy similares entre sí.Cada comando válido va precedido por uno de los siguientes:

  • Volumen físico = pv
  • Volumen Grupo = vg
  • Volumen lógico = lv

Los comandos de volumen físico son para agregar o eliminar discos duros en grupos de volúmenes. Los comandos del grupo de volúmenes son para cambiar qué conjunto abstraído de particiones físicas se presentan a su operación en volúmenes lógicos. Los comandos de volumen lógico presentarán los grupos de volúmenes como particiones para que su sistema operativo pueda usar el espacio designado.

Hoja de trucos de LVM descargable

Para ayudarte a comprender qué comandos están disponibles para cada prefijo, creamos una hoja de trucos de LVM.Cubriremos algunos de los comandos en este artículo, pero todavía hay mucho que puede hacer que no se tratará aquí.

Todos los comandos en esta lista deberán ejecutarse como root porque está cambiando la configuración de todo el sistema que afectará a toda la máquina.

( Haga clic en la miniatura para obtener una imagen de tamaño completo)

Cómo ver la información actual de LVM

Lo primero que debe hacer es verificar cómo está configurado su LVM.Los comandos s y display funcionan con volúmenes físicos( pv), grupos de volúmenes( vg) y volúmenes lógicos( lv), por lo que es un buen lugar para comenzar a tratar de descubrir la configuración actual.

El comando de visualización formateará la información para que sea más fácil de entender que el comando s. Para cada comando, verá el nombre y la ruta del pv / vg y también debe proporcionar información sobre el espacio libre y usado.

La información más importante será el nombre de PV y el nombre de VG.Con esas dos piezas de información, podemos seguir trabajando en la configuración de LVM.

Creación de un volumen lógico

Los volúmenes lógicos son las particiones que su sistema operativo usa en LVM.Para crear un volumen lógico, primero tenemos que tener un volumen físico y un grupo de volúmenes. Aquí están todos los pasos necesarios para crear un nuevo volumen lógico.

Crear el volumen físico

Empezaremos desde el principio con un nuevo disco duro sin particiones ni información sobre él. Comience por encontrar con qué disco va a trabajar.(/dev/ sda, sdb, etc.)

Nota: Recuerde que todos los comandos deberán ejecutarse como root o al agregar 'sudo' al comienzo del comando.

fdisk -l

Si su disco duro nunca se ha formateado o particionado antes, probablemente verá algo como esto en la salida de fdisk. Esto está completamente bien porque vamos a crear las particiones necesarias en los siguientes pasos.

Nuestro nuevo disco está ubicado en /dev/ sdb, así que use fdisk para crear una nueva partición en la unidad.

Hay una gran cantidad de herramientas que pueden crear una nueva partición con una GUI, incluyendo Gparted, pero como ya tenemos la terminal abierta, usaremos fdisk para crear la partición necesaria.

Desde un terminal escriba los siguientes comandos:

fdisk /dev/ sdb

Esto lo pondrá en un aviso especial de fdisk.

Ingrese los comandos en el orden dado para crear una nueva partición primaria que use el 100% del disco duro nuevo y esté lista para LVM.Si necesita cambiar el tamaño de la partición o desea varias particiones, le sugiero usar GParted o leer sobre fdisk por su cuenta.

Advertencia: los siguientes pasos formatearán su disco duro. Asegúrese de no tener ninguna información en este disco duro antes de seguir estos pasos.

  • n = crea una nueva partición
  • p = crea la partición primaria
  • 1 = hace que la partición sea la primera en el disco

Presiona enter dos veces para aceptar el primer cilindro predeterminado y el último cilindro.

Para preparar la partición que usará LVM, use los dos comandos siguientes.

  • t = cambiar el tipo de partición
  • 8e = cambios a la partición LVM tipo

Verificar y escribir la información en el disco duro.

  • p = ver la configuración de la partición para que podamos revisar antes de escribir los cambios en el disco
  • w = escribir cambios en el disco

Después de esos comandos, la indicación de fdisk debe salir y volverás al prompt bash de tu terminal.

Ingrese pvcreate /dev/ sdb1 para crear un volumen físico LVM en la partición que acabamos de crear.

Es posible que se pregunte por qué no formateamos la partición con un sistema de archivos, pero no se preocupe, ese paso viene después.


Crear volumen Grupo

Ahora que tenemos una partición designada y un volumen físico creado, necesitamos crear el grupo de volúmenes. Afortunadamente, esto solo requiere un comando.

vgcreate vgpool /dev/ sdb1

Vgpool es el nombre del nuevo grupo de volúmenes que creamos. Puede ponerle el nombre que desee, pero se recomienda poner vg en la parte delantera de la etiqueta, de modo que si lo referencia más adelante sabrá que se trata de un grupo de volúmenes.

Crear el volumen lógico

Para crear el volumen lógico que usará LVM:

lvcreate -L 3G -n lvstuff vgpool

El comando -L designa el tamaño del volumen lógico, en este caso 3 GB, y el comando -n nombra elvolumen. Se hace referencia a Vgpool para que el comando lvcreate sepa de qué volumen obtener el espacio.

Formatee y monte el volumen lógico

Un último paso es formatear el nuevo volumen lógico con un sistema de archivos. Si desea ayuda para elegir un sistema de archivos Linux, lea cómo podemos ayudarle a elegir el mejor sistema de archivos para sus necesidades.

mkfs -t ext3 /dev/vgpool/ lvstuff

Cree un punto de montaje y luego monte el volumen en algún lugar donde pueda usarlo.

mkdir /mnt/ cosas
mount -t ext3 /dev/vgpool/ lvstuff /mnt/ cosas

Redimensionamiento de un volumen lógico

Uno de los beneficios de los volúmenes lógicos es que puede hacer que sus acciones sean físicamente más grandes o más pequeñas sin tener que mover todo a un disco duro más grande. En cambio, puede agregar un nuevo disco duro y extender su grupo de volúmenes sobre la marcha. O si tiene un disco duro que no se utiliza, puede eliminarlo del grupo de volúmenes para reducir su volumen lógico.

Hay tres herramientas básicas para hacer que los volúmenes físicos, los grupos de volúmenes y los volúmenes lógicos sean más grandes o más pequeños.

Nota: Cada uno de estos comandos deberá ir precedido por pv, vg o lv, dependiendo de con qué esté trabajando.

  • resize - puede reducir o expandir volúmenes físicos y volúmenes lógicos pero no grupos de volúmenes
  • extender - puede hacer grupos de volúmenes y volúmenes lógicos más grandes pero no más pequeños
  • reducir - puede hacer grupos de volúmenes y volúmenes lógicos más pequeños pero no más grandes

Veamos un ejemplode cómo agregar un nuevo disco duro al volumen lógico "lvstuff" que acabamos de crear.

Instalar y formatear el nuevo disco duro

Para instalar un disco duro nuevo, siga los pasos anteriores para crear una nueva partición y agregue cambiar su tipo de partición a LVM( 8e).Luego use pvcreate para crear un volumen físico que LVM pueda reconocer.

Agregue disco duro nuevo al grupo de volúmenes

Para agregar el nuevo disco duro a un grupo de volúmenes, solo necesita saber cuál es su nueva partición, /dev/ sdc1 en nuestro caso, y el nombre del grupo de volúmenes al que desea agregarlo.

Esto agregará el nuevo volumen físico al grupo de volúmenes existente.

vgextend vgpool /dev/ sdc1

Extender volumen lógico

Para cambiar el tamaño del volumen lógico, debemos decir cuánto queremos ampliar por tamaño en lugar de por dispositivo. En nuestro ejemplo, acabamos de agregar un disco duro de 8 GB a nuestra vgpool de 3 GB.Para hacer que ese espacio sea utilizable, podemos usar lvextend o lvresize.

lvextend -L8G /dev/vgpool/ lvstuff

Si bien este comando funcionará, verá que en realidad cambiará el tamaño de nuestro volumen lógico a 8 GB en lugar de agregar 8 GB al volumen existente como queríamos. Para agregar los últimos 3 gigabytes disponibles, necesita usar el siguiente comando.

lvextend -L + 3G /dev/vgpool/ lvstuff

Ahora nuestro volumen lógico es de 11 GB de tamaño.

Sistema de archivos extendidos

El volumen lógico es de 11 GB, pero el sistema de archivos de ese volumen sigue siendo de solo 3 GB.Para que el sistema de archivos use los 11 GB completos disponibles, debe usar el comando resize2fs. Simplemente apunte resize2fs al volumen lógico de 11 GB y hará la magia por usted.

resize2fs /dev/vgpool/ lvstuff

Nota: Si está utilizando un sistema de archivos diferente además de ext3 / 4, consulte las herramientas de cambio de tamaño de los sistemas de archivos.

Reduzca el volumen lógico

Si desea eliminar un disco duro de un grupo de volúmenes, deberá seguir los pasos anteriores en orden inverso y usar lvreduce y vgreduce.

  1. cambiar el tamaño del sistema de archivos( asegúrese de mover los archivos a un área segura del disco duro antes de cambiar el tamaño)
  2. reducir el volumen lógico( en lugar de + extender también puede usar - para reducir por tamaño)
  3. eliminar el disco duro del grupo de volúmenes con vgreduce

Copia de seguridad de un volumen lógico

Snapshots es una característica que algunos sistemas de archivos avanzados más nuevos ofrecen, pero ext3 / 4 carece de la capacidad de hacer instantáneas sobre la marcha. Una de las mejores cosas sobre las instantáneas de LVM es que su sistema de archivos nunca se desconecta y puede tener tantas como quiera sin ocupar espacio extra en el disco duro.

Cuando LVM toma una instantánea, se toma una fotografía de cómo se ve exactamente el volumen lógico y esa imagen se puede usar para hacer una copia en un disco duro diferente. Mientras se realiza una copia, cualquier información nueva que deba agregarse al volumen lógico se escribe en el disco como siempre, pero los cambios se rastrean para que la imagen original no se destruya.

Para crear una instantánea necesitamos crear un nuevo volumen lógico con suficiente espacio libre para contener cualquier información nueva que se escribirá en el volumen lógico mientras realizamos una copia de seguridad. Si la unidad no se escribe activamente, puede utilizar una cantidad muy pequeña de almacenamiento. Una vez que hemos terminado con nuestra copia de seguridad, simplemente eliminamos el volumen lógico temporal y el volumen lógico original continuará normalmente.

Crear nueva instantánea

Para crear una instantánea de lvstuff use el comando lvcreate como antes pero use el indicador -s.

lvcreate -L512M -s -n lvstuffbackup /dev/vgpool/ lvstuff

Aquí hemos creado un volumen lógico con solo 512 MB porque la unidad no se está utilizando activamente. Los 512 MB almacenarán todas las escrituras nuevas mientras hacemos nuestra copia de seguridad.

Montar nueva instantánea

Al igual que antes, necesitamos crear un punto de montaje y montar la nueva instantánea para que podamos copiar los archivos desde ella.

mkdir /mnt/ lvstuffbackup
mount /dev/vgpool/ lvstuffbackup /mnt/ lvstuffbackup

Copia de instantánea y eliminación de volumen lógico

Todo lo que queda por hacer es copiar todos los archivos de /mnt/lvstuffbackup/ a un disco duro externo o subirlos para que todo esté en un solo archivo.

Nota: tar -c creará un archivo y -f dirá la ubicación y el nombre del archivo. Para obtener ayuda con el comando tar use man tar en el terminal.

tar -cf /home/rothgar/Backup/ lvstuff-ss /mnt/lvstuffbackup/

Recuerde que, mientras se realiza la copia de seguridad, todos los archivos que se escribirían en lvstuff se rastrearán en el volumen lógico temporal que creamos anteriormente. Asegúrese de tener suficiente espacio libre mientras se realiza la copia de seguridad.

Una vez que finaliza la copia de seguridad, desmonte el volumen y elimine la instantánea temporal.

umount /mnt/ lvstuffbackup
lvremove /dev/vgpool/lvstuffbackup/

Eliminación de un volumen lógico

Para eliminar un volumen lógico, primero debe asegurarse de que el volumen esté desmontado, y luego puede usar lvremove para eliminarlo. También puede eliminar un grupo de volúmenes una vez que se hayan eliminado los volúmenes lógicos y un volumen físico después de eliminar el grupo de volúmenes.

Aquí están todos los comandos que usan los volúmenes y grupos que hemos creado.

uMOunt /mnt/ lvstuff
lvremove /dev/vgpool/ lvstuff
vgremove vgpool
pvremove /dev/ sdb1 /dev/ sdc1

Eso debería cubrir la mayor parte de lo que necesita saber para usar LVM.Si tiene alguna experiencia sobre el tema, asegúrese de compartir su sabiduría en los comentarios.