Está en la página 1de 11

System Admin Linux Technical - I

LVM - Logical Volume Manager

Esquema básico de LVM.

LVM es una implementación de un administrador de volúmenes lógicos para el kernel Linux. Se escribió
originalmente en 1998 por Heinz Mauelshagen, que se basó en el administrador de volúmenes de
Veritas usado en sistemas HP-UX.
LVM incluye muchas de las características que se esperan de un administrador de volúmenes,
incluyendo:

• Redimensionado de grupos lógicos


• Redimensionado de volúmenes lógicos
• Instantáneas de sólo lectura (LVM2 ofrece lectura y escritura)
• RAID0 de volúmenes lógicos.
LVM no implementa RAID1 o RAID5, por lo que se recomienda usar software específico de RAID para
estas operaciones, teniendo las LV por encima del RAID
En la imagen mostrada podemos observar cómo trabaja LVM. Los volúmenes lógicos agrupan
particiones físicas de disco, y éstos a su vez, aunque no está representado en la figura, se engloban en
un grupo lógico. De esta forma, /home se compone de hda3, hda4 y hdb3, y a su vez, /usr engloba
a hda1, hda2, hdb1 y hdb2.

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Introducción

• La gestión de volúmenes lógicos proporciona una vista de alto nivel sobre el almacenamiento en un
ordenador, en vez de la tradicional vista de discos y particiones.
• Los volúmenes de almacenamiento bajo el control de LVM pueden ser redimensionados y movidos
a voluntad, aunque esto quizá necesite actualizar las herramientas del sistema.
• LVM también permite la administración en grupos definidos por el usuario, permitiendo al
administrador del sistema tratar con volúmenes llamados, por ejemplo, "ventas" o "desarrollo", en vez
de nombres de dispositivos físicos, como "sda" o "sdb".

Ventajas de usar LVM en un sistema pequeño


Una de las decisiones que afronta un usuario instalando GNU/Linux es cómo particionar el disco duro.
La necesidad de estimar cuanto espacio será necesario para el sistema, para los temporales o para los
datos personales, puede convertirse en algo problemático, por lo que muchos usuarios optan por crear
una partición que ocupe todo el disco y allí introducir los datos. Aun habiendo estimado correctamente
cuánto espacio se necesita para /home, /usr, /tmp, o cualquier otro directorio importante, es bastante
común que nos quedemos sin espacio en estas particiones, cuando tenemos espacio de sobra en
alguna otra.

• Con el uso de un administrador de volúmenes lógicos, el disco completo puede ser asignado a un
único grupo lógico y definir distintos volúmenes lógicos para almacenar /home u otros directorios. En
el caso de que nos quedemos sin espacio, por ejemplo, en /home, y tenemos espacio en /opt,
podríamos redimensionar /home y /opt y usar el espacio que le hemos quitado a /opt y añadírselo
a /home. Hay que tener en cuenta, que para realizar esto, nuestro sistema de ficheros debe soportar
el redimensionado por arriba y por abajo, como ReiserFS.
• Otra alternativa sería dejar una cierta cantidad de espacio del disco sin asignar y cuando fuera
necesario, expandir el volumen.

Ventajas de usar LVM en un sistema grande

• Administrar un sistema con muchos discos es un trabajo que consume tiempo, y se hace
particularmente complejo si el sistema contiene discos de distintos tamaños. Equilibrar los
requerimientos de almacenamiento de distintos usuarios (a menudo conflictivos) puede ser una tarea
muy laboriosa y compleja.
• Los grupos de usuarios (llamémosles por ejemplo administración, desarrollo, etc.) pueden tener sus
volúmenes lógicos y éstos pueden crecer lo que sea necesario, y el administrador puede realizar las
operaciones oportunas sobre dichos volúmenes.
Cuando un nuevo disco se añade al sistema, no es necesario mover los datos de los usuarios.
Simplemente se añade el nuevo disco al grupo lógico correspondiente y se expanden los volúmenes
lógicos todo lo que se considere adecuado. También se pueden migrar los datos de discos antiguos a
otros nuevos, de forma totalmente transparente al usuario.

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Anatomía de un LVM

• Un LVM se descompone en tres partes:


• Volúmenes físicos (PV): Son las particiones del disco duro con sistema de archivos LVM. (raid's)
• Volúmenes lógicos (LV): es el equivalente a una partición en un sistema tradicional. El LV es visible
como un dispositivo estándar de bloques, por lo que puede contener un sistema de archivos (por
ejemplo /home)
• Grupos de volúmenes (VG): es la parte superior de la LVM. Es la "caja" en la que tenemos nuestros
volúmenes lógicos (LV) y nuestros volúmenes físicos (PV). Se puede ver como una unidad
administrativa en la que se engloban nuestros recursos. Hay que hacer notar que mientras un PV
no se añada al VG, no podemos comenzar a usarlo.

• A su vez, un PV se divide en chunks de datos, que se conocen como PE (physical extents), que son
del mismo tamaño que los PE del VG. Además, un LV se divide también en LE (logical extents), cuyo
tamaño es el mismo para todos los LV del VG.
Por ejemplo, teniendo como referencia la imagen del comienzo del artículo, supongamos que
tenemos un VG llamado CASA, con 4MB de PE, al que queremos añadir un LV para /tmp/. Añadimos
dos particiones de disco, /dev/sda4 y /dev/sdb3, que se llamarán PV1 y PV2 (se las puede renombrar
a discreción del usuario). Los PV's pueden ser de distinto tamaño y por lo tanto, tendrán un número
distinto de PE, por lo que supongamos que tenemos para PV1 99 PE's y para PV2 248 PE's. Ahora,
podemos crear el LV que necesitamos, que puede ser de cualquier tamaño entre 1 y 347 (99+248)
PE. De esta forma se crea una tabla que relaciona PE's y LE's y si, por ejemplo, escribimos 4 MB en
el LE número 1 del LV, se corresponderán con el PE 51 de la PV1.

• La tabla que relaciona PE's y LE's, se llama tabla de mapeo, y la correspondencia puede ser de dos
tipos:
• Directo: se asigna un rango de PE's a otro rango de LE's en orden. Por ejemplo, las LE's del
número 1 al 99 se mapean sobre las PE's del 100 al 347 de PV2.
• Entrelazado: las LE's se entrelazan sobre las PE's de los volúmenes físicos, por ejemplo:

Destino Origen
Primer chunk de la LE1 Primer chunk de la PV1
Segundo chunk de la LE1 Primer chunk de la PV2
Tercer chunk de la LE1 Segundo chunk de la PV1
... ...

Instantáneas (snapshots)
Las instantáneas (snapshots) permiten al administrador crear un nuevo dispositivo que será una copia
exacta del LV, congelada en algún punto del tiempo. Normalmente esto se realiza de forma automática,
para no alterar el funcionamiento normal del sistema. Cuando la instantánea ha terminado, el
administrador puede quitar el dispositivo sin mayor complicación. Además, no es necesario que los datos
en el LV se encuentren en un estado consistente, ya que muchos sistemas de ficheros en el kernel 2.6 lo
realizan de forma automática.
INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529
Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Una diferencia importante entre la versión 1 de LVM (LVM1 a partir de ahora) y la versión 2 (LVM2) es
que, en la primera, los snapshots eran de sólo lectura, mientras que en LVM2 son de lectura y escritura.
¿Cuál es la diferencia? En LVM1, se crea lo que se llama una tabla de excepciones, que se usa para
mantener una lista de qué bloques en disco han cambiado. Si un bloque va a ser modificado en el origen,
primero se copia en la instantánea, se marca como copiado en la tabla de excepciones y luego los
nuevos datos se copian al volumen original. En LVM2, las instantáneas funcionan como en LVM1, pero
con la característica de que si los datos se escriben en el snapshot (una vez montado), ese bloque se
marca como usado en la tabla de excepciones y no se copia al volumen original. Esta característica es
muy útil debido a que podemos crear nuestra instantánea, montarla y probar un programa o un nuevo
navegador de ficheros. Si ocurre algo desastroso, la desmontamos, la borramos y volvemos a colocar el
volumen original.

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
XFS – File System
XFS

• Silicon Graphics
Desarrollador
• Red Hat

Nombre completo XFS

Sistemas operativos compatibles IRIX, Linux, FreeBSD

Introducción 1994 (IRIX v5.3)

Estructuras

Contenido del directorio Árbol-B+s

Límites

Máxima dimensión de archivo 8 exabytes

Tamaño máximo del nombre de 255 bytes


archivo

Tamaño máximo del volumen 16 exabytes

Características

Fechas registradas Sí

Bifurcaciones Sí

Permisos de acceso a archivos Sí

Compresión transparente No

Cifrado transparente No

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
XFS es un sistema de archivos de 64 bits con registro de bitácora o journaling de alto rendimiento creado
por SGI (antiguamente Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX. En mayo de
2000, SGI liberó XFS bajo una licencia de código abierto.
XFS se incorporó a Linux a partir de la versión 2.4.25, cuando Marcelo Tosatti (responsable de la rama
2.4) lo consideró lo suficientemente estable para incorporarlo en la rama principal de desarrollo del kernel.
Los programas de instalación de las distribuciones de SuSE, Gentoo, Mandriva, Slackware, Fedora
Core, Ubuntu y Debian ofrecen XFS como un sistema de archivos más. En FreeBSD el soporte para solo-
lectura de XFS se añadió a partir de diciembre de 2005 y en junio de 2006 un soporte experimental de
escritura fue incorporado a FreeBSD-7.0-CURRENT y luego lamentablemente eliminado en FreeBSD
10.0.

Historia
XFS es el más antiguo de los sistemas de archivos con journaling disponible para la plataforma UNIX,
tiene un código maduro, estable y bien depurado. Su desarrollo lo comenzó en 1993 en la compañía
Silicon Graphics Inc., y apareció por primera vez en el IRIX 5.3 en 1994. El sistema de archivos fue
liberado bajo la GNU General Public License en mayo de 2000 y posteriormente portado a GNU/Linux,
apareciendo por primera vez en una distribución entre el 2001 y el 2002.

Características
Capacidad
XFS soporta un sistema de archivos de hasta 8 exabytes, aunque esto puede variar dependiendo de los
límites impuestos por el sistema operativo. En sistemas GNU/Linux de 32 bits, el límite es 16 terabytes.

Registro de bitácora (journaling)


XFS provee soporte para llevar un registro (journaling), donde los cambios al sistema de archivos primero
son escritos a un diario o journal antes de que se actualicen los datos del disco. El journal es
un buffer circular de bloques del disco que no son parte del sistema de archivos. En XFS el registro
(journal) contiene entradas 'lógicas' que describen a un alto nivel las operaciones que se están realizando,
al contrario de otros sistemas de archivo con un registro (journal) 'físico', que guardan una copia de los
bloques modificados durante cada transacción. Las actualizaciones del registro (journal) se realizan
asincrónicamente para evitar una bajada en el rendimiento. En el caso de una caída repentina del
sistema, las operaciones inmediatamente anteriores a la caída pueden ser terminadas, garantizando así
la consistencia del sistema. La recuperación se realiza automáticamente a la hora del montaje del sistema
de archivos y la velocidad de recuperación es independiente del tamaño del sistema de archivos. Incluso
si alguna información que fuese modificada inmediatamente antes de la caída del sistema no fuese
escrita al disco, XFS se encarga de borrar todos los bloques de datos sin escribir, eliminando así
cualquier compromiso de seguridad.

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Grupos de asignación
Los sistemas de archivos XFS están particionados internamente en grupos de asignación, que son
regiones lineales de igual tamaño dentro del sistema de archivos. Los archivos y los directorios pueden
crear grupos de asignación. Cada grupo gestiona sus inodos y su espacio libre de forma independiente,
proporcionando escalabilidad y paralelismo — múltiples hilos pueden realizar operaciones de E/S
simultáneamente en el mismo sistema de archivos.

LVM
Es posible aumentar la capacidad de sistemas de ficheros XFS: xfsgrowfs es ideal para particiones LVM

Actualidad
La distribución comercial de linux Red Hat Enterprise Linux incorporó en su versión 7 XFS como su
sistema de archivos por defecto, destacando su capacidad de manejar una partición de hasta 500
terabytes.
La versión de OpenSUSE "Leap" 42.1, liberada el 4 de noviembre de 2015, propone por defecto este
sistema de archivos para algunos puntos de montaje como /home.
CentOS 7.2, versión liberada el 19 de noviembre de 2015, propone el uso de XFS para sus puntos de
montaje "/home" y "/" al igual que lo hace Red Hat.

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Gestión de LVM en Centos 7
Instalar herramienta ssm
yum -y install system-storage-manager

Listando todo
ssm list
------------------------------------------------------------------------------
Device Free Used Total Pool Mount point
------------------------------------------------------------------------------
/dev/sda 100.00 GB PARTITIONED
/dev/sda1 20.00 GB /boot
/dev/sda2 0.00 KB 79.75 GB 79.75 GB infonet
/dev/sdb 100.00 GB
/dev/sdb1 0.00 KB 99.75 GB 99.75 GB infonet
/dev/sdc 200.00 GB
/dev/sdc1 0.00 KB 199.75 GB 199.75 GB infonet
/dev/sdd 200.00 GB
/dev/sdd1 0.00 KB 199.75 GB 199.75 GB infonet
/dev/sde 931.51 GB
/dev/sde1 931.51 GB /run/media/root/POLCRITO_HD
------------------------------------------------------------------------------
-----------------------------------------------------
Pool Type Devices Free Used Total
-----------------------------------------------------
infonet lvm 4 0.00 KB 579.00 GB 579.00 GB
-----------------------------------------------------
--------------------------------------------------------------------------------------------------------
Volume Pool Volume size FS FS size Free Type Mount point
--------------------------------------------------------------------------------------------------------
/dev/infonet/root infonet 379.00 GB xfs 378.81 GB 374.09 GB linear /
/dev/infonet/swap infonet 16.00 GB linear
/dev/infonet/var infonet 64.00 GB xfs 63.97 GB 63.68 GB linear /var
/dev/infonet/home infonet 80.00 GB xfs 79.96 GB 79.95 GB linear /home
/dev/infonet/opt infonet 40.00 GB xfs 39.98 GB 38.83 GB linear /opt
/dev/sda1 20.00 GB xfs 19.99 GB 19.76 GB part /boot
/dev/sde1 931.51 GB ntfs /run/media/root/POLCRITO_HD

Agregando otro disco duro /dev/sde al pool “infonet”


Si lo agregamos en Vmware debemos reiniciar linux
Debemos saber que nombre le dio Linux al nuevo disco, ejecutamos este comando antes de reiniciar.
ls /dev/sd*
Volvemos a ejecutar el mismo comando, después que se reinició Linux y descubrirás el nuevo disco.
ls /dev/sd*
Ahora agregamos el nuevo disco
ssm add -p infonet /dev/sde
Physical volume "/dev/sde" successfully created.
Volume group "infonet" successfully extended
INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529
Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Aumentar el tamaño del volumen /opt, en MB
ssm resize -s +50200M /dev/infonet/opt
Size of logical volume infonet/opt changed from 40.00 GiB (10240 extents) to 89.02 GiB (22790 extents).
Logical volume infonet/opt successfully resized.
meta-data=/dev/mapper/infonet-opt isize=512 agcount=4, agsize=2621440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=10485760, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 10485760 to 23336960

Comprobar nuevo tamaño de /opt


df -h /opt

Creando Grupo de volumen “infonet1 y Volumen Lógico “data1”, inicialmente con un


Volumen Físico/dev/sdf y se montará en /mnt/polcrito
ssm create -s 50000M -n data1 --fstype xfs -p infonet1 /dev/sdf /mnt/polcrito
Not enough space (20971520.0 KB) in the pool 'infonet1' to create volume! Adjust (N/y/q) ? Y
Physical volume "/dev/sdf" successfully created.
Volume group "infonet1" successfully created
Logical volume "data1" created.
meta-data=/dev/infonet1/data1 isize=512 agcount=4, agsize=1310464 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5241856, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Directory '/mnt/polcrito' does not exist! Create (Y/n/q) ? Y

Eliminar volúmenes
ssm remove infonet

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Gestión de XFS en Centos 7
Visualizar particiones montadas en el sistema y que sistema de archivos están usando
df -ht

Listar los dispositivos de discos reconocidos por Linux


Si agregaste un disco (memoria usb, disco externo, etc.) al sistema, el ultimo archivo nuevo, sera el
disco a usar
ls /dev/sd*

Usando herramienta fdisk para el disco /dev/sde, para crear particiones, etc.
fdisk /dev/sde
OPCIONES:
P listar tabla de particiones
N crear partición
D eliminar partición
W grabar los cambios
M ayuda

Creación de sistema de archivos XFS (formatear) y grabando en modo forzoso para la


partición /dev/sde1
mkfs.xfs –f /dev/sde1

Montar partición /dev/sde1 en el directorio /mnt/disco_e_xfs


mkdir /mnt/disco_e_xfs
mount /dev/sde1 /mnt/disco_e_xfs

Expandir volúmenes
Verificar sistema de archivos de forma, espacio libre y usado, para el volumen opt, del grupo infonet
xfs_info /dev/infonet/opt

Expande el sistema de archivos hasta una cantidad específica de bloques de datos


xfs_growfs /dev/infonet/opt -D 1986208

Expande el sistema de archivos al máximo


xfs_growfs /dev/infonet/opt

La opción de tamaño -D hace que el sistema de archivos crezca al tamaño especificado (expresado en
bloques de sistema de archivos). Sin la opción de tamaño -D, xfs_growfs hará crecer el sistema de
archivos al tamaño máximo admitido por el dispositivo. Antes de crear un sistema de archivos XFS con
tamaño -D, asegúrese de que el dispositivo de bloques subyacente sea del tamaño adecuado para
mantener el sistema de archivos más tarde. Utilice los métodos de redimensionamiento apropiados para
el dispositivo de bloque afectado. Mientras que los sistemas de archivos XFS pueden crecer mientras
están montados, su tamaño no puede reducirse en absoluto. El sistema de archivos se puede hacer

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
crecer con la partición activa y montada. Cabe señalar que XFS carece de soporte para reducir el tamaño
del sistema de archivos.

La única forma de poder reducir un sistema de archivos XFS sería respaldar éste con xfsdump, volver a
formatear con mkfs.xfs y restaurar con xfsrestore.

Reparación de un sistema de archivos XFS


Para reparar un sistema de archivos XFS, use xfs_repair:
xfs_repair /dev/sde1

Si se trata de un caso donde el sistema inicia en modo de sólo lectura y se requiere reparar sistema
de archivos, puede utilizarse xfs_repair con la opción -d.
xfs_repair -d /dev/sde1

La utilidad xfs_repair es altamente escalable y está diseñada para reparar incluso sistemas de archivos
muy grandes con muchos inodos de manera eficiente. A diferencia de otros sistemas de archivos Linux,
xfs_repair no se ejecuta en el momento del arranque, incluso cuando un sistema de archivos XFS no se
desinstaló limpiamente. En el caso de un desmontaje sucio, xfs_repair simplemente reproduce el registro
en tiempo de montaje, lo que garantiza un sistema de archivos coherente.

Desfragmentación de sistema de archivos XFS


La defragmentación se puede realizar con toda seguridad con el sistema de archivos activo y montado.
Se utiliza la herramienta xfs_fsr con la ruta del dispositivo de la partición deseada.
xfs_fsr /dev/sde1

Bibliografía
https://es.wikipedia.org/wiki/Logical_Volume_Manager
https://es.wikipedia.org/wiki/XFS

INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529


Email: cursos@infonetperu.pe / polcrito@hotmail.com

También podría gustarte